2020-06-05Linux命令: chmod

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

实战1

进入root目录 新建chmodTest文件夹 进入chmodTest目录 使用vim编辑a.sh文件(当a.sh文件不存在时,vim会帮我们创建一个): vim a.sh 输入 echo 你好,世界 (a.sh就是一个简单的shell脚本,可以直接在Linux系统中执行,执行效果就是打印 你好,世界)

新建adir目录,将a.sh复制到 adir

使用 ll 查看文件的权限

可以看到a.sh的属主权限是 读写,属组和其他用户权限都是只读权限

为a.sh文件所有用户添加执行权限

chmod a+x a.sh 查看文件权限,可以看到加了执行权限后,文件变成 绿色(可执行) 使用./a.sh 执行脚本后,打印出了: 你好,世界

其他参数介绍:

u:表示用户,即文件或目录的所有者。

g:表示同组用户,即与文件属主有相同组ID的所有用户。 

o:表示其它用户。 

a:表示所有用户,它是系统默认值。 

-c : 若该档案权限确实已经更改,才显示其更改动作 

-f : 若该档案权限无法被更改也不要显示错误讯息 

-v : 显示权限变更的详细资料 

-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) 

--help : 显示辅助说明 

--version : 显示版本


为adir目录及所有子目录和文件 添加777权限,即所有身份的用户都拥有读写执行权限

chmod -R 777 adir

可以看到 adir目录 和 adir目录下 a.sh权限都变成了rwxrwxrwx

将adir目录下 a.sh文件,去掉组用户的写权限,去掉其他用户的写权限

chmod -R g-w,o-w adir/a.sh


实战2

在/root/chmodTest目录下使用vim新建b.sh文件,输入:echo hello world! ,保存并退出

使用cat 查看b.sh文件

使用ll 查看文件权限

给b.sh文件所有用户加上写权限,使用ll查看

给b.sh文件其他用户去掉写权限,使用ll查看

给b.sh文件权限改成755,使用ll查看

给b.sh文件权限改成000,使用ll查看

给b.sh文件 属主用户设定rwx权限,属组用户设定rw权限,其他用户设定r权限

执行 b.sh脚本


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。