有些文件,我们是不希望别人看见的,或者是不希望别人改动的,但是在开发环境中,特别是在多人,有开发和运维多人维护的系统下,无法保证文件的安全,比如,系统的默认语言配置文件 /etc/sysconfig/i18n,由于有时候,一个系统的root密码不是只有一个掌有,所有,发生故障,很难快速的定位负责人和找出做了什么改动。
这个文件看似很简单,却在生产和测试环境中最容易出问题,今天,就发生了一起,因为有人改动这个文件,而导致开发的一个功能不能使用,开发下的代码和日志文件乱码。
但是这样的问题,想找到肇事者很难,那只有一种方法来解决,那就是保证每一次修改,都是经过自己同意的。
chattr 是一个不错的选择,
chattr +i /etc/sysconfig/i18n
这样就可以避免普通用户尝试删除和更改这个文件,但是,root用户一样可以,只要知道这个命令,还是一样可以使用
chattr -i /etc/sysconfig/i18n 来删除i属性,那么,就来点狠的。
locate 这个chatrr文件的位置。
在 /usr/bin/chattr ,我们来给这个文件改个名字, cp -p chattr 自己想要的名字 ,然后删除原文件,
重新touch一个虚假的chattr文件,
这样,在其他人尝试更改的i18n文件的时候,就发现找不到这个命令了,
当然,自己还以使用的,因为/usr/bin/文件众多是可,自己随机起的名字,想找到异常,好比大海捞针。
要修改的时候 直接使用自己cp的文件名,在/usr/bin/用法和chattr 一样。
这样就够了?当然不够!
还是可以通过重新安装e2fsprogs 这个包来重新获取到新的chattr文件,那我们就不允许/usr/bin/chattr文件被删除,移动和修改,首先,使用复制的文件名给chatrr文件添加i属性,然后使用vim 工具给这个文件添加密码。
vim 在命令模式下,输入大写X,然后,输入两次密码,就可以了。
ok,至此,只有自己可以修改这个i18n的文件了。