清空messages没有权限的解决方法

一大早接到报警提示系统盘容量不足了,冲到/var/log下查看messages日志已经很大了,所以就想着把messages清空一下,以此来释放空间.在删除的时候遇到了一些"不愉快",简单记录下。

一、问题

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

[root@centos log]# echo " " > messages
-bash: messages: Operation not permitted

二、解决方法

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

三、总结

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