1、隐藏权限功能:
????防止root和其他管理用户误删除和修改重要文件及目录。此权限用ls -l是查看不出来的。
2、常见的隐藏权限:
????1)i权限:只能查看目录或文件内容,不可以删除和修改目录及文件内容,包括root用户也不可以。
????2)a权限:可以查看目录和文件内容,也可以追加文件内容,也可以在目录中创建新子目录和文件,但不可以删除目录和文件的内容,当然也不可以修改只能追加。
3、查看隐藏权限
命令语法:lsattr? 文件或目录
范例:
[root@server?data]#?ls data01??script??server01??wahaha.txt [root@server?data]#?lsattr?wahaha.txt? ----i-----------?wahaha.txt [root@server?data]#?lsattr?server01/ ----------------?server01/accp01 [root@server?data]#?lsattr?-d?server01 -----a----------?server01
注意:查看目录本身的隐藏权限的时候需要加“-d”选项,如果不加,则默认查看目录里面的文件的隐藏权限。
4、添加隐藏权限
命令语法:chattr? +选项? 目录或文件名
1)添加隐藏权限:i 权限
chattr? +i? 目录或文件名
目录上加 i 隐藏权限
[root@server?data]#?ls data01??script??server01??wahaha.txt #查看script目录是否有隐藏权限 [root@server?data]#?lsattr?-d?script/ ----------------?script/ #向script目录添加?i?权限 [root@server?data]#?chattr?+i?script #查看script目录是否有了?i?隐藏权限 [root@server?data]#?lsattr?-d?script/ ----i-----------?script/ #测试script目录的?i?隐藏权限是否可以创建子目录及文件 [root@server?data]#?touch?script/tom.txt touch:?无法创建"script/tom.txt":?权限不够 [root@server?data]#?mkdir?script/tom mkdir:?无法创建目录"script/tom":?权限不够 [root@server?data]#?ls?script/ 1.txt??oldboy01 #script目录里面的文件是可以添加及修改内容,子目录里也可以创建新文件及目录,父目录里面是不可以修改文件名的。 [root@server?script]#?ls 1.txt??oldboy01 [root@server?script]#?echo?oldboy?>?1.txt? [root@server?script]#?cat?1.txt? oldboy [root@server?script]#?mv?1.txt?oldboy.txt mv:?无法将"1.txt"?移动至"oldboy.txt":?权限不够 [root@server?script]#?touch?./oldboy01/tom.txt [root@server?script]#?ls?oldboy01/ tom.txt??wahaha
注意:当目录上有 i 权限,子目录和文件没有隐藏权限时,父目录里面不可以创建新目录和新文件,也不可以删除和修改文件名。但子目录里可以创建新文件和新子目录,文件也可以添加及修改文件里面的内容。
文件上加 i 权限
[root@server?data]#?ls data01??script??server01??wahaha.txt [root@server?data]#?lsattr?wahaha.txt? ----------------?wahaha.txt [root@server?data]#?chattr?+i?wahaha.txt? [root@server?data]#?lsattr?wahaha.txt? ----i-----------?wahaha.txt [root@server?data]#?echo?www?>?wahaha.txt? -bash:?wahaha.txt:?权限不够 [root@server?data]#?echo?oldboy?>>?wahaha.txt? -bash:?wahaha.txt:?权限不够 [root@server?data]#?rm?-f?wahaha.txt? rm:?无法删除"wahaha.txt":?不允许的操作
2)添加隐藏权限:a 权限
chattr? +a? 目录或文件名
目录加 a 权限:
[root@server?data]#?ls data01??script??server01??wahaha.txt [root@server?data]#?lsattr?-d?server01/ ----------------?server01/ [root@server?data]#?chattr?+a?server01/ [root@server?data]#?lsattr?-d?server01/ -----a----------?server01/ [root@server?data]#?ls?./server01/ 1.txt??accp01 [root@server?data]#?touch?./server01/tom.txt [root@server?data]#?mkdir?./server01/wahaha [root@server?data]#?ls?./server01/ 1.txt??accp01??tom.txt??wahaha [root@server?data]#?rm?-f?./server01/1.txt? rm:?无法删除"./server01/1.txt":?不允许的操作 [root@server?data]#?rm?-rf?./server01/wahaha/ rm:?无法删除"./server01/wahaha/":?不允许的操作
文件加a权限:
[root@server?data]#?ls data01??script??server01??wahaha.txt [root@server?data]#?lsattr?wahaha.txt? ----------------?wahaha.txt [root@server?data]#?chattr?+a?wahaha.txt? [root@server?data]#?lsattr?wahaha.txt? -----a----------?wahaha.txt [root@server?data]#?cat?wahaha.txt? aaa [root@server?data]#?echo?www?>?wahaha.txt? -bash:?wahaha.txt:?不允许的操作 [root@server?data]#?echo?www?>>?wahaha.txt? [root@server?data]#?echo?zzz?>>?wahaha.txt? [root@server?data]#?cat?wahaha.txt? aaa www zzz [root@server?data]#?rm?-f?wahaha.txt? rm:?无法删除"wahaha.txt":?不允许的操作
5、删除隐藏权限
语法: chattr? -选项? 目录或文件名
[root@server?data]#?ls data01??script??server01??wahaha.txt [root@server?data]#?lsattr?-d?data01/ -----a----------?data01/ [root@server?data]#?lsattr?-d?script/ ----i-----------?script/ [root@server?data]#?chattr?-i?script/ [root@server?data]#?chattr?-a?data01/ [root@server?data]#?lsattr?-d?data01/ ----------------?data01/ [root@server?data]#?lsattr?-d?script/ ----------------?script/
6、总结
1)查看隐藏权限:lsattr? 文件名;lsattr? -d? 目录名。
2)添加隐藏权限:chattr? +i? 目录或文件名;chattr? +a? 目录或文件名。
3)删除隐藏权限:chattr? -i? 目录或文件名;chattr? -a? 目录或文件名。
4)当目录有 i 隐藏权限,子目录和文件没有隐藏权限时,父目录不可以创建新子目录和文件,不可以删除目录及文件,也不可以修改目录名和文件名。但子目录是没有影响的,可以创建新子目录和文件。父目录里的文件也可以添加及修改内容。
5)当目录有 a 隐藏权限,子目录和文件没有隐藏权限时,父目录可以创建新子目录和文件,不可以删除目录及文件,也不可以修改目录名和文件名。但子目录是没有影响的,可以创建新子目录和文件及可以删除子目录里面的文件。父目录里的文件也可以添加及修改内容。
6)当文件有 i 隐藏权限时,只能查看内容,不可以修改和删除文件。
7)当文件有 a 隐藏权限时,可以查看和追加内容,但不可以修改和删除文件。