在 Linux 云服务器中使用 sudo 是一个关键的管理操作,它允许授权用户以超级用户(root)权限执行命令。以下是详细的使用指南和注意事项:
sudo [选项] 命令
bash
sudo nano /etc/hostssudo 组: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:ALLbash
sudo cat /var/log/auth.log | grep sudovisudo 中限制特定命令,例如: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 配置。