清理messages提示-bash: /var/log/messages: Operation not permitted的处理

时间:2022-04-27 09:27:48
报警提示系统盘容量不足了/var/log下查看messages日志已经很大了,所以就想着把messages清空一下,以此来释放空间.在删除的时候提示没有权限。

看了下日志,发现是大量的haproxy日志,记得之前是关闭了的,没有写入/var/log/haproxy.log,往messages里面写了

# tail -f /var/log/messages
Dec 28 12:43:03 localhost haproxy[11609]: 10.11.251.31:25285 [28/Dec/2017:12:43:02.974] hs_chiansoft_info hs_chiansoft_info_backend/node1 0/0/158/165/323 200 288 - - ---- 46/43/43/21/0 0/0 "POST /get HTTP/1.1"
Dec 28 12:43:03 localhost haproxy[11609]: 10.11.251.31:25290 [28/Dec/2017:12:43:02.977] hs_chiansoft_info hs_chiansoft_info_backend/node2 0/0/162/167/329 200 288 - - ---- 47/44/44/22/0 0/0 "POST /get HTTP/1.1"


# vim /etc/rsyslog.conf
注释掉以下两行
#$ModLoad imudp
#$UDPServerRun 514

/etc/init.d/rsyslog restart

看到日志没有追加了

一、继续处理问题

在使用echo往messages里面追加空数据库的时候提示Operation not permitted

[root@u05mix02 log]# echo /dev/null > /var/log/messages
-bash: /var/log/messages: Operation not permitted

二、解决方法

[root@u05mix02 log]## lsattr messages
-----a-------e- messages                //查看messages的扩展权限
-----a---------- messages
[root@u05mix02 log]## chattr -a messages    //清除a权限
[root@u05mix02 log]## lsattr messages     //再次查看a权限已经清除
---------------- messages
[root@u05mix02 log]## echo /dev/null > messages    //使用echo追加空到messages
[root@u05mix02 log]## ls -lash messages      //查看messages大小
4.0K -rw------- 1 root root 2.0K Nov 28 12.58 messages
[root@u05mix02 log]## chattr +a messages   //谨慎起见再次把a权限加回去
[root@u05mix02 log]## lsattr messages     //a权限添加成功
-----a---------- messages

三、总结

直接使用ls查看messages的权限是655,属主属组都是root用户,所以不存在系统权限问题.经过Google提示查看扩展权限,经过上面的解决方法终于解决了Operation not permitted问题.