温馨提示×

Debian Stream 8中如何管理用户权限

小樊
33
2025-12-29 00:30:18
栏目: 智能运维

Debian 11 Bullseye 用户权限管理实操指南

一 用户与用户组管理

  • 创建与删除
    • 创建用户(交互式,推荐):sudo adduser username
    • 创建用户(非交互式):sudo useradd -m -u 1010 -g users -s /bin/bash username
    • 删除用户:sudo deluser username;删除用户及家目录:sudo deluser --remove-home username
  • 修改与查询
    • 改名:sudo usermod -l new_username old_username
    • 改家目录:sudo usermod -d /new/home -m username
    • 改登录Shell:sudo usermod -s /bin/zsh username
    • 锁定/解锁:sudo passwd -l username;sudo passwd -u username
    • 查询所属组:groups username 或 id username
  • 用户组
    • 创建/删除:sudo groupadd groupname;sudo groupdel groupname
    • 加入/移除组:sudo usermod -aG groupname username;sudo gpasswd -d username groupname
    • 说明:将用户加入组时务必使用 -a(append),避免覆盖原有附加组。

二 文件与目录权限

  • 查看与修改
    • 查看:ls -l
    • 数字法:chmod 755 file(所有者 rwx,组和其他 r-x);chmod 644 file(rw-r–r–)
    • 符号法:chmod u+x file;chmod g-w file;chmod o=r file
  • 属主与属组
    • 修改属主/属组:sudo chown username:groupname file;仅改属组:sudo chgrp groupname file
  • 默认权限掩码
    • 设置:umask 022(新文件通常为 644,目录 755);umask 002(组内可写 664/775)
  • 特殊权限
    • SUID:chmod u+s file(执行时临时拥有属主权限)
    • SGID:chmod g+s dir(目录中新文件继承目录的组)
    • Sticky:chmod +t dir(仅所有者可删除自己在该目录下的文件)

三 提权与sudo配置

  • 授予sudo
    • 将用户加入 sudo 组:sudo usermod -aG sudo username
    • 直接编辑 sudoers:sudo visudo
      • 允许某用户执行所有命令:username ALL=(ALL:ALL) ALL
      • 允许某组执行所有命令:%admins ALL=(ALL:ALL) ALL
  • 精细化授权
    • 限制主机与命令:username hostname=(allowed_user:allowed_group) allowed_commands
  • 安全建议
    • 始终使用 visudo 编辑,避免语法错误导致无法提权
    • 遵循最小权限原则,尽量以组为单位授权

四 细粒度访问控制与系统安全

  • ACL(访问控制列表)
    • 安装:sudo apt install acl
    • 设置:setfacl -m u:username:rwx file;setfacl -m g:groupname:r-x dir
    • 查看:getfacl file
  • 登录与SSH访问控制
    • 仅允许指定用户登录:/etc/ssh/sshd_config 中添加 AllowUsers user1 user2
    • SFTP 限制到家目录示例:
      • Match User username
        • ChrootDirectory /home/username
        • ForceCommand internal-sftp
    • 使配置生效:sudo systemctl restart sshd
  • 审计与合规
    • 登录历史:last username;当前登录:who
  • 说明
    • Debian 11 默认使用 AppArmor 作为 MAC 框架;若需 SELinux,需另行安装与启用,配置复杂度较高,非必要不建议在生产环境启用。

五 磁盘配额与密码策略

  • 磁盘配额
    • 安装:sudo apt install quota
    • 在 /etc/fstab 目标分区挂载选项添加:usrquota,grpquota
      • 示例:/dev/sda1 / ext4 defaults,usrquota,grpquota 0 1
    • 启用与设置:
      • 重新挂载:sudo mount -o remount /
      • 初始化:sudo quotacheck -avug
      • 开启:sudo quotaon -av
      • 编辑用户配额:sudo edquota username(设置软/硬限制,如 blocks/inodes)
  • 密码策略
    • 设置最大有效期(如 90 天):sudo chage -M 90 username
    • 强制下次登录修改密码:sudo chage -d 0 username

0