su与sudo

su和su -

su命令和su -命令最大的本质区别就是:

前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。

只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;

而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。

su与sudo

 

sudo

sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。
这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。

 

它的特性主要有这样几点:
       1、sudo能够限制用户只在某台主机上运行某些命令。
       2、sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
       3、sudo使用时间戳文件--日志 来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。
       4、sudo的配置文件是/etc/sudoers,属性必须为0440,它允许系统管理员集中的管理用户的使用权限和使用的主机。

 

编辑配置文件命令:visudo

编辑配置文件命令:visudo

编辑配置文件命令:visudo

使用案例

添加一行 

wrz     ALL=(ALL)    /usr/sbin/useradd

保存 退出

 

切换用户

su - wrz

su与sudo

开始测试

su与sudo

添加成功

 

上一篇:su 用于切换当前用户


下一篇:Linux配置允许普通用户免密码切换其他普通用户