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了,再去执行其他命令不再文档开头那个异常输出了。

参考:Linux lsattr命令与chattr命令

posted @ 2022-11-16 10:35  熊仔其人  阅读(1282)  评论(0编辑  收藏  举报