插件窝 干货文章 linux chmod不同用户权限设置

linux chmod不同用户权限设置

权限 用户 文件 chmod 615    来源:    2025-05-14

Linux chmod 命令:不同用户权限设置详解

chmod 是 Linux/Unix 系统中用于更改文件或目录权限的重要命令。下面我将详细介绍如何为不同用户设置权限。

基本权限概念

Linux 系统中,每个文件和目录都有三组权限: 1. 所有者(User) - 文件/目录的创建者 2. 组(Group) - 文件/目录所属的用户组 3. 其他用户(Others) - 系统上的其他所有用户

每组权限包含: - 读(r/4) - 写(w/2) - 执行(x/1)

chmod 命令语法

chmod [选项] 模式 文件/目录

设置权限的两种方法

1. 数字模式(八进制表示法)

权限用三位八进制数表示,每位对应一组权限:

chmod 755 filename
  • 第一位(7):所有者权限 = 4(r) + 2(w) + 1(x) = 7
  • 第二位(5):组权限 = 4(r) + 0 + 1(x) = 5
  • 第三位(5):其他用户权限 = 4(r) + 0 + 1(x) = 5

2. 符号模式

使用字母表示权限变更:

chmod [ugoa][+-=][rwx] 文件/目录
  • 用户类别:
    • u: 所有者
    • g: 组
    • o: 其他用户
    • a: 所有用户(默认)
  • 操作符:
    • +: 添加权限
    • -: 移除权限
    • =: 设置确切权限

实用示例

  1. 设置所有者可读写执行,组可读执行,其他用户无权限

    chmod 750 filename
    
  2. 给所有用户添加执行权限

    chmod a+x script.sh
    
  3. 移除其他用户的写权限

    chmod o-w sensitive_file
    
  4. 设置目录权限(递归设置)

    chmod -R 755 directory/
    
  5. 设置组用户可写

    chmod g+w shared_file
    

特殊权限

  1. SUID (Set User ID) - 以文件所有者身份执行

    chmod u+s file
    
  2. SGID (Set Group ID) - 以文件所属组身份执行

    chmod g+s file
    
  3. 粘滞位(Sticky Bit) - 常用于/tmp目录,防止用户删除他人文件

    chmod +t directory
    

查看权限

使用 ls -l 命令查看文件权限:

-rwxr-xr-- 1 user group 1024 Jan 1 10:00 filename
  • 第一个字符:文件类型(-普通文件,d目录)
  • 接下来三组rwx:所有者、组、其他用户权限

最佳实践

  1. 遵循最小权限原则
  2. 敏感文件应设置为600或640
  3. 可执行脚本通常设置为755
  4. 共享目录通常设置为775
  5. 避免使用777权限(所有用户完全控制)

掌握chmod命令是Linux系统管理的基础技能,合理设置权限可以大大提高系统安全性。