作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
根据前面Linux用户介绍,里面涉及到超级管理员,普通用户,系统用户,既然用户有区分,那不同的用户对应的权限是否也有区别呢?当然是有的,权限也分普通权限和特殊权限,我们也将从下面几个方面来介绍。
1.Linux权限-普通权限
2.Linux权限-特殊权限
3.Linux权限-chmod命令(本章节)
4.Linux权限-chown命令
chmod
命令是用于在Unix和类Unix操作系统(如Linux)上改变文件或目录的权限的命令。它是 "change mode" 的缩写,允许用户设定文件或目录的读、写、执行权限,以及特殊权限(如 SUID、SGID、Sticky bit)等。
chmod
命令的基本语法:
chmod options permissions filename
-
options
:可选,用于指定特定的操作或设置。 -
permissions
:设定的权限模式,可以使用数字形式(如 755)或符号形式(如 u=rwx,g=rx,o=rx)。 -
filename
:需要改变权限的文件或目录名。
数字形式权限:
数字形式权限由三个八进制数字构成,每个数字代表一组权限(所有者、所属组、其他用户)。每个数字可以是以下几种权限的组合:
-
4:读权限(r)
-
2:写权限(w)
-
1:执行权限(x)
计算方式为将所需权限的数字相加。例如:
-
7
:读(4)+ 写(2)+ 执行(1) -
6
:读(4)+ 写(2) -
5
:读(4)+ 执行(1) -
4
:只读(4) -
0
:无权限
例如,要给文件 example.txt
设置所有者具有读写执行权限,所属组和其他用户具有只读权限,可以使用:
chmod 744 example.txt
符号形式权限:
符号形式允许更精细地控制权限,主要由以下几个部分组成:
-
u
:表示文件所有者(user) -
g
:表示文件所属组(group) -
o
:表示其他用户(others) -
a
:表示所有用户(user、group、others)
权限部分可以使用以下符号:
-
+
:增加权限 -
-
:移除权限 -
=
:设定权限
例如,为文件 example.txt
添加用户写权限可以使用:
chmod u+w example.txt
一些常用的 chmod
选项:
-
-R
:递归的应用权限设置到指定目录下的所有文件和子目录。 -
-v
:显示详细信息,指示chmod
所做的每个修改。 -
-c
:只显示实际改变了权限的文件。
示例用法:
为 dir 添加用户写权限,并且递归应用到子目录:
chmod -R u+w dir
为 script.sh
文件设置 SUID 权限:
chmod u+s script.sh
为 data.txt
文件设置 SGID 权限:
chmod g+s data.txt
总之,chmod
命令是管理文件和目录权限的重要工具,在Unix和Linux系统中广泛使用,能够通过数字和符号形式灵活地调整和设定文件的读、写、执行权限,以及特殊权限标志。
总结
1.添加或者修改权限最常用的方式是用数字表示。
2.另外一种方式是直接用'+','-'方式表示。
3.在日常运维中,编写的shell脚本,都需要添加执行权限。
4.不要轻易去设置系统目录权限,尤其是还带有递归参数-R的情况下。有些系统目录如果不小心设置了高权限,反而不能使用。
关注微信公众号《运维小路》获取更多内容。