Linux命令chmod(⽂件管理)——想玩转linux就请⼀直看下去
Linux 命令chmod(⽂件管理)——想玩转linux就请⼀直看下去
我是IT悟道,点击右上⽅“ 关注”,每天分享IT、科技、数码⽅⾯的⼲货。
Linux chmod命令
Linux chmod(英⽂全拼:change mode)命令是控制⽤户对⽂件的权限的命令
Linux/Unix 的⽂件调⽤权限分为三级 : ⽂件所有者(Owner)、⽤户组(Group)、其它⽤户(Other Users)。
只有⽂件所有者和超级⽤户可以修改⽂件或⽬录的权限。可以使⽤绝对模式(⼋进制数字模式),符号模式指定⽂件的权限。
使⽤权限: 所有使⽤者
语法 chmod [-cfvR] [--help] [--version] 参数说明
mode : 权限设定字串,格式如下 :
[][[+-=][rwxX]...][,...]
其中:
•u 表⽰该⽂件的拥有者,g 表⽰与该⽂件的拥有者属于同⼀个体(group)者,o 表⽰其他以外的⼈,a 表⽰这三者皆
•u 表⽰该⽂件的拥有者,g 表⽰与该⽂件的拥有者属于同⼀个体(group)者,o 表⽰其他以外的⼈,a 表⽰这三者皆是。
•+ 表⽰增加权限、- 表⽰取消权限、= 表⽰唯⼀设定权限。
•r 表⽰可读取,w 表⽰可写⼊,x 表⽰可执⾏,X 表⽰只有当该⽂件是个⼦⽬录或者该⽂件已经被设定过为可执⾏。其他参数说明:
•-c : 若该⽂件权限确实已经更改,才显⽰其更改动作
•-f : 若该⽂件权限⽆法被更改也不要显⽰错误讯息
•-v : 显⽰权限变更的详细资料
•-R : 对⽬前⽬录下的所有⽂件与⼦⽬录进⾏相同的权限变更(即以递归的⽅式逐个变更)
•--help : 显⽰辅助说明
•--version : 显⽰版本
符号模式
使⽤符号模式可以设置多个项⽬:who(⽤户类型),operator(操作符)和 permission(权限),每个项⽬的设置可以⽤逗号隔开。命令 chmod 将修改 who 指定的⽤户类型对⽂件的访问权限,⽤户类型由⼀个或者多个字母在 who 的位置来说明,如 who 的符号模式表所⽰:
who⽤户类型说明
u user⽂件所有者
g group⽂件所有者所在组
o others所有其他⽤户
a all所⽤⽤户, 相当于 ugo
operator 的符号模式表:
Operator说明
+为指定的⽤户类型增加权限
-去除指定⽤户类型的权限
=设置指定⽤户权限的设置,即将⽤户类型的所有权限重新设置
permission 的符号模式表:
模式名字说明
r读设置为可读权限
w写设置为可写权限
x执⾏权限设置为可执⾏权限
X特殊执⾏权限只有当⽂件为⽬录⽂件,或者其他类型的⽤户有可执⾏权限时,才将⽂件权限设置可执⾏
s setuid/gid当⽂件被执⾏时,根据who参数指定的⽤户类型设置⽂件的setuid或者setgid权限
t粘贴位设置粘贴位,只有超级⽤户可以设置该位,只有⽂件所有者u可以使⽤该位
⼋进制语法
chmod命令可以使⽤⼋进制数来指定权限。⽂件或⽬录的权限位是由9个权限位来控制,每三位为⼀组,它们分别是⽂件所有者(User)的读、写、执⾏,⽤户组(Group)的读、写、执⾏以及其它⽤户(Other)的读、写、执⾏。历史上,⽂件权限被放在⼀个⽐特掩码中,掩码中指定的⽐特位设为1,⽤来说明⼀个类具有相应的优先级。
#权限rwx⼆进制
7读 + 写 + 执⾏rwx111
6读 + 写rw-110
5读 + 执⾏r-x101
4只读r--100
3写 + 执⾏-wx011
2只写-w-010
1只执⾏--x001
0⽆---000
例如, 765 将这样解释:
•所有者的权限⽤数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
•⽤户组的权限⽤数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6。
•其它⽤户的权限数字表达:其它⽤户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。
实例
将⽂件 设为所有⼈皆可读取 :
chmod ugo+
将⽂件 设为所有⼈皆可读取 :
chmod a+
将⽂件 与 设为该⽂件拥有者,与其所属同⼀个体者可写⼊,但其他以外的⼈则不可写⼊ :
linux所有命令都无法使用chmod ug+w,
为 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=5。
chmod a=rwx file
chmod 777 file
效果相同
chmod ug=rwx,o=x file
chmod 771 file
效果相同
若⽤ chmod 4755 filename可使此程序具有 root 的权限。
更多说明
命令说明
chmod a+r file给file的所有⽤户增加读权限chmod a-x file删除file的所有⽤户的执⾏权限chmod a+rw file给file的所有⽤户增加读写权限
chmod +rwx file给file的所有⽤户增加读写执⾏权限
chmod u=rw,go= file对file的所有者设置读写权限,清空该⽤户组和其他⽤户对file的所有权限(空格代表⽆
权限)
chmod -R u+r,go-r docs对⽬录docs和其⼦⽬录层次结构中的所有⽂件给⽤户增加读权限,⽽对⽤户组
和其他⽤
户删除读权限
chmod 664 file对file的所有者和⽤户组设置读写权限, 为其其他⽤户设置读权限
chmod 0755 file相当于u=rwx (4+2+1),go=rx (4+1 & 4+1)。0 没有特殊模式。
chmod 4755 file4设置了设置⽤户ID位,剩下的相当于 u=rwx (4+2+1),go=rx (4+1 & 4+1)。
find path/ -type d -exec chmod a-x {} \删除可执⾏权限对path/以及其所有的⽬录(不包括⽂件)的所有⽤户,使⽤&apos-type f&apos匹配⽂件
find path/ -type d -exec chmod
a+x {} \允许所有⽤户浏览或通过⽬录path/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。