50.常用shell之 chmod - 更改文件权限 的用法及衍生用法

2023-12-28 11:03:17

chmod(change mode)是一个在类 Unix 系统的 shell 中常用的命令,用于更改文件或目录的访问权限。这个命令对于系统管理员和文件所有者来说非常重要,因为它控制着对文件的读取、写入和执行权限。以下是 chmod 命令的基本用法和一些衍生用法的示例:

基本用法

  1. 更改文件的权限:

    • chmod [options] mode file
    • mode 可以是数值权限(如 644、755)或符号权限(如 u+rwx,g+rx,o+r)。
  2. 设置文件为只读:

    • chmod 444 filename
    • 这会设置 filename 为所有用户只读。
  3. 设置文件为可执行:

    • chmod +x filename
    • 这会给 filename 添加执行权限。
  4. 递归更改目录及其内容的权限:

    • chmod -R 755 directory
    • -R(递归)选项会递归地更改 directory 及其所有子目录和文件的权限。

衍生用法

  1. 删除特定用户组的权限:

    • chmod g-w filename
    • 这会从 filename 中移除组用户的写入权限。
  2. 复制其他文件的权限:

    • chmod --reference=file1 file2
    • 这会将 file1 的权限复制到 file2
  3. 设置或移除特殊权限位:

    • 设置 setuid 位:chmod u+s filename
    • 设置 setgid 位:chmod g+s directory
    • 设置 sticky 位:chmod o+t directory
    • 这些特殊权限位有各自的特定用途,如控制目录的删除权限或在执行时保持用户身份。
  4. 结合 find 命令使用:

    • 在查找特定类型的文件(如所有目录)并更改它们的权限时,可以结合使用 findchmod,例如 find /path/to/directory -type d -exec chmod 755 {} \;

chmod 命令是文件系统管理的核心部分,提供了灵活的方式来控制文件和目录的访问权限。正确使用 chmod 对于维护系统的安全性和功能性至关重要。特别是在多用户环境或公共服务器上,合理设置文件权限可以防止未授权访问和意外修改。

文章来源:https://blog.csdn.net/WQY867047910/article/details/135109966
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。