“su 用户”在 CentOS 7 上不起作用

“su 用户”在 CentOS 7 上不起作用

我有一个新的 CentOS 服务器。

这是服务器uname信息:

联合国前信息

[root@server ~]# uname -vr
3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018
[root@server ~]#

当我尝试使用该su命令更改用户时,运行该命令后没有任何反应:

苏结果

[root@server ~]# su ks1
[root@server ~]#

我确实添加了我的用户,wheel但这并没有影响结果!

正如评论中提到的

[root@server ~]# getent passwd ks1
ks1:x:1004:1006::/home/ks1:/bin/false

你知道问题是什么吗?

答案1

为了将s服务u转给另一个用户,您需要一个 shell。 shellsu是按以下顺序指定的:

  • 用 --shell 指定的 shell
  • 如果使用 --preserve-environment 选项,则在环境变量 SHELL 中指定的 shell。
  • 目标用户的 passwd 条目中列出的 shell
  • /bin/sh

由于您没有指定--shell--preserve-environment选项,并且用户列出了一个 shell,因此su执行了该 shell,该 shell 立即退出。

相反,请尝试为用户设置有效的 shell,或使用--shell.

su --shell /bin/bash ks1
# or
chsh -s /bin/bash ks1
su ks1

相关内容