ubuntu 18.04系统/var/log/auth.log文件不存在

通过 `/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 

参考链接


/var/log/auth.log文件不存在