如何在SLES 12中的终端上切换到另一个用户?

如何在SLES 12中的终端上切换到另一个用户?

我创建了一个用户 ( useradd -d /home/newuser -c "My new user" -s /bin/true newuser),设置了一个密码 ( su newuser),并希望在此用户名下工作。但我无法切换到该用户。没有错误消息,没有警告——切换没有成功:

olduser@mymachine$ su - newuser
Password:
olduser@mymachine$ whoami
olduser@mymachine$ olduser

或者

olduser@mymachine$ su newuser
Password:
olduser@mymachine$ whoami
olduser@mymachine$ olduser

如何在SUSE Linux Enterprise Server 12中通过CLI切换用户?

答案1

我认为这是您创建的方式,通过指定newuser为它分配一个shell 。/bin/true-s /bin/true

useradd手册页:

https://linux.die.net/man/8/useradd

-s, --shell SHELL
    The name of the user's login shell. The default is to leave this field blank, which causes the system to select the default login shell specified by the SHELL variable in /etc/default/useradd, or an empty string by default. 

当您将其设置为/bin/true退出状态时0,因此不会产生任何错误消息。设置这样的 shell 仅对于不应该允许登录系统的用户来说是常见的。通常/bin/false使用,因为这会导致类似于cannot create shell至少给出失败原因的错误消息。

可以通过 来解决usermod -s /bin/bash newuser

相关内容