chattr与lsattr
我们都知道Linux下可以使用命令
chmod
来修改一个文件的权限,例如可以设置不同用户对文件读、写、执行等权限,使用命令
lsmod
来查看文件的权限。但一个文件的权限还远远不止这三种,更底层的文件权限控制就可以使用
chattr
来进行控制,使用
lsattr
来进行查询。例如我们查看下上节删除失败的定时任务文件的属性:
# lsattr /var/spool/cron/root
----ia---------- /var/spool/cron/root
这个文件的属性有ia的标志位,其中i表示该文件不能被删除、重命名、软链接,也不能增加、修改文件的内容,a表示只能向文件中增加(append)内容。由于设置了这些属性,导致删除文件失败,可以使用chattr
来修改文件的属性,例如当我们减去这两个属性之后,文件成功地被删除。
# chattr -ia /var/spool/cron/root
# lsattr /var/spool/cron/root
---------------- /var/spool/cron/root
# rm -rf /var/spool/cron/root
chattr
命令的格式为 +-=[aAcCdDeijsStTu],其中符号+、-、=分别表示对属性的追加、移除、更新指定的值,后面每个字母代表一种属性值,详细解释查看man chattr
的结果;
记下这个案例不仅仅为了学习两个命令的用法,后来我反思了一下为什么我的服务器会被黑,查看了last
登陆记录以及message
日志,应该是有一天我将ssh的登陆方式从以前的仅允许密钥登陆改成也可以使用密码登陆,并且账户的密码是一个弱密码,导致被暴力破解。
暴露在互联网上的机器无时无刻不在受到攻击,安全意识需要时刻牢记啊~