linux文件权限之-i(不可修改权限),a(只可追加权限)

之前介绍了让普通用户有root权限的setuid权限,以及除了自己之外别人都无法删除的粘着位t权限。除了这两种之外,linux文件系统还有两种很实用的权限i和a

i:不可修改权限 例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。查看文件是否设置了i权限用lsattr filename。
测试如下

01 #创建text文件,这个文件root有读写的权限
02 [root@test tmp]# touch test
03 [root@test tmp]# ll test
04 -rw-r--r-- 1 root root 0 Oct 29 15:03 test
05  
06 #然后给test文件赋予i权限
07 #(注意,修改和查看i权限位需要特殊的chattr和lsattr命令)
08 [root@test tmp]# chattr +i test
09 [root@test tmp]# lsattr test
10 ----i-------- test
11 #测试使用超管root来修改和删除这个文件
12 [root@test tmp]# echo 123>test
13 -bash: test: Permission denied
14 [root@test tmp]# \rm test
15 rm: remove write-protected regular empty file <code>test'? y
16 rm: cannot remove </code>test': Operation not permitted
17 [root@test tmp]# lsattr test
18 ----i-------- test
19 #全部报错无法删除,这样来保障这个文件避免被别人篡改和删除。

去除i权限使用chattr -i filename
如果对/etc/shadow添加了i权限,那么就没有办法添加删除和修改linux账号了,可以作为安全加固的一个小方法

a:只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用chattr +a设置追加权限。

上一篇:windows如何修改盘符,提示无法修改怎么办?


下一篇:阿里巴巴iDST杨森:智能决策在电商平台的应用