linux系統內有檔案有三種身
份 u:擁有者 g:群組 o:其他人
這些身份對於文件又有下面許可權 可以用ls -l 檔名 檢視許可權資訊
r:讀許可權,使用者可以讀取文件的內容,如用cat,more檢視
x:該目錄具有可以被系統執行的許可權
除了讀寫執行許可權外系統還支援強制位(setuid和setgid)和粘滯位(sticky)
setuid: 設定使檔案在執行階段具有檔案所有者的許可權,相當於臨時擁有檔案所有者的身份. 典型的檔案是passwd. 如果一般使用者執行該檔案, 則在執行過程中, 該檔案可以獲得root許可權, 從而可以更改使用者的密碼.
sticky:
要刪除乙個文件,您不一定要有這個文件的寫許可權,但您一定要有這個文件的上級目錄的寫許可權。也就是說,您即使沒有乙個文件的寫許可權,但您有這個文件的上級目錄的寫許可權,您 也能夠把這個文件給刪除,而假如沒有乙個目錄的寫許可權,也就不能在這個目錄下建立文件。
怎樣才能使乙個目錄既能夠讓任何使用者寫入文件,又不讓使用者刪除這個目錄下他人的文件,sticky就是能起到這個作用。stciky一般只用在目錄上,用在文件上起不到什麼作用。
在乙個目錄上設了sticky位後,(如/home,許可權為1777)任何的使用者都能夠在這個目錄下建立文件,但只能刪除自己建立的文件(root除外),這就對任何使用者能寫的目錄下的使用者文件 啟到了保護的作用。
s和t的特殊許可權
ls l 通常會顯示r w x許可權,分別對應 讀,寫,執行許可權。但是有時我麼會看到,s或t這類許可權標識。首先在主目錄下面的資料夾裡面編譯並執行該test.c檔案,生成a.out可執行程式,由於umask為0002的原因,許可權為 775而不是777。在此時執行a.out會生成hello.txt...
linux下檔案的特殊許可權s和t
先看看這兩個檔案的許可權 root localhost ls ld usr bin passwd tmp drwxrwxrwt 4 root root 4096 jun 2 17 33 tmp rwsr xr x 1 root root 22984 jan 7 2007 usr bin passwd...
linux下檔案的特殊許可權s和t
先看看這兩個檔案的許可權 root localhost ls ld usr bin passwd tmp drwxrwxrwt 4 root root 4096 jun 2 17 33 tmp rwsr xr x 1 root root 22984 jan 7 2007 usr bin passwd...