Linux 详解文件权限,文件属性,系统优化,搭建yum私有仓库
1.权限
某一个用户针对某一个文件的权限。
1、权限分为3个部分
可读(r)
可写(w)
可执行(x) (执行脚本 == 运行脚本)
没有对应权限(-)
2、权限位
drwxr-xr-x
抛开第一个d是文件类型,剩下的9个每3个为一组
权限位主要分为三个部分,分别是属主、属组以及其他人
rwx : 属主
r-x : 属组
r-x : 其他人
r可读 w可写 x可执行
(这三个顺序一般情况下是不会变的.有且仅有以下几种可能: ---,r--,rw-,r-x,rwx)
3、每一个权限拥有一个数字编号
可读(r) : 4
可写(w) : 2
可执行(x) : 1
没有对应权限(-) : 0
在添加权限的时候,可以将权限加起来
属主 : 可读可写可执行
属组 :可读可写
其他人:没有任何权限
rwxrw---- 等价于 760
5、添加权限
①.先创建一个文件:
touch index
②.添加权限命令:
chmod
格式:
chmod [参数] [权限表达式] [操作对象]
参数:
-R : 递归增加权限
6、权限的归属
属主:u
属组:g
其他人:o
案例:
案例1:将index文件添加属主 : 可读可写可执行、属组 :可读可写、其他人:没有任何权限
chmod 760 index
案例2:将test目录下的所有文件设置rwxr--r--
准备一个文件夹,创建10个txt文件:
mkdir test
echo {1..10}.txt | xargs touch
实施:
chmod -R 744 test/
案例3:将index这个文件的属组增加一个可执行权限。
chmod g+x index
如果对多个权限位有多个操作可以用逗号隔开,例如: 同时给index这个文件的其他人增加一个可读权限
chmod g+x,o+r index
或者给index这个文件的属组增加可读可写可执行,并将其他人的可读权限取消
chmod g+rwx,o-r index
7、测试权限对于用户的意义
1、普通用户是严格遵守权限的
2、root用户是高于权限(拥有任何权限)
3、权限需要重新登才生效(su和su - 都可以)
8、权限对于目录的意义
1、文件可读,路径的最小权限是必须拥有可执行权限。
2、文件可写,路径的最小权限是必须拥有可执行权限。
3、文件可执行,路径的最小权限是必须拥有可读可执行权限。
9、创建文件的默认权限,创建文件夹的默认权限是从哪里来的
在Linux中,常用的文件的权限是666, 目录的权限是777。
vim /etc/profile
打开profile 里面可以看到判断umask值的条件
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
可以看出:
root用户的umask : umask 022
普通用户的umask : umask 002
1、文件的权限(666)是跟umask 值相减,遇到奇数加一;遇到偶数则不变。
2、文件夹的权限(777)只要跟 umask 值相减即可。
默认文件权限:644
默认的文件夹权限:755
储备知识:
Linux中的符号
&& 类似python中的 and 并且
|| 类似python中的 or 或者
假如umask为 : 123
那么文件权限 : 644
文件目录权限 : 654
10、查看文件属性信息的命令:
stat 文件名
简单的介绍一下stat命令显示出来的文件其他信息:
- File:显示文件名
- Size:显示文件大小
- Blocks:文件使用的数据块总数
- IO Block:IO块大小
- regular file:文件类型(常规文件)
- Device:设备编号
- Inode:Inode号
- Links:链接数
- Access:文件的权限
- Gid、Uid:文件所有权的Gid和Uid。
Linux下的三个时间:
1. Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间
2. Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。
3. Change Time:简写为ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。
2、查看系统用户信息
whoami : 当前窗口登录的用户
who :当前用户登录系统的终端
关于基名的补充:
cd /etc/sysconfig/network-scripts/
[root@lin network-scripts]#
其中 network-scripts 就是基名,显示的是当前的位置
pwd查看的是路径.
搭建yum私有仓库
# 第一步:挂载安装光盘
mount /dev/cdrom /mnt
# 第二步:编辑repo yum源文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv *.repo backup/ #备份原repo文件
[root@localhost yum.repos.d]# vi local.repo
[local] #yum仓库的名字,被yum命令识别
name=local #这个name随便填
baseurl=file:///mnt #下载地址,这里我们用的file://协议 /mnt是之前光盘挂载路径
gpgcheck=0 #不使用gpg检查rpm包的来源
enabled=1 #这个选项表示启动repo源,设置为0的时候,表示不启动
# 第三步:检查yum makecache
出现这样的提示,就代表本地yum搭建成功
# 试试效果吧
[root@localhost yum.repos.d]# yum install zsh -y
Loaded plugins: fastestmirror, security
Setting up Install Process
Determining fastest mirrors
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.3.3-49.el6 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-49.el6 for package: php-5.3.3-49.el6.x86_64
--> Processing Dependency: php-cli(x86-64) = 5.3.3-49.el6 for package: php-5.3.3-49.el6.x86_64
--> Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-49.el6.x86_64
........