Linux虚拟机权限设置指南
权限管理是Linux虚拟机安全运维的核心,合理的权限配置能有效防止误操作、保障系统稳定。以下从基础命令、用户组管理、sudo配置等方面详细说明:
chmod
用于调整文件或目录的读(r)、写(w)、执行(x)权限,支持符号表示法(如u+x
给所有者加执行权限)和数字表示法(如755
对应rwxr-xr-x
)。
chmod 744 filename
chmod u+x script.sh
chmod g-w data.txt
chown
用于变更文件/目录的所有者或所属组,格式为chown [所有者]:[所属组] 文件名
。
alice
:sudo chown alice filename
developers
组):sudo chown alice:developers filename
sudo
,避免权限不足。用户组是权限批量管理的核心工具,通过将用户加入同一组,可统一分配权限。
使用groupadd
命令创建新组(如project
组):
sudo groupadd project
。
使用usermod
命令将用户加入组(-aG
表示追加,避免移除原有组):
sudo usermod -aG project alice
注意:用户需重新登录才能使组权限生效。
用groups
命令查看当前用户的组信息:
groups alice
(输出示例:alice : alice project
)。
sudo
允许普通用户临时获得root权限,通过/etc/sudoers
文件控制权限范围。
必须使用visudo
命令(自动检查语法,避免配置错误):
sudo visudo
bob
执行所有命令:bob ALL=(ALL) ALL
charlie
仅执行重启命令:charlie ALL=(ALL) /sbin/reboot
developers
组用户执行所有命令(无需密码):%developers ALL=(ALL) NOPASSWD: ALL
。用sudo -l -U 用户名
查看用户sudo权限(如sudo -l -U alice
),或直接执行测试命令(如sudo ls /root
)。
当基础权限无法满足细粒度需求时,可使用ACL为特定用户/组分配权限。
多数Linux发行版默认启用ACL,若未启用,可通过tune2fs
命令开启(针对ext文件系统):
sudo tune2fs -o acl /dev/sdX
(/dev/sdX
为虚拟机磁盘分区)。
eve
添加对data.txt
的读写权限:setfacl -m u:eve:rw data.txt
project
添加对project_dir
的执行权限:setfacl -m g:project:x project_dir
getfacl data.txt
。sudo
,减少误操作风险。ls -l
查看文件权限,last
查看登录记录,auditd
监控用户活动。sudo cp /etc/sudoers /etc/sudoers.bak
),防止语法错误导致系统无法登录。w
)。