我刚学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 调用。