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

pja*_*str 4 shell users nologin

我只是在学习linux。以 root 身份工作,我创建了一个名为 testuser 的新用户。然后我将 testuser 更改为 nologin shell。

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

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

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

Art*_*nov 8

该点nologin壳,以防止用户登录。这样的用户仍然可以使用,例如FTP,IMAP / POP3服务器的服务等,而使用的sshd或控制台,期间,他们将无法登录如。

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

sudo -u USERNAME /bin/bash
Run Code Online (Sandbox Code Playgroud)

会工作,但只有 root 可以做到这一点。


小智 5

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

su --shell /bin/bash USERNAME
Run Code Online (Sandbox Code Playgroud)

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

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