如何从 root 用户切换到另一个拥有 nologin shell 的用户?

如何从 root 用户切换到另一个拥有 nologin shell 的用户?

我刚学linux。我以 root 身份创建了一个名为 testuser 的新用户。然后我将 testuser 更改为 nologin shell。

现在我想以 testuser 身份登录,看看使用 nologin shell 的用户可以/不能做什么。

我尝试:su testuser 并得到:此帐户当前不可用。我尝试:su - testuser 并得到:su:警告:无法将目录更改为/ home / testuser:没有这样的文件或目录此帐户当前不可用。

如何使用 nologin shell 从 root 切换到用户?

答案1

shell的目的nologin是阻止用户登录。这样的用户可能仍然使用您的服务器服务,如 FTP、IMAP/POP3 等,但他们将无法登录,例如使用 sshd 或控制台。

如何使用 nologin shell 从 root 切换到用户?

sudo -u USERNAME /bin/bash

可以,但只有 root 才能做到。

答案2

Artem的答案很好,但如果sudo不可用,也可以使用

su --shell /bin/bash USERNAME

来自su关于-s/--shell标志的手册:

如果目标用户具有受限制的 shell(即 /etc/passwd 中该用户条目的 shell 字段未在 /etc/shells 中列出),则- 壳选项或$壳牌不会考虑环境变量,除非由 root 调用。

相关内容