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密码才行,而其他命令只需要输入用户自己的密码。