标签:
在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...
标签:
原文地址:http://www.cnblogs.com/penny-jimmy/p/4565360.html