温馨提示×

Ubuntu Stream8如何进行权限管理

小樊
44
2025-12-12 22:30:20
栏目: 智能运维

Ubuntu Stream 8 权限管理实战指南

一 核心概念与快速检查

  • 权限模型基于用户-组-权限:三类主体为所有者 u、所属组 g、其他 o;三类权限为读 r=4、写 w=2、执行 x=1。目录的x是进入目录的前提;删除/创建文件取决于父目录的 w,而非文件自身权限。常用检查命令:
    • 查看当前用户与组:idgroups
    • 查看文件/目录权限与属主:ls -l
    • 查看系统账户与组:cat /etc/passwdcat /etc/group
  • 理解这些基础后,才能正确设置与排查权限问题。

二 用户与组管理

  • 用户生命周期
    • 新增用户:sudo adduser <用户名>(交互式,自动创建主目录与同名主组)
    • 仅创建用户并建主目录:sudo useradd -m <用户名> && sudo passwd <用户名>
    • 修改密码:sudo passwd <用户名>
    • 修改登录 Shell:sudo chsh -s /bin/bash <用户名>
    • 删除用户:sudo deluser <用户名>;连同主目录删除:sudo deluser --remove-home <用户名>
  • 组与 sudo
    • 创建/删除组:sudo groupadd <组名>sudo groupdel <组名>
    • 将用户加入附加组(追加,避免覆盖):sudo usermod -aG <组名> <用户名>
    • 从组移除用户:sudo gpasswd -d <用户名> <组名>
    • 赋予管理员权限:将用户加入sudo组(sudo usermod -aG sudo <用户名>),或编辑 /etc/sudoers 使用 sudo visudo 安全配置
  • 账户启停与锁定
    • 临时禁用登录:sudo usermod -s /usr/sbin/nologin <用户名>
    • 重新启用:sudo usermod -s /bin/bash <用户名>
  • 图形界面
    • 打开设置 > 用户,可进行添加/删除用户、修改密码与切换用户等操作(桌面环境提供)。

三 文件与目录权限设置

  • 基本修改
    • 符号模式:chmod u+x filechmod g-w filechmod o=r file
    • 数字模式:chmod 755 dir/(所有者 rwx,组和其他 r-x)、chmod 644 file(所有者 rw,组和其他 r)
    • 递归修改:chmod -R 755 /path/to/dir
  • 属主与属组
    • 修改属主/属组:sudo chown <用户>:<组> <文件或目录>
    • 仅修改属组:sudo chgrp <组> <文件或目录>
    • 递归:sudo chown -R <用户>:<组> /path
  • 共享目录推荐做法
    • 创建共享组与目录并设定setgid,使目录中新文件继承组:sudo groupadd <共享组>sudo mkdir /sharedsudo chown root:<共享组> /sharedsudo chmod 2775 /shared(组内成员可读写执行,其他只读执行,且新建文件继承目录组)

四 进阶 ACL 与特殊权限

  • ACL 细粒度授权(当基本 u/g/o 不够用时)
    • 启用与查看:sudo setfacl -m u:<用户>:rwx <文件或目录>getfacl <文件或目录>
    • 删除 ACL:setfacl -x u:<用户> <文件或目录>;递归与默认 ACL 可用 -R-d 选项
  • 特殊权限位
    • SUID(4):执行时以文件所有者身份运行(如 passwd)
    • SGID(2):目录中新文件继承目录所属组
    • Sticky Bit(1):目录内仅文件所有者可删除文件(如 /tmp)
    • 设置示例:chmod 4755 file(SUID)、chmod 2755 dir(SGID)、chmod 1777 /tmp(Sticky)

五 常见问题排查与安全建议

  • 排查 “Permission denied”
    • 检查目标与每一级父目录的权限与属主:ls -ld <路径>,确保路径中每层目录对当前用户具备x;必要时修正:chmod +x <目录>chown <用户>:<组> <文件或目录>
  • 排查 sudo 问题
    • 确认用户在sudo组:groups <用户名>;若不在,使用 sudo usermod -aG sudo <用户名>;编辑 /etc/sudoers 请用 sudo visudo,避免语法错误导致无法提权
  • 安全与维护
    • 遵循最小权限原则,避免滥用 chmod 777
    • 谨慎使用SUID/SGID,定期审计:find / -perm -4000 -ls(SUID)、find / -perm -2000 -ls(SGID)
    • 服务目录与日志目录按服务账户设置属主与权限,例如 Web 目录常见为 chown -R www-data:www-data /var/www/html,日志目录确保可写

0