sudo -s和sudo su
时间: 2024-07-13 13:00:25 浏览: 167
`sudo -s` 和 `sudo su` 都是Linux系统中的命令,用于以超级用户(root)权限执行后续的操作,但在使用方式上有一些区别:
1. `sudo -s`: 这个命令会启动一个新的shell会话并切换到root用户,但并不会改变当前终端会话的所有者。换句话说,它不会使你的身份变成root,而是在当前登录用户的上下文中提升权限。所以,你仍然能看到自己的用户名,但能执行所有root权限操作。例如:
```
$ sudo -s
[sudo] password for your_username:
# 这里是root用户的提示符
```
2. `sudo su`: 这个命令则是直接切换用户到root,并且通常会提示输入root用户的密码。一旦密码验证通过,你会完全接管root账户,包括新的shell会话和所有权限。如果你不是root用户,这将替换当前用户为root用户:
```
$ sudo su
[sudo] password for your_username:
root@hostname # 新的提示符表示你现在是root用户
```
相关问题--
1. `sudo -s`和`sudo su`在权限提升上有什么不同?
2. 在使用`sudo su`时,为什么要输入root用户的密码?
3. 如果我误用`sudo su`,如何撤销回到原来的普通用户账户?
相关问题
sudo -i和sudo su区别
sudo -i和sudo su都可以让用户以root身份登录,但是它们之间有一些区别:
1. sudo -i会启动一个新的shell,这个shell会以root用户的环境变量和工作目录启动。而sudo su则不会启动新的shell,它只是切换到root用户。
2. sudo -i会读取root用户的.bashrc文件,而sudo su则不会读取。
因此,如果你需要完全以root用户的身份登录并使用root用户的环境变量和工作目录,那么使用sudo -i是更好的选择。如果你只需要切换到root用户执行一些命令,那么使用sudo su就可以了。
sudo -i 和sudo su有什么区别
sudo -i和sudo su都是用于切换用户身份的命令,但它们在实现上有一些区别。
1. sudo -i:
- sudo -i是以目标用户的身份登录,并启动一个新的登录会话。
- 它会加载目标用户的环境变量,包括用户的家目录和配置文件。
- 使用sudo -i后,你将进入目标用户的家目录,并且你的工作目录也会切换到目标用户的家目录。
- 例如,如果你使用sudo -i切换到root用户,你将进入root用户的家目录(/root)。
2. sudo su:
- sudo su是以目标用户的身份启动一个新的shell。
- 它不会加载目标用户的环境变量,只是切换到目标用户的身份。
- 使用sudo su后,你将保留当前用户的工作目录,不会切换到目标用户的家目录。
- 例如,如果你使用sudo su切换到root用户,你将保留当前工作目录。
综上所述,sudo -i更适合需要完全切换到目标用户身份并加载其环境变量的情况,而sudo su更适合只需要切换到目标用户身份而不改变当前工作目录的情况。
阅读全文