![sudo -su 与 sudo su -](https://linux22.com/image/141266/sudo%20-su%20%E4%B8%8E%20sudo%20su%20-.png)
在 RHEL 7.5 上,我创建了一个非 root 用户,并且希望在没有密码的情况下从一个非 root 用户切换到另一个非 root 用户。
第一次尝试 sudo -u user1
,命令语法错误
然后尝试,sudo su - user1
询问密码,
1)为什么要求输入密码?
2)sudo -su user1
与 有何不同sudo su - user1
?
答案1
我猜测
sudo su - user1
要求输入密码,因为sudo
配置为要求输入密码才能切换到 root。sudo su - user1
切换到 root(如果sudo
允许)并运行su - user1
,这会切换到user1
.sudo -su user1
将 shell 运行为user1
.在第一种情况下,su
是一个命令,由sudo
;运行在第二个中,它是两个选项-s
并-u
提供给sudo
命令。
sudo -u user1
失败是因为你已经告诉sudo
它做某事user1
,但你还没有告诉它做什么;您需要指定要运行的命令或-s
启动 shell。
看su 与 sudo -s 与 sudo -i 与 sudo bash进行更一般性的讨论。