通过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当然就是指命令名了。
文章讲述了如何通过sudo和visudo命令来管理Linux系统中用户的权限。首先,展示了普通用户尝试使用sudo时遇到的权限问题。接着,通过visudo编辑sudoers文件,赋予用户李白全权限。然后,由于错误操作导致visudo更新失败。在修复后,限制李白只能使用ls命令访问/root目录。最后,测试显示李白只能执行ls命令,无法执行reboot等其他命令,实现了对用户权限的有效限制。
509

被折叠的 条评论
为什么被折叠?



