配置服务器的时候遇到几个站的php.ini不能修改也不能删除,郁闷了之余google了一下,原来是文件-i属性的事,印象中了解过这东西,关键时刻又想不起来。所以记录一下。
[root@javasboy root]# ls -l php.ini -r--r--r-- 1 root root 0 Aug 5 23:00 php.ini [root@javasboy root]# rm -rf php.ini rm: cannot unlink `php.ini': Operation not permitted
您是全能root用户,居然系统告诉您操作不允许,是Linux疯了么?当然不是,如果您会用lsattr命令,问题就有了答案。
[root@javasboy root]# lsattr ---i---------- ./php.ini
秘密终于暴露了,在lsattr命令下,这个1.txt文件带有一个"i"的属性,所以才不可以删除。您现在可以用下边的一系列命令:
[root@javasboy root]# lsattr php.ini ---i---------- php.ini [root@javasboy root]# chattr -i php.ini [root@javasboy root]# rm -rf php.ini
成功了,这个属性专门用来保护重要的文件不被删除,通常的情况下,懂得用这几个命令的通常系统管理员有能力判断这个文件是否可以被删除。如果您想给一个文件多加点保护,可以使用下边的命令:
chattr +i filename
命令,这样一来,想要删除这个文件就要多一个步骤。同时,这样的文件也是不可以编辑和修改的。只有root用户才能使用chattr命令。此命令可以在Linux ext2或ext3系统上使用。
文章评论