有一个奇怪的。
我有一个继承了它的 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 或其他可打印字符(可能性很小,但最好确保)。