linux:只能通过 su 进入用户,没有控制台,没有 ssh?

linux:只能通过 su 进入用户,没有控制台,没有 ssh?

有一个奇怪的。

我有一个继承了它的 CentOS 盒子,所有用户帐户的行为似乎都符合预期,但有一个例外,我们称之为“weirduser”。

找到“weirduser”的唯一方法是

$  su - weirduser  or
$  su weirduser

然后输入 weirduser 的密码。

我无法从控制台或使用密钥对或密码从 ssh 会话以交互方式登录 weirduser。

其他信息:

$ grep weird /etc/passwd 
weirduser:x:500:501:weird:/home/weirduser:/bin/bash

]$ ls -ld /home/weirduser
drwxrws--- 21 weirduser weird 4096 Sep 30 17:40 /home/weirduser

$ su - weirduser
Password: 
[weirduser ~]$ id
uid=500(weirduser) gid=501(weird) groups=501(weird)

$ grep -ir osi /etc/pam.d
[weirduser ~]$ 

sshd_config 中没有 AllowUsers 或 DenyUsers 或 AllowGroups 或 DenyGroups。

不知道接下来该去哪里。有什么建议吗?

谢谢!

答案1

事实证明它是在名为 /etc/login.block 的文件中配置的

谢谢大家。

答案2

~weirduser/.bash_profile 中的指令是否可能导致它注销?当您尝试从控制台或 SSH 登录时,您没有提供任何有关其行为方式的详细信息(错误消息、步骤之间的时间等)。但是,我注意到它有 bash 作为 shell。手册页指出 ~/.bash_profile 仅用于登录 shell,我认为这意味着控制台和 SSH,而不是 su。

顺便检查一下其他 ~weirduser/.bash* 文件。也可以查看 /etc/profile,但这种情况不太可能发生。

这只是猜测,但值得检查。如果您提供更多有关其失败方式的数据,我很乐意尝试提出更多想法。

祝你好运。

答案3

看来它不喜欢主目录上的 setgid。尝试chmod g-s /home/weirduser

答案4

用户的主目录是组可写的。这会导致 ssh 公钥授权无法工作(这就是该消息的Authentication refused: bad ownership or modes for directory /home/osi意思)。ssh 公钥授权要求~~/.ssh只能~/.ssh/authorized_keys由用户写入(模式 755 或更严格)。

这并不能解释为什么控制台和带密码的 ssh 不起作用。当您尝试登录时会发生什么:密码被拒绝,还是被接受但随后您又回到了登录提示?如果是后者,则可能是由于用户配置文件中的某些异常(/home/osi/.bash_profile/home/osi/.profile) — 虽然使用控制台登录工作会非常奇怪su -,但使用控制台登录则不会。

用户的 shell 是/bin/bash。检查 是否/bin/bash在 中/etc/shells,以及它是否存在且可执行。还要检查行尾没有虚假的 CR 或其他可打印字符(可能性很小,但最好确保)。

相关内容