13.1.3 管理文件权限
修改文件权限的命令是chmod,该命令的一般形式为:
chmod [ugoa…] [[+/-/=][rwx…]…][文件名,…]
第1组参数是权限修改所涉及的用户,u表示所有者,g表示群组,o表示其他用户,a表示以上3者都有。第2组参数表示对权限的操作,+表示增加权限,–表示取消权限,=表示唯一设定权限。权限字符r、w、x分别表示读、写和执行权限。如下例所示:
chmod ug+w,o-w test1.c test1.h
该命令修改了文件test1.c和test1.h的权限,所有者和群组获得了写权限,其他用户取消了写权限。
%注意:如果执行文件权限修改命令的用户本身对文件没有写权限,那么系统会提示无权进行该项操作。只有根用户例外,可修改任意文件的权限。
chmod命令还有一种使用加权数字的简便形式,描述方式为:
chmod lmn [文件名,…]
其中l、m、n为加权数,l表示所有者权限,m表示群组权限,n表示其他用户权限。权限的加权数是将读、写、执行分别用数值4、2、1代表,用户获得的权限是数值之和。这样rwx就可以转换为7,rx转换为5,r 转换为4。如下例所示:
chmod 771 test1.c
文件test1.c的所有者的权限为读、写和执行;群组获得的权限为读、写和执行;其他用户的权限为执行。