温馨提示×

ubuntu虚拟机怎么设置用户权限

小樊
31
2025-12-06 13:24:37
栏目: 云计算

Ubuntu 虚拟机用户权限设置

一、前置说明与原则

  • 虚拟机里的 Ubuntu 与物理机权限机制一致,核心在于:创建用户、加入 sudo 组或修改 /etc/sudoers 来授予管理权限、按需配置登录与远程访问。
  • 修改 /etc/sudoers 务必使用 visudo,它会做语法检查,避免因配置错误导致 sudo 不可用。
  • 常见权限模型:普通用户(日常使用)、sudo 组成员(提权执行管理命令)、root(最高权限,建议仅应急使用)。

二、创建用户并加入 sudo 组

  • 创建新用户(交互式设置密码与信息):sudo adduser username
  • 将用户加入 sudo 组(推荐方式):sudo usermod -aG sudo username
  • 验证 sudo 权限:su - username 后执行 sudo -l,应能看到允许的规则
  • 说明:Ubuntu 默认把安装时创建的首个用户加入 sudo 组;其他用户需按上述方式加入后方可使用 sudo。

三、精细控制 sudo 权限(visudo)

  • 安全编辑 sudoers:sudo visudo
  • 为用户授予全部管理权限(示例用户为 alice):alice ALL=(ALL:ALL) ALL
  • 为用户组授予全部管理权限:%sudo ALL=(ALL:ALL) ALL
  • 免密执行 sudo(谨慎使用,示例为 bob):bob ALL=(ALL) NOPASSWD:ALL
  • 仅允许以特定用户身份运行某命令(示例仅允许以 root 身份运行 /usr/bin/apt):charlie ALL=(root) /usr/bin/apt
  • 提示:每行含义为“用户/组 主机=(目标用户:目标组) 命令”,尽量遵循最小权限原则。

四、远程访问与防火墙(可选)

  • 安装并启动 SSH 服务:sudo apt install openssh-server;sudo systemctl status sshd
  • 编辑 /etc/ssh/sshd_config(示例安全项):
    • PermitRootLogin no
    • PasswordAuthentication yes
  • 重启 SSH:sudo systemctl restart sshd
  • 如启用 UFW 防火墙,放行 22/TCP:sudo ufw allow 22/tcp;sudo ufw reload
  • 远程登录测试:ssh username@虚拟机IP

五、常用维护与排错

  • 修改用户密码:sudo passwd username(当前用户或 root 可执行)
  • 删除用户(保留家目录):sudo deluser username;如需同时删除家目录与邮件假脱机:sudo deluser --remove-home username
  • 切换用户:su - username;退出:exit
  • 查看当前用户与组:id;查看 sudo 可用规则:sudo -l
  • 修改 root 密码(仅在需要时):sudo passwd root
  • 重要提示:编辑 /etc/sudoers 请用 visudo;若误改导致 sudo 失效,可在恢复模式下用 root 修正,或切换到已加入 sudo 的其他管理员账户修复。

0