![sshd 不会在 CentOS 7 上的系统日志中显示失败的登录尝试](https://linux22.com/image/758169/sshd%20%E4%B8%8D%E4%BC%9A%E5%9C%A8%20CentOS%207%20%E4%B8%8A%E7%9A%84%E7%B3%BB%E7%BB%9F%E6%97%A5%E5%BF%97%E4%B8%AD%E6%98%BE%E7%A4%BA%E5%A4%B1%E8%B4%A5%E7%9A%84%E7%99%BB%E5%BD%95%E5%B0%9D%E8%AF%95.png)
在对 进行了一些修改之后rsyslog
,sshd
由于某种原因,不再将有关登录失败的信息记录到 syslog。我已将sshd
和rsyslog
配置恢复到原来的位置:
rpm -V $(rpm -qf /etc/ssh/sshd_config)
rpm -V $(rpm -qf /etc/rsyslog.conf)
都产生空输出。
然而 中仍然没有任何内容/var/log/secure
,journalctl -u sshd
仅显示:
Oct 02 12:59:29 server04.company.name systemd[1]: Starting OpenSSH server daemon...
Oct 02 12:59:29 server04.company.name systemd[1]: Started OpenSSH server daemon.
(如果您想知道:我尝试登录来检查这一点,但失败了。)
有人遇到过同样奇怪的行为吗?
答案1
重新创建/var/log/secure
文件时会发生这种情况。这会破坏文件权限,尤其是在启用了 SELinux 的情况下。
请执行下列操作:
确保/var/log/secure
拥有root:root
$ sudo chown root:root /var/log/secure
确保权限设置为600
$ sudo chmod 600 /var/log/secure
如果 SELinux 已启用,您可以在解决问题时暂时禁用它
$ sudo setenforce 0
如果您决定保持 SELinux 启用,请确保该文件具有以下上下文:
$ ls -lZh /var/log/secure
system_u:object_r:var_log_t:s0
要动态操作 SELinux(从现有的已知工作中复制上下文):
$ sudo chcon --reference /var/log/dmesg /var/log/secure
要永久操纵 SELinux 上下文,请使用塞马纳盖命令