通过sudo、visudo,让普通用户使用root用户的命令
sudo于visudo
1 查看用户李白可以使用的sudo命令
[17:21:12 libai@aliyun ~]$sudo -l [sudo] password for libai: Sorry, user libai may not run sudo on aliyun.
2 编辑visuo,让李白拥有root的权限
[17:18:16 root@aliyun ~]#visud
Allow root to run any commands anywhere
root ALL=(ALL) ALL libai ALL=(ALL) ALL #仿照上面的,添加李白用户的sudo权限
3 更新visudo
[17:23:36 root@aliyun ~]#. visudo -bash: .: /usr/sbin/visudo: cannot execute binary file
4 使用李白登录,查看sudo的权限,并验证
[17:25:57 libai@aliyun ~]$sudo -l Matching Defaults entries for libai on aliyun:
User libai may run the following commands on aliyun: (ALL) ALL
[17:25:58 libai@aliyun ~]$ls /root ls: cannot open directory '/root': Permission denied [17:26:41 libai@aliyun ~]$sudo ls /root continue.sh for2.sh for.sh ls.txt passwd root uptime.txt while1.sh whille.sh
[17:30:42 libai@aliyun ~]$sudo reboot .....
[17:31:56 libai@aliyun ~]$^C
5 限制李白的权限
[17:25:14 root@aliyun ~]#visudo
root ALL=(ALL) ALL libai aliyun.com = /usr/bin/ls
[17:34:53 root@aliyun ~]#. visudo -bash: .: /usr/sbin/visudo: cannot execute binary file
6 登录李白账户测试sudo权限
[17:31:56 libai@aliyun ~]$sudo -l [sudo] password for libai:
User libai may run the following commands on aliyun: (root) /usr/bin/ls
[17:36:10 libai@aliyun ~]$ls /root ls: cannot open directory '/root': Permission denied [17:36:54 libai@aliyun ~]$sudo ls /root continue.sh for2.sh for.sh ls.txt passwd root uptime.txt while1.sh whille.sh [17:37:04 libai@aliyun ~]$sudo reboot Sorry, user libai is not allowed to execute '/sbin/reboot' as root on aliyun.com.
注:
三个ALL到底是什么意思。
第一个ALL是指网络中的主机,我们后面把它改成了 主机名,它指明李白可以在此主机上执行后面的命令。
第二个括号里的ALL是指目标用户,也就是以 谁的身份去执行命令。
最后一个ALL当然就是指命令名了。