Ryn*_*ald 3 linux authentication terminal
我有一个 linux 用户(user2),它已设置为 shell /usr/sbin/nologin
(以阻止登录)。不,当我尝试切换到该用户时,sudo su user2
我收到该帐户不可用的信息。但当我使用时sudo -su user
它工作正常。
su
现在和之间有什么区别-su
?或者有什么作用-su
。我试图获得有关-h
或--help
或 联机帮助页的帮助,但找不到任何有用的信息。
sudo -su user
是 的缩写sudo -s -u user
。该-s
选项意味着运行环境变量中指定的 shell SHELL
(如果已设置),否则运行用户的登录 shell。该-u user
选项意味着以指定用户而不是 root 身份运行该命令。这些选项记录在 下man sudo
。
sudo su user
将用于以 root 用户sudo
身份运行该命令。su user
然后该su
命令将调用指定用户名的登录 shell。该su user
命令可以在不使用 的情况下运行sudo
,但以 root 身份运行它就不需要目标用户的密码。有关详细信息,请参阅man su
。
因此,当目标用户与调用用户具有相同的登录 shell 时,这两个命令看起来相似(很大程度上是巧合)并且具有相似的效果。但是,如果SHELL
环境变量是在调用用户的环境中设置的(通常是,通常是/bin/bash
),并且目标用户具有与此不同的登录 shell(例如/usr/sbin/nologin
),则有一个这两个命令执行哪个 shell 之间的差异,这就是您所看到的。
归档时间: |
|
查看次数: |
3919 次 |
最近记录: |