您当前的位置:首页 > 分类 > 技术资讯 > LINUX > 正文

Linux 用户身份切换,su和sudo区别

发布时间:2016-12-29 10:56:17      来源:51推一把
【摘要】Linux系统中,有时候普通用户有些事情是不能做的,除非是root用户才能做到。这时就需要临时切换到root身份来做事了。
Linux系统中,有时候普通用户有些事情是不能做的,除非是root用户才能做到。这时就需要临时切换到root身份来做事了。
用test账号登录linux系统,然后使用su - 就可以切换成root身份,前提是知道root的密码。

su 的语法为:su [-] username
#后面可以跟”-”也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户。
#加”-“后会连同用户的环境变量一起切换过来。
echo $LOGNAME 查看当前登录的用户名

sudo的产生
用su是可以切换用户身份,如果每个普通用户都能切换到root身份,如果某个用户不小心泄漏了root的密码,那岂不是系统非常的不安全?没有错,为了改进这个问题,产生了sudo这个命令。使用sudo执行一个root才能执行的命令是可以办到的,但是需要输入密码,这个密码并不是root的密码而是用户自己的密码。默认只有root用户能使用sudo命令,普通用户想要使用sudo,是需要root预先设定的,即,使用visudo命令去编辑相关的配置文件/etc/sudoers。如果没有visudo这个命令,请使用” yum install -y sudo”安装。

ps:直接输入visudo命令即可,不需要后面跟文件名,后面什么参数也不加,否则会报usage: visudo [-chqsV] [-f sudoers]


默认root能够sudo是因为这个文件中有一行” root ALL=(ALL) ALL” 在该行下面加入” test ALL=(ALL) ALL”就可以让test用户拥有了sudo的权利。如果每增加一用户就设置一行,这样太麻烦了。所以你可以这样设置。


把这一行前面的”#”去掉,让这一行生效。它的意思是,wheel这个组的所有用户都拥有了sudo的权利。接下来就需要你把想让有sudo权利的所有用户加入到wheel这个组中即可。