通过 `/var/log/auth.log` 文件可以查看一些关于 `ssh` 登陆、`sudo` 命令的信息。尤其是 `denyhosts` 依赖这个日志拦截非法的登陆攻击。 但是,我最近遇到了一个问题,在阿里云的一些主机上没有这个文件,或者日志文件在自动备份(比如被重命名成 `/var/log/auth.log.1` )之后,没有重新生成新的 `/var/log/auth.log` 。
检查 `/var/log` 目录的所有者信息,如下:
$ ls -l /var/ | grep log drwxr-xr-x 23 root syslog 4096 Apr 8 18:04 log
这里的所有者权限信息是不正确的,缺少所有者所在组的文件创建权限,导致文件创建出现问题。因此需要如下命令:
$ chmod -R 775 /data/log $ ls -l /var/ | grep log drwxrwxr-x 23 root syslog 4096 Apr 8 18:04 log
接着手工创建日志文件,如下:
$ touch /var/log/auth.log $ chmod 640 /var/log/auth.log $ chown syslog.adm /var/log/auth.log $ ls -la /var/log/auth.log