1. 程式人生 > >20181127高階許可權sgid sticky+檔案屬性

20181127高階許可權sgid sticky+檔案屬性

高階許可權sgid sticky+檔案屬性

示例1:sgid新建檔案繼承目錄屬組(針對目錄)
[[email protected] ~]# mkdir /home/hr
[[email protected] ~]# ll -d /home/hr
drwxr-xr-x. 2 root root 4096 11月 10 04:52 /home/hr
[[email protected] ~]# chgrp hr /home/hr
[[email protected] ~]# ll -d /home/hr
drwxr-xr-x. 2 root hr 4096 11月 10 04:52 /home/hr

[[email protected]

~]# touch /home/hr/file1 在hr資料夾下建立了新檔案,是否會繼承這個組呢?
[[email protected] ~]# ll /home/hr/file1
-rw-r--r--. 1 root root 0 11月 10 04:54 /home/hr/file1 沒有繼承
如果希望下面的檔案繼承資料夾的屬組,執行以下操作:
[[email protected] ~]# chmod g+s /home/hr
[[email protected] ~]# ll -d /home/hr
drwxr-sr-x. 2 root hr 4096 11月 10 04:54 /home/hr
[[email protected]
~]# touch /home/hr/file2.txt
[[email protected] ~]# ll /home/hr/file2.txt
-rw-r--r--. 1 root hr 0 11月 10 04:56 /home/hr/file2.txt 在該目錄下新建立的檔案,屬組會得到繼承

示例2:sticky使用者只能刪除自己的檔案(粘制位,針對目錄)
[[email protected] ~]# mkdir /home/dir100
[[email protected] ~]# chmod 777 /home/dir100

[[email protected] ~]$ cd /home/dir100
[

[email protected] dir100]$ touch dong1.txt

[[email protected] ~]$ cd /home/dir100
[[email protected] dir100]$ touch hr01.txt

[[email protected] dir100]$ rm -rf hr01.txt dong1使用者可以刪除hr01建立的檔案

如何讓其他人不能刪除我自己建立的檔案:
[[email protected] ~]# chmod o+t /home/dir100

[[email protected] dir100]$ rm -rf dong1.txt
rm: 無法刪除"dong1.txt": 不允許的操作

[[email protected] dir100]$ rm -rf hr01.txt
rm: 無法刪除"hr01.txt": 不允許的操作

誰可以刪除:root +檔案的所有者+目錄的所有者

二.檔案屬性:
chattr - change file attributes on a Linux file system 在Linux檔案系統上更改檔案屬性
1.增加i(immutable不變的)屬性
[[email protected] ~]# which chattr
/usr/bin/chattr
[[email protected] ~]# chmod u+s /usr/bin/chattr

[[email protected] ~]$ chattr +i /home/dir100/dong1.txt
[[email protected] ~]$ rm -rf /home/dir100/dong1.txt
rm: 無法刪除"/home/dir100/dong1.txt": 不允許的操作

2.append only (a)僅追加,適用場景:日誌檔案。
3.檢視檔案屬性:
[[email protected] ~]$ lsattr /home/dir100/dong1.txt
----i--------e- /home/dir100/dong1.txt