在Linux系统中进入管理员模式(即获取root权限)主要通过以下几种方式实现:
1. `su`命令
- 直接输入`su`并回车,系统会提示输入root密码。验证成功后切换到root用户,提示符变为`#`。
- 若需保留原用户环境变量,使用`su -`或`su - root`。
- 限制普通用户使用`su`可通过修改`/etc/pam.d/su`文件,或将其从`wheel`组移除(需配置`/etc/group`)。
2. `sudo`命令
- 在命令前加`sudo`临时以root权限执行,输入当前用户密码即可(非root密码)。
- 配置权限需编辑`/etc/sudoers`文件,使用`visudo`命令防止语法错误。例如添加:
username ALL=(ALL:ALL) ALL
- `sudo -i`或`sudo -s`可启动交互式root shell。
3. SSH直接登录root
- 修改`/etc/ssh/sshd_config`,将`PermitRootLogin`设为`yes`并重启SSH服务(`systemctl restart sshd`)。
- 安全风险较高,建议仅限内网使用,或结合密钥认证。
4. 单用户模式(紧急模式)
- 重启系统,在GRUB菜单选择内核时按`e`进入编辑模式,在`linux`行末尾添加`init=/bin/bash`,按Ctrl+X启动。
- 此模式直接获得root shell,需手动挂载文件系统为可写(`mount -o remount,rw /`)。
5. 其他工具
- `pkexec`:基于PolicyKit的权限提升工具,图形界面下常用。
- `doas`:OpenBSD开发的轻量级替代品,配置文件为`/etc/doas.conf`。
安全建议:
避免长期使用root会话,用完立即退出。
通过`sudo`分配精细权限,遵循最小权限原则。
定期审查`/var/log/auth.log`监控权限使用情况。
禁用root远程登录,使用普通用户+`sudo`过渡。
为root设置强密码并启用双因素认证(如Google Authenticator)。
扩展知识:
SELinux/AppArmor可限制root权限扩散,通过强制访问控制(MAC)增强安全性。
`auditd`服务可记录所有root操作,便于审计。
在脚本中使用`set -e`和`set -u`避免权限误操作导致系统故障。