使用“root”凭据login到ssh上的CentOS服务器。
当我运行whoami
它会报告根预期:
[root@web1 ~]# whoami root
如果我尝试更改为另一个用户帐户,则“ftp_usr_andy”不起作用,并将我保留为“root”:
[root@web1 ~]# su - ftp_usr_andy [root@web1 ~]# whoami root
如果我检查/var/log/secure
的日志,则显示会话已打开,然后立即closures:
[root@web1 ~]# tail /var/log/secure Jan 31 11:33:43 web1 su: pam_unix(su-l:session): session opened for user ftp_usr_andy by root(uid=0) Jan 31 11:33:43 web1 su: pam_unix(su-l:session): session closed for user ftp_usr_andy
为什么我不能切换到另一个用户,如果我作为根login? 所有我读过的说,你只是运行su - username
,应该是这样的。 我究竟做错了什么?
您需要validation此用户是否具有有效的shell,才能以此用户身份login或将当前用户更改为该用户。
默认的用户shell可以在/etc/passwd
文件中find。 通常,服务的用户没有像/bin/false
这样的有效shell,因为他们不需要login服务器。
您可以使用以下命令更改用户默认shell(例如bash
):
# usermod -s /bin/bash user_name
你也可以使用:
# chsh user_name
这也会告诉你这个用户的当前shell。