第2天 文件权限的修改
昨天学习了文件的权限,今天我们学习如何修改文件的权限。
对于属于你自己的文件,可以按照自己的需要改变其权限位。(由于每个文件都有一个属主及用户组,最好能够先学习一下用户与用户组方面的知识,用户与用户组的知识我们会另外开辟专题进行学习。)
修改文件权限位使用chmod命令,chmod使用时有2种方式,一种称为符号模式,另一种称为绝对模式。
1、符号模式修改文件权限
chmod命令格式:
chmod [ugoa...][[+-=][perms...]...] FILE...
u 表示属主(user)
g 表示用户组(group)
o 表示其他用户(other)
a 表示所有用户(all)
+ 表示增加权限
- 表示去掉权限
= 表示设定权限(即不管原先是什么权限都设定为指定的权限)
权限: r w x
FILE是要设置权限的文件
例:
omak@welix:/home/work$
touch myfile
omak@welix:/home/work$
ls -lh
总用量 0
-rw-r--r-- 1 omak omak 0 2008-08-12 10:45 myfile
可以看到myfile的原始权限是“rw-r--r--”
下面为组用户增加写权限“w”
omak@welix:/home/work$ c
hmod g+w myfile
omak@welix:/home/work$
ls -lh
总用量 0
-rw-rw-r-- 1 omak omak 0 2008-08-12 10:45 myfile
可以看到myfile的权限变为“rw-rw-r--”,显然,组用户有了“w”权限。
若myfile是个脚本文件,现要为其设置为所有用户都可执行权限,但不改变其他权限,该怎么办呢?
omak@welix:/home/work$
chmod a+x myfile
omak@welix:/home/work$
ls -lh
总用量 0
-rwxrwxr-x 1 omak omak 0 2008-08-12 10:45 myfile
显然,使用了“a+x”,所有用户都增加“x”权限。
若现在要把myfile设置成任何用户都只有“读”权限,怎么办呢?
omak@welix:/home/work$
chmod a=r myfile
omak@welix:/home/work$
ls -lh
总用量 0
-r--r--r-- 1 omak omak 0 2008-08-12 10:45 myfile
显然,使用“a=r”,所有用户都置为“读”权限,而其他权限都被去掉。
2、绝对模式修改文件权限
chmod命令格式:
chmod [mode] FILE...
其中,mode是一个八进制的数,该数由具体的“rwx-”字符对应的数字计算得到。
r 的值为 4
w 的值为 2
x 的值为 1
- 的值为 0
“属主”、“用户组”、“其他用户”,3者的权限仍然分各自独立的1个值。
如,对文件myfile
-r--r--r-- 1 omak omak 0 2008-08-12 10:45 myfile
其权限的八进制值为444
那么-rwxrwxr-x 1 omak omak 0 2008-08-12 10:45 myfile
其权限的值就为775
例:
omak@welix:/home/work$
chmod 777 myfile
omak@welix:/home/work$
ls -lh
总用量 0
-rwxrwxrwx 1 omak omak 0 2008-08-12 10:45 myfile
omak@welix:/home/work$
chmod 664 myfile
omak@welix:/home/work$
ls -lh
总用量 0
-rw-rw-r-- 1 omak omak 0 2008-08-12 10:45 myfile
omak@welix:/home/work$
chmod 754 myfile
omak@welix:/home/work$
ls -lh
总用量 0
-rwxr-xr-- 1 omak omak 0 2008-08-12 10:45 myfile