Linux chmod命令详细用法

指令名称 : chmod
使用权限 : 全部使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...

说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者群组其余。利用 chmod 能够藉以控制档案如何被他人所调用。

参数 :
mode : 权限设定字串,格式以下 : [ugoa...][[+-=][rwxX]...][,...],其中

u 表示该档案的拥有者, g 表示与该档案的拥有者属于同一个群体(group)者, o 表示其余之外的人, a 表示这三者皆是。

+ 表示增长权限、- 表示取消权限、 = 表示惟一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

-c : 若该档案权限确实已经更改,才显示其更改动做
-f : 若该档案权限没法被更改也不要显示错误讯息

-v : 显示权限变动的详细资料
-R : 对目前目录下的全部档案与子目录进行相同的权限变动(即以递回的方式逐个变动)

--help : 显示辅助说明
--version : 显示版本

范例 : shell

将档案 file1.txt 设为全部人皆可读取 :
chmod ugo+r file1.txt  spa

将档案 file1.txt 设为全部人皆可读取 :
chmod a+r file1.txt 

将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其余之外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt 

将 ex1.py 设定为只有该档案拥有者能够执行 :
chmod u+x ex1.py 

将目前目录下的全部档案与子目录皆设为任何人可读取 :
chmod -R a+r * 

此外chmod也能够用数字来表示权限如 chmod 777 file
语法为:chmod abc file

其中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=7。

范例:

chmod a=rwx file  和 chmod 777 file  效果相同

chmod ug=rwx,o=x file  和  chmod 771 file  效果相同

若用chmod 4755 filename可以使此程序具备root的权限 io


chmod 4755和chmod 755的区别

chmod是Linux下设置文件权限的命令,后面的数字表示不一样用户或用户组的权限。

通常是三个数字:

第一个数字表示文件全部者的权限
第二个数字表示与文件全部者同属一个用户组的其余用户的权限
第三个数字表示其它用户组的权限。

权限分为三种: 读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。

因此,chmod 755 设置用户的权限为:

1.文件全部者可读可写可执行
2.与文件全部者同属一个用户组的其余用户可读可执行
3.其它用户组可读可执行

chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其余用户执行文件时,具备与全部者至关的权限。

例如:root用户建立了一个上网认证程序netlogin,若是其余用户要上网也要用到这个程序,那就须要root用户运行chmod 755 netlogin命令使其余用户也能运行netlogin。

可是netlogin执行时可能须要访问一些只有root用户才有权访问的文件,那么其余用户执行netlogin时可能由于权限不够仍是不能上网。

这种状况下,就能够用 chmod 4755 netlogin 设置其余用户在执行netlogin也有root用户的权限,从而顺利上网。

ps:对shell脚本设置无效!只对应用程序有效! file

相关文章
相关标签/搜索