1. 程式人生 > >20181127高級權限sgid sticky+文件屬性

20181127高級權限sgid sticky+文件屬性

其他 -i att 系統 如何 用戶 無法刪除 only 所有者

高級權限sgid sticky+文件屬性

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

[root@dong ~]# touch /home/hr/file1 在hr文件夾下創建了新文件,是否會繼承這個組呢?

[root@dong ~]# ll /home/hr/file1
-rw-r--r--. 1 root root 0 11月 10 04:54 /home/hr/file1 沒有繼承
如果希望下面的文件繼承文件夾的屬組,執行以下操作:
[root@dong ~]# chmod g+s /home/hr
[root@dong ~]# ll -d /home/hr
drwxr-sr-x. 2 root hr 4096 11月 10 04:54 /home/hr
[root@dong ~]# touch /home/hr/file2.txt
[root@dong ~]# ll /home/hr/file2.txt
-rw-r--r--. 1 root hr 0 11月 10 04:56 /home/hr/file2.txt 在該目錄下新創建的文件,屬組會得到繼承

示例2:sticky用戶只能刪除自己的文件(粘制位,針對目錄)
[root@dong ~]# mkdir /home/dir100
[root@dong ~]# chmod 777 /home/dir100

[dong1@dong ~]$ cd /home/dir100
[dong1@dong dir100]$ touch dong1.txt

[hr01@dong ~]$ cd /home/dir100
[hr01@dong dir100]$ touch hr01.txt

[dong1@dong dir100]$ rm -rf hr01.txt dong1用戶可以刪除hr01創建的文件

如何讓其他人不能刪除我自己創建的文件:
[root@dong ~]# chmod o+t /home/dir100

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

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

誰可以刪除:root +文件的所有者+目錄的所有者

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

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

2.append only (a)僅追加,適用場景:日誌文件。
3.查看文件屬性:
[dong1@dong ~]$ lsattr /home/dir100/dong1.txt
----i--------e- /home/dir100/dong1.txt

20181127高級權限sgid sticky+文件屬性