chmod命令
用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。
权限范围的表示法如下:
u
User,即文件或目录的拥有者;
g
Group,即文件或目录的所属群组;
o
Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a
All,即全部的用户,包含拥有者,所属群组以及其他用户;
r
读取权限,数字代号为“4”;
w
写入权限,数字代号为“2”;
x
执行或切换权限,数字代号为“1”;
-
不具任何权限,数字代号为“0”;
s
特殊功能说明:变更文件或目录的权限。
语法
chmod(选项)(参数)
选项
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quiet或——silent:不显示错误信息;
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
<权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置;
<权限范围>-<权限设置>:关闭权限范围的文件或目录的该选项权限设置;
<权限范围>=<权限设置>:指定权限范围的文件或目录的该选项权限设置;
参数
权限模式:指定文件的权限模式;
文件:要改变权限的文件。
知识扩展和实例
Linux用 户分为:拥有者、组群(Group)、其他(other),Linux系统中,预设的情況下,系统中所有的帐号与一般身份使用者,以及root的相关信 息, 都是记录在
/etc/
passwd
文件中。每个人的密码则是记录在
/etc/shadow
文件下。 此外,所有的组群名称记录在
/etc/group
內!
linux文件的用户权限的分析图
例:rwx rw- r–
r=读取属性 //值=4
w=写入属性 //值=2
x=执行属性 //值=1
chmod u+x,g+w f01 //为文件f01设置自己可以执行,组员可以写入的权限
chmod u=rwx,g=rw,o=r f01
chmod 764 f01
chmod a+x f01 //对文件f01的u,g,o都设置可执行属性
实例
将文件 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
+r file1.txt
将文件 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
+r file1.txt
将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该文件拥有者可以执行 :
chmod u+x ex1.py
+x ex1.py
将目前目录下的所有文件与子目录皆设为任何人可读取 :
chmod -R a+r *
-R a+r *
此外chmod也可以用数字来表示权限如 :
chmod 777 file
777 file
语法为:
<span style="color:#000000">chmod abc file</span>
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
- 若要rwx属性则4+2+1=7;
- 若要rw-属性则4+2=6;
- 若要r-x属性则4+1=5。
chmod a=rwx file
=rwx file
和
chmod 777 file
777 file
效果相同
chmod ug=rwx,o=x file
=rwx,o=x file
和
chmod 771 file
771 file
效果相同
若用chmod 4755 filename可使此程序具有root的权限