Linux系统用户登录命令行或执行命令显示日志文件异常-bash: /var/log/ 解决办法
经常会遇到Linux系统用户登录命令行或执行命令显示日志文件异常,比如:-bash: /var/log/xxx_audit/xxx_audit.log: Permission denied
其实是说开启日志审计功能后有日志文件权限被拒绝。
查看提示异常的文件权限:
[root@reg test]# sudo ls -lath /var/log/xxh_audit/
[root@reg test]# sudo chmod -R 666 /var/log/xxh_audit/xxh_audit.log
chmod: changing permissions of ‘/var/log/xxh_audit/xxh_audit.log’: Operation not permitted
可以看到也报异常Operation not permitted,切换到root也不行,修改不了写权限。
解决办法
继续往下,查看attr权限:
[root@reg test]# lsattr /var/log/xxh_audit/
-----a---------- /var/log/xxh_audit/xxh_audit.log
lsattr命令是显示chattr命令设置的文件属性。显示 a 权限意思是:让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件。
所以要先去掉 a权限:
chattr -i /var/log/xxh_audit/ #目录不行,必需是文件
[root@reg test]# sudo chattr -a /var/log/xxh_audit/xxh_audit.log
[root@reg test]#
[root@reg test]# lsattr /var/log/xxh_audit/
---------------- /var/log/xxh_audit/xxh_audit.log
看到通过chattr -a 已经去掉a权限了,接下来在修改文件写入权限:
[root@reg test]# ls -lath /var/log/xxh_audit/
total 144K
-rw-r--r-- 1 xxh xxh 139K Nov 16 10:15 xxh_audit.log
drwxr-xr-x. 11 root root 4.0K Nov 16 03:31 ..
drwxrwxrwx 2 root root 27 Jun 7 2021 .
[root@reg test]# chmod -R +666 /var/log/xxh_audit/xxh_audit.log
[root@reg test]#
[root@reg test]# ls -lath /var/log/xxh_audit/
total 144K
-rw-rw-rw- 1 xxh xxh 139K Nov 16 10:16 xxh_audit.log
drwxr-xr-x. 11 root root 4.0K Nov 16 03:31 ..
drwxrwxrwx 2 root root 27 Jun 7 2021 .
到这里就Ok了,再去执行其他命令不再文档开头那个异常输出了。