今天收到服务器告警通知,提示磁盘空间不足。查看了一下messages日志文件,发现已经4G多了,所以想着把messages清空一下来释放点空间出来。但是在处理的时候提示Operation not permitted没有权限。

报错提示

[root@elk log]# ls -lash
total 4.8G
....
4.1G -rw-------   1 root          root          2.4G May 22 10:01 messages  # 权限600,属主属组都是root
676K -rw-------.  1 root          root          673K Aug  5  2014 messages-20140805
 30M -rw-r--r--   1 root          root           30M May 21 20:41 mysql-pt-kill.log
4.0K drwxr-xr-x   2 root          root          4.0K May 14 14:06 networkbench
....
[root@elk log]# whoami
root
[root@elk log]# echo "" > messages
-bash: messages: Operation not permitted
[root@elk log]# cat /dev/null > /var/log/messages 
-bash: /var/log/messages: Operation not permitted

处理方法

既然是root用户,那么对整个系统的权限自然是最高的,没道理提示没有权限。那么,肯定是扩展权限的锅,查看了一下果不其然。

[root@elk log]# lsattr messages  # 查看扩展权限
-----a---------- messages
[root@elk log]# chattr -a messages  # 去掉扩展权限
[root@elk log]# lsattr messages 
---------------- messages
[root@elk log]# echo /dev/null > messages
[root@elk log]# ls -lash messages
4.0K -rw------- 1 root root 10 May 22 10:04 messages

清理完成之后,谨慎起见,还是吧扩展权限还原回去。

[root@elk log]# chattr +a messages
[root@elk log]# lsattr messages
-----a---------- messages
[root@elk log]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G   14G  6.2G  69% /
devtmpfs        2.9G     0  2.9G   0% /dev
tmpfs           2.9G     0  2.9G   0% /dev/shm
tmpfs           2.9G  294M  2.6G  11% /run
tmpfs           2.9G     0  2.9G   0% /sys/fs/cgroup
/dev/vdb        300G  129G  171G  44% /data
tmpfs           581M     0  581M   0% /run/user/0
tmpfs           581M     0  581M   0% /run/user/1002
文章目录