如果我su
以 root 身份重复运行(是的,为什么有人想要这样做?:),我exit
每次运行时都必须运行一次su
才能回到普通用户。发生了什么?
user@computer:~$ su
Password:
root@computer:/home/user# su
root@computer:/home/user# su
root@computer:/home/user# exit
exit
root@computer:/home/user# exit
exit
root@computer:/home/user# exit
exit
user@computer:~$
答案1
每次执行时都会生成一个新的 shell su
。如果root用户bash
设置为登录shell,bash
每次登录都会看到进程数不断增加su
ps aux | grep bash
每一个exit
都会终止一个 shell 并返回到您(最后)执行的 shell su
。
这与以 root 身份执行无关su
,除了能够在不输入凭据的情况下重复执行此操作的便利性之外。你su
自己也会得到同样的结果。
答案2
您只需启动一个新的子 shell 作为root
。使用su <yourusername>
和没有区别su <yourusername>
。您也必须退出这些才能回到“原始”用户。