chmod
原单词change mode(改变模式)
chmod是一个修改文件权限的命令,有两种设置方法,一种是数字,一种是符号。
语法
通过数字设置权限
chmod 三个身份的权限分数 文件名/目录名
例子:
chmod 755 a.file
chmod 644 a.file
通过符号设置权限
chmod 身份+/-/=权限 文件名/目录名
例子:
chmod a+x a.file
chmod o+rwx a.file
-R 参数
如果修改的是一个目录,并且希望所有文件与子目录进行相同的权限变更,可以加上 -R参数
例子:
chmod -R 755 adir
chmod -R o+rwx adir
实战
进入root目录
新建chmodTest文件夹
进入chmodTest目录
使用vim编辑a.sh文件(当a.sh文件不存在时,vim会帮我们创建一个):
vim a.sh
输入 echo 你好,世界
(a.sh就是一个简单的shell脚本,可以直接在Linux系统中执行,执行效果就是打印 你好,世界)
image.png image.png
新建adir目录,将a.sh复制到 adir
使用 ll 查看文件的权限
image.png image.png
可以看到a.sh的属主权限是 读写,属组和其他用户权限都是只读权限
为a.sh文件所有用户添加执行权限
chmod a+x a.sh
查看文件权限,可以看到加了执行权限后,文件变成 绿色(可执行)
使用./a.sh 执行脚本后,打印出了: 你好,世界
image.png
其他参数介绍:
u:表示用户,即文件或目录的所有者。
g:表示同组用户,即与文件属主有相同组ID的所有用户。
o:表示其它用户。
a:表示所有用户,它是系统默认值。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
为adir目录及所有子目录和文件 添加777权限,即所有身份的用户都拥有读写执行权限
chmod -R 777 adir
image.png
可以看到 adir目录 和 adir目录下 a.sh权限都变成了rwxrwxrwx
将adir目录下 a.sh文件,去掉组用户的写权限,去掉其他用户的写权限
chmod -R g-w,o-w adir/a.sh
image.png
网友评论