Linux虚拟机权限管理主要涉及用户权限、文件权限及特殊权限配置,具体方法如下:
-
用户管理
- 创建用户:
sudo useradd -m -s /bin/bash username(-m创建家目录,-s指定shell)。 - 设置密码:
sudo passwd username。 - 添加到组:
sudo usermod -aG 组名 username(-aG追加组,避免覆盖原有组)。 - 删除用户:
sudo userdel -r username(-r同时删除家目录)。
- 创建用户:
-
文件/目录权限
- 查看权限:
ls -l(文件)或ls -ld(目录)。 - 修改权限:
chmod:数字模式(如755:所有者rwx,组和其他rx)或符号模式(如chmod u+x file)。chown:修改所有者和组,如chown user:group file。chgrp:修改所属组,如chgrp newgroup file。
- 查看权限:
-
特殊权限与高级配置
- SUID/SGID/Sticky Bit:
- SUID:
chmod u+s file(以所有者身份执行,如/usr/bin/passwd)。 - SGID:
chmod g+s dir(组内成员继承目录权限)。 - Sticky Bit:
chmod +t dir(限制删除权限,如/tmp目录)。
- SUID:
- ACL(访问控制列表):
- 查看:
getfacl file。 - 设置:
setfacl -m u:用户名:权限 file(如setfacl -m u:alice:rwx file)。
- 查看:
- SUID/SGID/Sticky Bit:
-
系统级权限控制
- 配置
sudo权限:通过visudo编辑/etc/sudoers,添加username ALL=(ALL) NOPASSWD: /path/to/command(免密码执行指定命令)。 - 监控用户活动:
last(查看登录记录)或auditd(实时监控)。
- 配置
-
安全模块(可选)
- SELinux/AppArmor:通过
ls -Z查看上下文,chcon修改标签,限制进程权限。
- SELinux/AppArmor:通过
以上命令需在虚拟机终端执行,部分操作(如修改系统文件权限)需root权限。操作前建议备份重要数据,避免误操作导致权限异常。