3.基本权限管理
3.1、权限介绍
-rw-r--r--. 1 root root 10 4月 8 09:17 abc -rw-------. 1 root root 1288 4月 8 05:06 anaconda-ks.cfg -rw-r--r--. 1 root root 9 4月 8 19:56 copytest -rw-r--r--. 1 root root 28425 4月 8 05:06 install.log -rw-r--r--. 1 root root 9043 4月 8 05:04 install.log.syslog -rw-r--r--. 1 root root 7 4月 8 19:59 mvtest
-rw-r--r--.
-
第1位:文件类型
-
-普通文件
-
b块设备文件
-
c字符设备文件,鼠标键盘等
-
d目录文件
-
l软连接文件
-
p管道文件
-
s套接字文件
-
-
2~4位:文件所有者权限
-
r只读
-
w可写
-
x可执行
-
-
5~7位:文件所属组权限,权限类型与文件所有者一致
-
8~10位:其他人的权限
3.2、基本权限命令
-
chmod
chmod [选项] 权限模式 文件名 选项: -R 递归设置 eg:加减操作符 [root@localhost ~]# ll abc -rw-r--r--. 1 root root 10 4月 8 09:17 abc [root@localhost ~]# chmod u+x abc [root@localhost ~]# ll abc -rwxr--r--. 1 root root 10 4月 8 09:17 abc [root@localhost ~]# chmod g+w,o+w abc [root@localhost ~]# ll abc -rwxrw-rw-. 1 root root 10 4月 8 09:17 abc [root@localhost ~]# chmod g-w,o-w abc [root@localhost ~]# ll abc -rwxr--r--. 1 root root 10 4月 8 09:17 abc [root@localhost ~]# chmod u-x abc [root@localhost ~]# ll abc -rw-r--r--. 1 root root 10 4月 8 09:17 abc 数字权限: 4:r 2:w 1:x [root@localhost ~]# ll abc -rw-r--r--. 1 root root 10 4月 8 09:17 abc [root@localhost ~]# chmod 755 abc [root@localhost ~]# ll abc -rwxr-xr-x. 1 root root 10 4月 8 09:17 abc
-
chown 更改文件所有者和所属组
-
普通用户不能修改文件的所有者,只可以修改所有者是自己的文件的权限
chown [选项] 所有者:所属组 文件和目录 #可以同时改 选项:-R 递归设置 [root@localhost ~]# ll abc -rw-r--r--. 1 root root 10 4月 8 09:17 abc [root@localhost ~]# chown user1 abc [root@localhost ~]# ll abc -rw-r--r--. 1 user1 root 10 4月 8 09:17 abc ================= [root@localhost ~]# ll abc -rw-r--r--. 1 root root 10 4月 8 09:17 abc [root@localhost ~]# chown user1:user1 abc [root@localhost ~]# ll abc -rw-r--r--. 1 user1 user1 10 4月 8 09:17 abc
-
-
chgrp 修改文件所属组
3.3、基本权限的作用
权限含义的解释
读、写、执行权限对文件和目录的作用是不同的。
-
权限对文件的作用
-
读(r):对文件有读权限。
-
写(w):代表可以修改文件中的数据,但是不能删除文件本身,要想删除文件,则需要对文件的上级目录拥有写权限才能删除。
-
执行(x):文件能正确执行要看文件中的代码是不是正确的语言代码
-
-
权限对目录的作用:可用权限只有
0,5,7
-
读(r):对目录有读权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。
-
写(w):对目录有写权限,代表可以修改目录下的数据,也就是可以在目录中新建,删除,复制,剪切子文件或子目录。
-
执行(x):对目录有执行权限,代表可以进入目录,即可以使用cd命令。
-
3.4、umask默认权限
1、查看系统的umask权限
[root@localhost ~]# umask -S u=rwx,g=rx,o=rx [root@localhost ~]# umask 0022
2、umask权限计算方法
新建文件拥有默认权限:
[root@localhost ~]# touch test [root@localhost ~]# ll test -rw-r--r--. 1 root root 0 4月 8 21:26 test
-
对文件来说,新建文件的默认最大权限是666,没有执行(x)权限
-
对目录来说,新建目录默认最大权限是777,因为对目录而言,执行(x)权限代表可以进入目录,不是什么危险的操作。
官方umask算法需要使用二进制进行逻辑与和逻辑非联合运算才能得到正确的新建文件和目录的默认权限。可以理解为相减的运算,即默认最大权限-umask的值,如:
-
默认文件最大权限为666,umask为022
"-rw-rw-rw-" 减去"-----w--w-"得"-rw-r--r--"
-
默认目录权限为777,则计算
"-rwxrwxrwx" 减去"-----w--w-"得"-rwxr-xr-x"
但是umask默认权限计算并不是相减的
umask配置存在/etc/profile中