目錄也是一種檔案
目錄上的讀寫執行許可權與普通檔案有所不同:
讀:使用者可以讀取目錄內的檔案
寫:單獨使用沒有作用。與執行許可權連用可以在目錄內新增與刪除檔案。
執行:使用者可以進入目錄,呼叫目錄內的資料
*** 除了讀寫執行許可權以外,ext2,ext3檔案系統還支援強制位(setuid 和setgid)與冒險位(sticky)的特別許可權。
*** 針對u,g,o,分別有set uid,set gid,及sticky。
*** 強制位與冒險位新增在執行許可權的位置上。
如果該位置上原已有執行許可權。則強制位與冒險位以小寫字母的方式表示,否則,以大寫字母表示。
*** set uid與set gid在u和g的x位置上各採用乙個s,sticky使用乙個t。
***
*** 預設情況下,使用者建立的檔案屬於使用者當前所在的組。
*** 目錄上設定了setgid,表示在此目錄中,任何人建立的檔案,都會屬於目錄所屬的組。
***
*** 預設情況下,如果乙個目錄上有w和x許可權,則任何人可以在此目錄中建立與刪除檔案。
*** 一旦目錄上設定了冒險位,則表示在此目錄中,只有檔案的擁有者、目錄的擁有者與系統管理員可以刪除檔案。
*** 在可執行檔案上,使用者可以新增set uid和set gid。
*** 預設情況下,使用者執行乙個指令,會以該使用者的身份來執行程序。
*** 指令檔案上的強制位,可以讓使用者執行的指令,以指令檔案的擁有者或所屬組的身份執行程序。
*** 使用者可以用chmod指令來為檔案設定強制位與冒險位。
– set uid:chmod u+s 檔名
– set gid:chmod g+s 檔名
– sticky:chmod o+t 檔名
*** 強制位與冒險位也可以通過乙個數字加和,放在讀寫執行的三位數字前來指定。
– 4(set uid)
– 2(set gid)
– 1(sticky)
設定s u i d / g u i d
命令 結果 含義
chmod 4755 -rwsr-xr-x suid、檔案屬主具有讀、寫和執行的許可權,所有其他使用者具有讀和執行的許可權
chmod 6711 -rws--s--x suid、sgid、檔案屬主具有讀、寫和執行的許可權,所有其他使用者具有執行的許可權
chmod 4511 -rws--x—x suid、檔案屬主具有讀、寫的許可權,所有其他使用者具有執行的許可權
上面的表中有具有這樣許可權的檔案:rws --x -- x,其中s為大寫。它表示相應的執行許可權位並未被設定,這是一種沒有什麼用處的suid設定可以忽略它的存在。
注意,chmod命令不進行必要的完整性檢查,可以給某乙個沒用的檔案賦予任何許可權,但 chmod 命令並不會對所設定的許可權組合做什麼檢查。因此,不要看到乙個檔案具有執行許可權,就認為它一定是乙個程式或指令碼。
關於linux下貼上位(sticky位)
要刪除乙個檔案,你不一定要有這個檔案的寫許可權,但你一定要有這個檔案的上級目錄的寫許可權。也就是說,你即使沒有乙個檔案的寫許可權,但你有這個檔案的上級目錄的寫許可權,你也可以把這個檔案給刪除,而如果沒有乙個目錄的寫許可權,也就不能在這個目錄下建立檔案。
如何才能使乙個目錄既可以讓任何使用者寫入檔案,又不讓使用者刪除這個目錄下他人的檔案,sticky就是能起到這個作用。stciky一般只用在目錄上,用在檔案上起不到什麼作用。
在乙個目錄上設了sticky位後,(如/home,許可權為1777)所有的使用者都可以在這個目錄下建立檔案,但只能刪除自己建立的檔案(root除外),這就對所有使用者能寫的目錄下的使用者檔案啟到了保護的作用。
linux 中冒險位和強制位講解
目錄也是一種檔案 目錄上的讀寫執行許可權與普通檔案有所不同 讀 使用者可以讀取目錄內的檔案 寫 單獨使用沒有作用。與執行許可權連用可以在目錄內新增與刪除檔案。執行 使用者可以進入目錄,呼叫目錄內的資料 除了讀寫執行許可權以外,ext2,ext3檔案系統還支援強制位 setuid 和setgid 與冒...
linux 高階許可權 筆記 冒險位 強制位 粘滯位
冒險位 setuid 在u的x位置上使用乙個s 只能對檔案進行設定 suid是讓執行者臨時擁有屬主的許可權,僅對二進位制檔案 命令 生效。對檔案作用 預設情況下,使用者執行乙個指令,會以該使用者的身份來執行程序。當乙個檔案設定了suid後,所有使用者執行這個檔案時都是以這個使用者的所有者的許可權來執...
Linux平台開發 64位與32位問題
長度 單位bit c type 32位64位 char88 short 1616 int32 32long 3264 long long 6464 float 3232 double 6464 指標 3264 主要的不同點在於long和指標,這兩種型別都由32bit變為64bit。同樣需要注意的有 ...