我有一个新的 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