chmod权限命令
一、chmod命令的语法
用于改变文件或目录权限
语法:chmod [对谁操作(ugoa)] [操作符 (+-=)] [赋予的权限(rwx)] 文件名1 文件名2...
chmod [-cfvR] [--help] [--version] mode file...
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
对谁操作:
u 用户user,表现文件或目录的所有者
g 用户组group,表现文件或目录所属的用户组
o 其他用户other
a 所有用户all
操作符:
+ 添加权限 - 减少权限 =直接给定一个权限
权限:
r 读 w 写 x 执行
八进制数字表示权限
r w x
二进制代表100 010 001
十进制代表 4 2 1
范例:
chmod 755 1.txt
chmod 777 /etc/hurenxiang 将hurenxiang这个文件夹权限改为对所有用户可读,可写,可执行
chmod 775 /etc/caiyao 将caiyao这个文件夹权限改为其他用户不可读
rwx的值为4+2+1=7;
rw-的值为4+2=6;
r-x的值为4+1=5。
rwxr-xr-x的值为755
-rw------- (600) 只有属主有读写权限。
-rw-r--r-- (644) 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有属主有读、写、执行权限。
-rwxr-xr-x (755) 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。更不可取的做法。
二.chmod命令结构详解
在Linux中输入ll,会出现指定目录下文件/目录的详细信息,
详解下图:权限一共是10个字符,第1个字符分为1组,后面9个字符分为3组。
第1个字符有两种情况:如果是“d”则代表这是一个文件夹,如果是“—”代表这是一个文件;
第2、3、4个字符:表示文件拥有者的权限,可以用u来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限;
第5、6、7个字符:表示文件所属群组的权限,可以用g来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限;
第8、9、10个字符:表示的是除拥有者和所属群组之外的其他所有的用户,可以用o来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限。
三.chmod命令的使用
-rw--wx--x //该文件的 拥有者有读取和写入的权限,但没有执行权限;
所在群组没有读取的权限,但有写入和执行的权限;
其他用户没有读取和写入的权限,但有执行的权限
d--xr-xrw- //该文件夹的 拥有者没有读取和写入的权限,但有执行的权限;
所在群组没有写入的权限,但有读取和执行的权限;
其他用户没有执行权限,但有读取和写入的权限
范例 :
第一种修改权限的方法
将档案 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 *
(-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) )
第二种:用数字赋权:
chmod a=rwx file 和 chmod 777 file 效果相同
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同
四.对可执行文件的赋权
用户创建的一个文件是没有任何权限的,再Linux的控制台可见文件无权限文件的字体是灰白色的,没权限那么此文件就只是文本文件,不可执行。
蓝色表示目录;
绿色表示可执行文件,可执行的程序;
红色表示压缩文件或包文件;
浅蓝色表示链接文件;
灰色表示其它文件;
- 下面实践来看
首先上传了一个stop1.sh文件,是灰色,然后进行chmod +x给了权限。后来使用chmod -x 去除执行权限,可以明显看到效果