在 Linux 云服务器中使用 sudo
是一个关键的管理操作,它允许授权用户以超级用户(root)权限执行命令。以下是详细的使用指南和注意事项:
sudo [选项] 命令
bash
sudo nano /etc/hosts
sudo
组:bash
groups
或直接测试:bash
sudo -l
如果提示 (ALL:ALL) ALL
,则表示有完整权限。bash
usermod -aG sudo 用户名
bash
usermod -aG wheel 用户名
visudo
安全编辑):bash
sudo visudo
添加行:bash
用户名 ALL=(ALL:ALL) ALL
选项 | 作用 |
---|---|
-u 用户 |
以指定用户身份运行(如 sudo -u nginx ) |
-i |
切换到 root 的交互式 shell(需密码) |
-s |
启动 root 的 shell 但不切换环境 |
-k |
强制下次使用 sudo 时重新输入密码 |
visudo
中配置(谨慎使用):bash
用户名 ALL=(ALL) NOPASSWD:ALL
bash
sudo cat /var/log/auth.log | grep sudo
visudo
中限制特定命令,例如:bash
用户名 ALL=(ALL) /usr/bin/apt,/usr/bin/systemctl
错误:用户不在 sudoers 文件中
解决方案:
usermod -aG sudo 用户名
。错误:sudo: 找不到命令
可能原因:/usr/local/bin
不在 secure_path
中。
修复:在 visudo
中修改 Defaults secure_path
。
sudo su
:改用 sudo -i
或直接执行命令。/var/log/auth.log
。通过合理配置 sudo
,可以既保证操作便利性,又确保系统安全性。如果遇到问题,优先检查用户组和 /etc/sudoers
配置。