sudo su 和sudo su -
时间: 2024-01-13 22:17:55 浏览: 189
sudo su和sudo su -都是用于切换用户的命令,其中sudo su是切换到root用户,而sudo su -则是切换到root用户并且切换到root用户的家目录。具体的解释如下:
1. sudo su
sudo su命令用于切换到root用户,需要输入当前用户的密码。执行该命令的用户必须在sudoers中才可以。使用该命令后,当前用户的命令行前缀会变成root@主机名,表示已经切换到root用户。
2. sudo su -
sudo su -命令也是用于切换到root用户,但是它会同时切换到root用户的家目录。执行该命令的用户必须在sudoers中才可以。使用该命令后,当前用户的命令行前缀会变成root@主机名,表示已经切换到root用户,并且当前所在目录为root用户的家目录。
下面是两个例子:
1. sudo su
```shell
$ sudo su
[sudo] password for 用户名:
root@主机名:~#
```
2. sudo su -
```shell
$ sudo su -
[sudo] password for 用户名:
root@主机名:~#
```
相关问题
sudo -s和sudo su
`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 su和sudo -i的区别
sudo su和sudo -i都是用于切换用户身份的命令,但它们有一些区别。
1. sudo su:
- 使用sudo su命令后,需要输入当前用户的密码,然后切换到root用户。
- 切换到root用户后,会保留当前用户的环境变量,包括当前目录、PATH等。
- 使用exit命令可以退出root用户,返回到之前的用户身份。
2. sudo -i:
- 使用sudo -i命令后,同样需要输入当前用户的密码,然后切换到root用户。
- 切换到root用户后,会重置环境变量,使用root用户的默认环境变量。
- 使用exit命令可以退出root用户,返回到之前的用户身份。
总结一下:
- sudo su切换到root用户时会保留当前用户的环境变量,而sudo -i则使用root用户的默认环境变量。
- 如果你需要在root用户下执行一些需要当前用户环境变量的操作,可以使用sudo su;如果你需要在root用户下执行一些需要root用户默认环境变量的操作,可以使用sudo -i。
阅读全文