linux切换到管理员su的4种方法的区别

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:56:46
切换到管理员root
1 su 2 su - 3 su root 4 su - root
这四种方法都能切换到root
那他们之间的区别是什么呢
希望达人们能说得越详细越好

inux下切换到root权限有以下几种方式:
sudo bash
sudo su
sudo -s
sudo su -
su – root
下面来讨论下这几种切换方法的区别。
1,首先普及下如何查看当前用户加载的shell。
cat /etc/shells       #可以看到本系统中可以使用哪些shell
echo $SHELL         #可以查看当前默认的shell
cat /etc/passwd |grep username #查看当前用户的默认shell
2,认识zsh。
目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash,但是真正强大的 Shell 是深藏不露的 zsh
3,把我的shell修改成zsh。
命令:chsh -s /bin/zsh username(如果不加用户名,表示当前用户)

可以看到,shell已经被改变了,这个时候需要当前用户退出才行,再次登录就会加载刚刚修改的shell了。
而此时root的shell是:

4,开始测试。
执行命令sudo bash

可以看到root使用的是用户自己的shell
执行命令sudo su

加载的是root自己的shell
执行命令sudo -s

加载的是用户的shell
执行命令sudo su -

加载的是root的shell
执行命令su – root

这里加载的是root用户自己的shell
总结:
sudo bash
sudo -s
以上两个命令切换到root权限时候加载的shell是用户自己的shell。
sudo su
sudo su -
su – root
以上三个命令切换成root后执行的是root自己的shell。但是su – root 命令得输入root密码才行,而其他命令只需要输入用户自