温馨提示×

ubuntu虚拟机如何设置权限

小樊
32
2025-12-28 04:45:51
栏目: 云计算

Ubuntu 虚拟机权限设置实用指南

一 用户与用户组管理

  • 创建用户:使用交互式命令创建并自动建立主目录
    sudo adduser username
  • 赋予管理员权限:将用户加入 sudo 组(Ubuntu 推荐做法)
    sudo usermod -aG sudo username
  • 创建与删除组:
    sudo groupadd groupname
    sudo groupdel groupname
  • 修改用户信息:改名、改主目录等
    sudo usermod -l newusername oldusername
    sudo usermod -d /new/home/directory testuser
  • 启用 root(不建议长期使用):
    sudo passwd root
  • 切换为 root 环境:
    sudo -i(模拟登录,加载 root 环境)或 sudo su(切换用户,不加载环境)
    以上命令覆盖了虚拟机中最常用的用户与组管理操作,适用于 VMware/VirtualBox 等平台的 Ubuntu 系统。

二 文件与目录权限

  • 修改权限(符号与数字两种方式):
    chmod u+x file(给所有者加执行)
    chmod g+w file(给组加写)
    chmod o-r file(移除其他用户的读)
    chmod 755 file(所有者 rwx,组和其他 r-x)
  • 修改所有者和所属组:
    sudo chown username:groupname /path/to/file
    sudo chown -R username:groupname /path/to/dir(递归)
  • 目录与脚本的可执行:目录通常需要 x 才能进入;脚本需有 x 才能执行,且首行声明解释器(如 #!/bin/bash
  • 常用查看:
    ls -l 查看权限与属主
    groups username 查看用户所属组
    以上为 Linux 标准的 rwx 模型与常用命令,适用于虚拟机内的日常权限配置。

三 sudo 与 sudoers 精细化控制

  • 推荐方式:将用户加入 sudo 组即可获得完整 sudo 能力。
  • 精细化授权:使用 visudo 编辑 /etc/sudoers,避免语法错误导致系统无法获取 sudo
    • 允许用户执行所有命令(谨慎):
      username ALL=(ALL) NOPASSWD: ALL
    • 仅允许特定命令(最小权限):
      username ALL=(ALL) /usr/bin/apt, /usr/bin/systemctl restart nginx
  • 审计与排错:sudo 操作会记录到 /var/log/auth.log,可用于审计与问题追踪
    通过 visudo 进行受控授权,是虚拟机环境中既安全又灵活的做法。

四 远程访问与 SSH 权限

  • 安装并启动 SSH 服务:
    sudo apt update && sudo apt install -y openssh-server
    sudo systemctl enable --now ssh
  • 限制可登录用户:编辑 /etc/ssh/sshd_config
    AllowUsers username
  • 安全建议:禁止 root 远程登录
    PermitRootLogin no
  • 应用配置:
    sudo systemctl restart ssh
    以上设置可在虚拟机开放远程管理的同时降低风险。

五 ACL 与高级安全建议

  • ACL 细粒度授权(当文件需对特定用户开放权限时):
    • 设置 ACL:
      sudo setfacl -m u:username:rwx /path/to/file
    • 查看 ACL:
      getfacl /path/to/file
  • 文件系统支持:确保分区挂载时启用 ACL(ext4/xfs 通常默认支持)
    sudo tune2fs -o acl /dev/sdXn(将 /dev/sdXn 替换为实际分区)
  • 账户安全与审计:
    • 禁用/启用账户:
      sudo passwd -l username(锁定)
      sudo passwd -u username(解锁)
    • 定期审查:
      cat /etc/passwd、cat /etc/group、sudo passwd -S username
    • 日志审计:
      sudo tail -f /var/log/auth.log
      ACL 能在“用户-组-其他”之外提供更灵活的授权,适合多人协作或多服务共存的虚拟机环境。

0