用来修改某个目录或文件的访问权限。 linux
语法:shell
chmod [-cfvR] [--help] [--version] [who] [+ | - | =] [mode] 文件名
例子:测试
chmod -R 777 /home/linux
权限范围的表示法以下:spa
u User,即文件或目录的拥有者; g Group,即文件或目录的所属群组; o Other,除了文件或目录拥有者或所属群组以外,其余用户皆属于这个范围; a All,即所有的用户,包含拥有者,所属群组以及其余用户; r 读取权限,数字代号为“4”; w 写入权限,数字代号为“2”; x 执行或切换权限,数字代号为“1”; - 不具任何权限,数字代号为“0”; s 特殊功能说明:变动文件或目录的权限。
命令中各选项的含义为: 对象
-c : 若该档案权限确实已经更改,才显示其更改动做 blog
-f : 若该档案权限没法被更改也不要显示错误讯息 进程
-v : 显示权限变动的详细资料 ip
-R : 对目前目录下的全部档案与子目录进行相同的权限变动(即以递回的方式逐个变动) io
--help : 显示辅助说明 class
--version : 显示版本
操做对象who但是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的全部者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的全部用户。
o 表示“其余(others)用户”。
a 表示“全部(all)用户”。它是系统默认值。
操做符号能够是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其余全部权限(若是有的话)。
设置 mode 所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。
方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有同样的权限。
g 与和文件属主同组的用户拥有同样的权限。
o 与其余用户拥有同样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
r 表明读,w 表明写,x 表明执行,
若是可读,权限是二进制的100,十进制是4;
若是可写,权限是二进制的010,十进制是2;
若是可运行,权限是二进制的001,十进制是1;
具有多个权限,就把相应的 四、二、1 相加就能够了:
若要 rwx 则 4+2+1=7
若要 rw- 则 4+2=6
若要 r-x 则 4+1=5
若要 r-- 则 =4
若要 -wx 则 2+1=3
若要 -w- 则 =2
若要 --x 则 =1
若要 --- 则 =0
将文件 1.txt 设为全部人皆可读取 :
chmod ugo+r 1.txt
将文件 file1.txt 设为全部人皆可读取 :
chmod a+r 1.txt
将文件 1.txt 与 2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其余之外的人则不可写入 :
chmod ug+w,o-w 1.txt 2.txt
将 1.py 设定为只有该文件拥有者能够执行 :
chmod u+x 1.py
将目前目录下的全部文件与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也能够用数字来表示权限如 :
chmod 777 file
语法为:
chmod abc file
chmod ABC file
其中A、B、C各为一个数字,分别表示User、Group、及Other的权限。
A、B、C这三个数字若是各自转换成由“0”、“1”组成的二进制数,则二进制数的每一位分别表明一个角色的读、写、运行的权限。好比User组的权限A:
若是可读、可写、可运行,就表示为二进制的111,转换成十进制就是7。
若是可读、可写、不可运行,就表示为二进制的110,转换成十进制就是6。
若是可读、不可写、可运行,就表示为二进制的101,转换成十进制就是5。
一些人说的“4=r,2=w,1=x”的意思是:
为不一样的角色分配不一样的权限,放在一块儿,就出现 77七、677这样的数字了。
你也能够用 chmod u+x file 的方式为User组添加运行权限。
指令名称 : 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 : 显示版本
范例 :将档案 file1.txt 设为全部人皆可读取 :
chmod ugo+r file1.txt
将档案 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的权限.