温馨提示×

Debian Extract怎样管理用户权限与组

小樊
31
2025-12-14 04:17:22
栏目: 智能运维

Debian 用户与组管理实操指南

术语澄清与总体思路

  • “Extract”并非 Linux 命令或系统功能,常见的是 tar 的 extract(解压)操作。在 Debian 中,用户与组的管理通过系统命令完成,与解压无关。
  • 管理思路可归纳为:账户与组的增删改查 → 文件与目录的权限与属主 → 通过 sudo 授权 → 需要更细粒度时使用 ACL → 按需启用 AppArmor/SELinux 等安全模块。

用户与组管理常用命令

  • 账户管理
    • 新增用户:sudo adduser username(交互式,自动建家目录)
    • 删除用户:sudo deluser username;连同家目录删除:sudo deluser --remove-home username
    • 修改属性:sudo usermod -l 新名 旧名;改主目录:sudo usermod -d /新/家目录 -m username;改登录 Shell:sudo usermod -s /bin/bash username
    • 锁定/解锁:sudo passwd -l username / sudo passwd -u username
    • 改密码:sudo passwd username
  • 组管理
    • 新增组:sudo groupadd groupname
    • 删除组:sudo groupdel groupname
    • 用户加入/移除组:sudo usermod -aG 组名 用户名sudo gpasswd -d 用户名 组名
  • 查询信息
    • 查看用户与组:id usernamegroups username
    • 列出所有用户/组:cat /etc/passwdgetent groupcat /etc/group
  • 实用提示
    • 使用 -a(append)避免覆盖用户原有附加组;修改前用 id 确认当前所属组。

文件与目录权限设置

  • 基本权限
    • 查看:ls -l
    • 数字法:chmod 755 文件(所有者 rwx,组和其他 r-x);chmod 700 目录(仅所有者可访问)
    • 符号法:chmod u+x 文件(给所有者加执行);chmod g-w 文件(移除组写)
  • 属主与属组
    • 修改属主/属组:sudo chown 用户名:组名 文件或目录;仅改属组:sudo chgrp 组名 文件或目录
  • 默认权限掩码
    • 设置新建文件默认权限:umask 022(常见),或更严格如 027
  • 特殊权限
    • SUIDchmod u+s 文件(执行时临时拥有所有者权限)
    • SGIDchmod g+s 目录(目录下新建文件继承目录组)
    • Sticky Bitchmod +t 目录(仅文件所有者可删除自己的文件)
  • ACL 细粒度授权
    • 安装工具:sudo apt install acl
    • 授权:sudo setfacl -m u:用户名:rwx 文件sudo setfacl -m g:组名:r-x 目录
    • 查看:getfacl 文件

sudo 与远程访问安全

  • 授予 sudo
    • 推荐方式:将用户加入 sudo 组(Debian 常见做法)— sudo usermod -aG sudo 用户名;验证:groups 用户名 应包含 sudo
    • 直接编辑 sudoers(请用 visudo):用户名 ALL=(ALL:ALL) ALL;如需免密(不推荐):用户名 ALL=(ALL) NOPASSWD: ALL
  • SSH 访问控制
    • 仅允许指定用户登录:AllowUsers user1 user2(编辑 /etc/ssh/sshd_config
    • SFTP 限制到用户家目录(Chroot):
      • Match User username
        • ChrootDirectory /home/username
        • ForceCommand internal-sftp
    • 使配置生效:sudo systemctl restart sshd
  • 安全原则
    • 优先通过组授权,遵循最小权限原则;谨慎使用 NOPASSWD

进阶与系统安全模块

  • 账户生命周期与合规
    • 查看登录历史:last 用户名
    • 密码策略:sudo chage -M 90 用户名(90 天过期);强制下次改密:sudo chage -d 0 用户名
  • 磁盘配额(可选)
    • 安装:sudo apt install quota
    • /etc/fstab 目标分区挂载选项添加 usrquota,grpquota,然后 sudo mount -o remount /;初始化与启用:sudo quotacheck -avugsudo quotaon -av;编辑配额:sudo edquota 用户名
  • AppArmor 与 SELinux
    • Debian 默认启用 AppArmor:查看状态 sudo aa-status;加载配置 sudo aa-enforce /etc/apparmor.d/usr.sbin.httpd
    • SELinux 默认不启用:如需使用,安装策略包并配置 /etc/selinux/config(SELINUX=enforcing/permissive/disabled),用 sestatus 查看状态。

0