親愛的,我正在學習linux權限,並且在試圖理解setuid、setgid和stickybit時感到困惑。我的以下理解是否正確。
塞圖伊德:-
檔案:- 當在可執行檔上設定 setuid 並啟動它時,它不會以啟動它的使用者的權限運行,而是以檔案擁有者的權限運行。
目錄:- 在 UNIX 和 Linux 系統上忽略目錄上設定的 setuid 權限
黏著位:-
檔案:- 檔案的黏性位權限被忽略
目錄:- 如果目錄設定了黏性位,則檔案只能由檔案擁有者、目錄擁有者或特權使用者刪除。
設定引導:-
文件:- Setgid 用於文件時,與 setuid 非常相似。進程在執行時將作為擁有該檔案的群組運行。
目錄:- setgid 是否適用於目錄。我正在嘗試設置它,但它沒有設置。
-bash-4.4$ pwd
/cms/fmw/sticktest
-bash-4.4$ ls -rlt
total 3
drwxrwxr-x 2 cmsstg cmsstg 3 Nov 8 16:23 guidtest
-bash-4.4$
-bash-4.4$ chmod 2775 guidtest/
-bash-4.4$ ls -rlt
total 3
drwxrwxr-x 2 cmsstg cmsstg 3 Nov 8 16:23 guidtest
-bash-4.4$
答案1
是適用的。這意味著該目錄中的檔案將使用該目錄的群組來建立。
舉個例子:
[/tmp]$ mkdir konijn
[/tmp]$ ls -ld konijn
drwxr-xr-x 2 ljm users 4096 Nov 8 14:15 konijn
[/tmp]$ touch konijn/wiep
[/tmp]$ ls -l konijn/wiep
-rw-r--r-- 1 ljm users 0 Nov 8 14:15 konijn/wiep
[/tmp]$ chgrp games konijn
[/tmp]$ chmod 2755 konijn
[/tmp]$ ls -ld konijn
drwxr-sr-x 2 ljm games 4096 Nov 8 14:19 konijn
[/tmp]$ touch konijn/wiep2
-rw-r--r-- 1 ljm games 0 Nov 8 14:21 konijn/wiep2
請注意,所有者 ( ljm
) 必須是群組 ( games
)的成員