linux中su和sudo的细节操作
昨天来源:红黑联盟
说明:单纯使用su切换成为root的身份,读取的变量设置方式non―login shell的方式,这种方式下很多原本的变量不会被改变,尤其是我们之前谈过很多次的PATH这个变量,由于没有改变成为root的环境(一堆 /sbin、/usr/sbin等目录都没有被包含进来),因此很多root贯通的命令就只能使用绝对路径来执行了。其他的还有MAIL这个变量,你输入mail时收到的邮件竟然还是zhangle的,而不是root本身的邮件。
而当你添加进-时,那么此时进入的用户所有信息就是该用户本身的
普通用户若想执行只有root身份才能执行的文件或目录,则可以通过su - -c “将要执行的完整命令”
如:Su - -c “head n 3 /etc/shadow”
缺点:当我的主机是多人管理的环境时,如果大家都使用su来切换成为root的身份那么每个人不都要知道root的密码,这样会导致密码的流出
在用户管理的方面,通常是su和sudo搭配使用,对于超级用户而言,如果在其地下,存在某几个用户
在 /etc/sudoers 更改一下里面的User_Alias ADMINS = 后面添加用户
ADMINS ALL=(root) /bin/su
此时在命令行界面只要输入 “sudo su-” 并且输入自己的密码后立刻变成root的身份,不但root密码不会外泄,用户的管理也变得非常方便,添加用户时必须为信得过的用户