4.22 通过 chmod 助记语法来改变文件或目录的权限;
chmod 的助记语法相对简单,对文件或目录权限的改变时,是通过比较直观的字符的形式来完成;在助记语法中,相关字母的定义;
用户或用户组定义:
u 代表属主
g 代表属组
o 代表其它用户
a 代表属主、属组和其它用户,也就是上面三个用户(或组)的所有;
权限定义字母:
r 代表读权限;
w 代表写权限;
x 代表执行权限;
权限增减字符;
- 代表减去相关权限;
+ 代表增加相关权限;
示例一:
[root@localhost ~]# ls -l linuxsir007.txt
-rwxr-xr-x 1 root root 0 04-23 20:11 linuxsir007.txt
[root@localhost ~]# chmod ugo-x linuxsir007.txt 注:把属主、用户组及其它用户的执行权限都减掉;
[root@localhost ~]# ls -l linuxsir007.txt
-rw-r--r-- 1 root root 0 04-23 20:11 linuxsir007.txt
示例二:
[root@localhost ~]# ls -l linuxsir007.txt
-rw-r--r-- 1 root root 0 04-23 20:11 linuxsir007.txt
[root@localhost ~]# chmod u+x linuxsir007.txt 注:为文件的属主增加执行权限
[root@localhost ~]# ls -l linuxsir007.txt
-rwxr--r-- 1 root root 0 04-23 20:11 linuxsir007.txt
示例三:
[root@localhost ~]# ls -l linuxsir007.txt
-rwxr--r-- 1 root root 0 04-23 20:11 linuxsir007.txt
[root@localhost ~]# chmod u-x,go+rw linuxsir007.txt 注:减去文件属主对文件的执行权,增加属组和其它用户对文件的可读可写权;
[root@localhost ~]# ls -l linuxsir007.txt
-rw-rw-rw- 1 root root 0 04-23 20:11 linuxsir007.txt
用助记语法比较灵活,组合起来比较方便;比如;
u=r+x 为文件属主添加读写权限;
ug=rwx,o=r 为属主和属组添加读、写、执行权限,为其它用户设置读权限。
a+x 为文件的属主、属组和其它用户添加执行权限;
g=u 让文件的属组和属主和权限相同;
对于目录权限的设置,要用到-R参数;
和八进制方法一样,如果我们为一个目录及其下的子目录和文件具有相同的属性,就可以用-R参数;
[root@localhost ~]# chmod -R a+rwx testdir/
[root@localhost ~]# ls -lr testdir/
总计 4
-rwxrwxrwx 1 root root 0 04-24 11:01 sir01.txt
drwxrwxrwx 2 root root 4096 04-24 11:01 linuxsir