温馨提示×

Ubuntu Message中如何设置用户权限

小樊
35
2025-11-29 14:59:53
栏目: 智能运维

Ubuntu 中设置用户权限的完整指南

一 概念与目标

  • Ubuntu 中,“权限”通常包含三层含义:
    1. 通过 sudo 赋予用户以管理员身份执行命令的能力;
    2. 通过 用户与组 管理决定谁能访问哪些资源;
    3. 通过 文件/目录权限 控制读®、写(w)、执行(x) 的访问控制。
  • 常见目标包括:为新用户开通 sudo、精细控制文件访问、按组管理权限、必要时调整 root 远程登录策略。

二 赋予用户 sudo 权限

  • 推荐方式一(更安全):将用户加入 sudo
    • 执行:sudo usermod -aG sudo <用户名>
    • 使变更生效:用户需重新登录(或重启会话)。加入后,该用户可在命令前加 sudo 执行需要管理员权限的操作。
  • 推荐方式二(精确控制):编辑 /etc/sudoers
    • 使用 sudo visudo 安全编辑,添加如下行:
      • 按需输入密码:username ALL=(ALL:ALL) ALL
      • 免密执行:username ALL=(ALL:ALL) NOPASSWD: ALL
    • 也可为组授权:%sudo ALL=(ALL:ALL) ALL(组名前加 %)。
  • 安全提示:不要直接 chmod +w /etc/sudoers 再编辑,避免语法错误导致系统无法获取 sudo;始终使用 visudo

三 创建与管理用户和组

  • 创建用户
    • 交互式更安全:sudo adduser <用户名>(会自动创建家目录、提示设置密码等)。
    • 非交互式:sudo useradd -m -s /bin/bash <用户名>(创建家目录并指定默认 shell),随后用 sudo passwd <用户名> 设置密码。
  • 管理组与组成员
    • 新建组:sudo addgroup <组名>
    • 将用户加入组:sudo usermod -aG <组名> <用户名>(常用于把用户加入 sudo 组或其他业务组)。
  • 删除用户
    • 仅删除账号:sudo userdel <用户名>
    • 连同家目录一起删除:sudo userdel -r <用户名>

四 设置文件与目录权限

  • 查看权限:ls -l <路径>(如 -rwxr-xr-- 表示类型与权限位)。
  • 修改权限(八进制与符号两种方式)
    • 八进制:chmod 755 <文件/目录>(所有者 rwx,组和其他人 r-x);chmod 644 <文件>(所有者 rw-,组和其他人 r–)。
    • 符号:chmod u+x <文件>(给所有者加执行)、chmod g-w <文件>(从组移除写)、chmod o=r <文件>(其他人只读)。
  • 修改所有者和所属组
    • 更改所有者:sudo chown <用户名> <文件/目录>
    • 更改所属组:sudo chown :<组名> <文件/目录>
    • 同时更改:sudo chown <用户名>:<组名> <文件/目录>
  • 原则:最小权限原则,目录通常需要 x 权限才能进入;谨慎使用 777

五 进阶 安全加固与远程登录

  • 控制 root 远程登录(SSH)
    • 编辑:sudo vim /etc/ssh/sshd_config
    • 选项:PermitRootLogin no(禁止)、without-password(仅密钥)、forced-commands-only(仅命令)、yes(开放)。修改后执行 sudo systemctl restart ssh 使配置生效。
  • 使用 AppArmor 进行进程级强制访问控制(按需)
    • 安装:sudo apt-get install apparmor apparmor-utils
    • 配置目录:/etc/apparmor.d/,可为关键服务定义更细粒度的权限边界。

0