作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)

根据前面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 filenameoptions:可选,用于指定特定的操作或设置。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.txtchmod 选项:-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的情况下。有些系统目录如果不小心设置了高权限,反而不能使用。
