Linux用户及权限管理详解

1751816011@qq.com
2025-11-15 / 0 评论 / 0 阅读 / 正在检测是否收录...

一、用户管理

1. 用户配置文件

  • /etc/passwd:存储用户基本信息(用户名、UID、GID、家目录、默认Shell)
    格式:username:x:UID:GID:comment:/home/username:/bin/bash
  • /etc/shadow:存储用户密码及过期策略(仅root可读)
    格式:username:加密密码:最后修改天数:最小间隔:最大有效期:警告期:禁用期

2. 用户操作命令

  • 创建用户

    useradd -m -s /bin/bash -c "Test User" testuser # -m创建家目录,-c注释
  • 修改用户

    usermod -l newname oldname # 重命名
    usermod -d /new/home -m testuser # 迁移家目录
  • 删除用户

    userdel -r testuser # -r同时删除家目录和邮件
  • 密码管理

    passwd testuser # 设置密码
    chage -E 2025-12-31 testuser # 设置账户过期时间

二、用户组管理

1. 组配置文件

  • /etc/group:存储组信息(组名、GID、成员列表)
    格式:groupname:x:GID:member1,member2

2. 组操作命令

  • 创建组

    groupadd developers
  • 修改组

    groupmod -n devs developers # 重命名组
  • 删除组

    groupdel devs
  • 管理组成员

    gpasswd -a user1 devs # 添加用户到组
    gpasswd -d user1 devs # 从组移除用户

三、权限管理

1. 文件权限基础

  • 权限类型

    • r (读):4
    • w (写):2
    • x (执行):1
  • 权限表示

    -rw-r--r-- 1 user group 1024 Jan 1 10:00 file.txt
    ↑ ↑
    │ └── 所属组权限
    └── 所有者权限

    数字表示:chmod 644 file.txt-rw-r--r--

2. 修改权限

  • 符号模式

    chmod u+x file.sh # 所有者添加执行权限
    chmod g-w file.txt # 组移除写权限
    chmod o=--- secret.txt # 其他人无权限
  • 数字模式

    chmod 750 script.sh # rwxr-x---(所有者7,组5,其他人0)

3. 特殊权限

  • SUID (4):以所有者身份执行

    chmod u+s /usr/bin/someapp # 设置SUID(显示为rws)
  • SGID (2):目录中新文件继承组

    chmod g+s /shared_dir # 设置SGID(显示为r-s)
  • Sticky Bit (1):仅文件所有者可删除

    chmod +t /tmp # 粘滞位(显示为rwt)

四、高级权限控制

1. ACL(访问控制列表)

  • 查看ACL

    getfacl /project
  • 设置ACL

    setfacl -m u:user1:rwx /project # 添加用户权限
    setfacl -x u:user2 /project # 移除用户权限

2. Sudo权限配置

  • 编辑sudoers文件

    visudo # 安全编辑/etc/sudoers
  • 授权示例

    user1 ALL=(root) /usr/bin/apt # 允许user1以root执行apt
    %devs ALL=(ALL) NOPASSWD:ALL # 组devs无需密码执行所有命令

五、关键命令速查

命令功能示例
id username查看用户UID/GIDid alice
groups查看当前用户所属组groups
chown修改文件所有者chown user:group file
chgrp修改文件所属组chgrp devs project/
umask设置默认权限掩码umask 027(新文件默认750)

六、最佳实践

  1. 最小权限原则:用户仅获必要权限(如通过组管理共享目录)
  2. 定期审计:使用auditd监控敏感操作(如/etc/sudoers修改)
  3. 密码策略:通过/etc/login.defs设置密码复杂度与有效期
  4. 备份配置:备份/etc/passwd/etc/shadow/etc/group

通过合理管理用户、组及权限,可显著提升系统安全性与运维效率。

0

评论 (0)

取消