作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)
根据前面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
:需要改变权限的文件或目录名。数字形式权限由三个八进制数字构成,每个数字代表一组权限(所有者、所属组、其他用户)。每个数字可以是以下几种权限的组合:
计算方式为将所需权限的数字相加。例如:
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的情况下。有些系统目录如果不小心设置了高权限,反而不能使用。