码迷,mamicode.com
首页 > 其他好文 > 详细

su与sudo的区别

时间:2015-06-10 11:45:29      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

在Linux系统上操作的时候,如果某些命令需要root权限才能执行,我们需要切换到root用户,这时我们有两种方法。

第一种: 直接切换到root用户,执行该命令。该命令不仅把用户身份切换为root,也把工作环境切换到了root。su - 与 su - root是同样的功能

[yapei@dhcp-129-232 ~]$ su -
Password: 
Last login: Tue Jun  2 16:33:46 CST 2015 on pts/0
[root@dhcp-129-232 ~]# whoami
root
[root@dhcp-129-232 ~]# pwd
/root

第二种: 使用sudo。通过su - / su - root切换到root用户和环境后,可以进行任何操作,而通过sudo可以把某些超级用户root拥有的权限有限制的开放,也就是说sudo是有限制的su。sudo不要求用户知道root的密码,但需要授权许可。

sudo命令执行的流程是从当前用户切换到root用户,以root用户执行指定命令后,退回到切换前的用户。

[yapei@dhcp-129-232 ~]$ sudo docker images
[sudo] password for yapei: 
yapei is not in the sudoers file.  This incident will be reported.

sudo命令执行没有成功,表示该用户不能执行sudo命令,那么如何给某个指定用户授权?

su - / su - root切换到root用户后,vi /etc/sudoers文件,在该文件中加入一行 yapei ALL=(ALL) ALL后,退出root用户

[root@dhcp-129-232 ~]# cat /etc/sudoers | grep yapei
yapei   ALL=(ALL)       ALL

再重新执行sudo命令,发现sudo命令执行成功,跟切换到root再执行命令的结果是一样的。

[yapei@dhcp-129-232 ~]$ sudo docker images
[sudo] password for yapei: 
sudo: docker: command not found
[yapei@dhcp-129-232 ~]$ whoami
yapei

这是切换到root执行命令的结果

[root@dhcp-129-232 ~]# whoami
root
[root@dhcp-129-232 ~]# docker images bash: docker: command not found...

 

su与sudo的区别

标签:

原文地址:http://www.cnblogs.com/penny-jimmy/p/4565360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!