su 适用于这样的情景,当一个普通用户登录系统,但是去执行命令的时候没有权限,但我们想到一个办法,切换到root下,以root这个账户身份去执行这个命令,权限不就够了吗,但是这种情况前提是知道root密码,不知道的话,就没办法切换了,但是知道密码登录root是很危险的。
为了避免这种情况发生,有另外一种工具 sudo ,它可以让普通用户临时地去执行比如说root用户的一条命令,它以root的身份去执行,但是呢,你执行的时候,我不需要你知道root的密码,只需要知道你自己的密码即可,甚至不用输入自己的密码就去执行这条命令,那这样就避免把root的密码告诉普通用户,增加安全性。
如何使用:
#先配置一下配置文件
[root@wy ~]# visudo #打开sudo的配置文件
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
wyy ALL=(root) /bin/ls
第一个是用户名 ,意思是说wyy用户可以使用你指定的用户的命令,
第二个是wyy用户使用root用户的一些命令,以root的身份去执行,ALL表示从哪里登录,这表示所有来源Ip,也可以写一个
ip 去限制一下。
第三个 ALL是所有的命令,而这我们只用/bin/ls,写绝对路径。多个命令逗号隔开。
#然后打开wyy普通用户(这以此为例 )的一个登录界面,再使用这个命令
解释说明:
你若不想输入自己密码,可以在配置文件里这样写:wyy ALL=(root) NOPASSWD: /bin/ls
#查看当前用户是否有一些sudo的命令
sudo -l
注:sudo配置文件为/etc/sudoers
本文出自 “linux” 博客,转载请与作者联系!
原文:http://warm51fun.blog.51cto.com/3884274/1891574