从原理到实践:深入探索Linux安全机制( 二 )


  • 特殊权限:
除了基本的读写执行权限外,还有一些特殊权限,如 SetUID、SetGID 和粘着位(Sticky Bit) 。这些特殊权限可以影响文件或目录的执行方式,例如在执行文件时临时提升用户权限或确保只有文件所有者才能删除文件 。
关于用户和权限管理有两个命令是必须得掌握的,这两个命令就是chmod和chown 。
1、在 CentOS 7 中,chmod 命令用于修改文件或目录的权限 。
使用方式:
chmod [选项] 权限模式 文件/目录常用选项:
  • -R:递归地修改文件夹及其子文件夹的权限 。
  • -v:显示每个修改后的文件/目录的权限 。
权限模式:
可以使用数字或符号来指定权限模式 。
  • 数字模式:数字模式使用三位数,每一位表示一个权限组(所有者、所属组、其他用户),其中每一位的值为 4(读权限)、2(写权限)和 1(执行权限)的组合 。例如,755 表示所有者具有读、写和执行权限,所属组和其他用户具有读和执行权限 。
  • 符号模式:符号模式使用类似于 u+rwx、g+rw、o-x 的格式来指定权限 。u 代表所有者,g 代表所属组 , o 代表其他用户 , + 表示添加权限,- 表示移除权限,r 表示读权限 , w 表示写权限,x 表示执行权限 。例如,chmod u+rwx file.txt 表示给文件 file.txt 的所有者添加读、写和执行权限 。
示例:
将文件 file.txt 的所有者和所属组的权限设置为读写,其他用户无权限:
chmod 660 file.txt将文件夹 dir 及其子文件夹的所有者、所属组和其他用户的权限设置为读写执行:
chmod -R 777 dir给文件 script.sh 的所有用户添加执行权限:
chmod a+x script.sh给文件 file.txt 的所有者和所属组添加读权限 , 其他用户移除所有权限:
chmod u+r,g+r,o-rwx file.txt2、在 CentOS 7 中 , chown 命令用于修改文件或目录的所有者 。
使用方式:
chown [选项] 新所有者 文件/目录
常用选项:
  • -R:递归地修改文件夹及其子文件夹的所有者 。
  • -v:显示每个修改后的文件/目录的所有者 。
示例:
  • 将文件 file.txt 的所有者修改为 fanfu:
chown fanfu file.txt
  • 将目录 dir 及其子目录的所有者修改为 fanfu,同时显示修改过程:
chown -Rv fanfu dir
  • 将文件 file.txt 的所有者和所属组修改为 fanfu 和 yzxa:
chown fanfu:yzxa file.txtchmod 和 chown 是两个在 CentOS(以及其他 Linux 发行版)中常用的命令 , 用于修改文件或目录的权限和所有者,功能上很相近,但是还是有区别的:
chmod 命令:
  • 作用:chmod 命令用于修改文件或目录的权限 。
  • 使用方式:chmod 命令后面跟着权限模式和要修改权限的文件或目录路径 。
  • 权限模式:可以使用数字(例如 755)或符号(例如 u+rwx)来指定权限模式 。
  • 数字模式:数字模式使用三位数 , 每一位表示一个权限组(所有者、所属组、其他用户),其中每一位的值为 4(读权限)、2(写权限)和 1(执行权限)的组合 。例如,755 表示所有者具有读、写和执行权限 , 所属组和其他用户具有读和执行权限 。
  • 符号模式:符号模式使用类似于 u+rwx、g+rw、o-x 的格式来指定权限 。u 代表所有者 , g 代表所属组 , o 代表其他用户,+ 表示添加权限,- 表示移除权限,r 表示读权限,w 表示写权限,x 表示执行权限 。
chown 命令: