1. 程式人生 > >關於文件目錄等的特殊權限setuid, setgid , sticky

關於文件目錄等的特殊權限setuid, setgid , sticky

-- etc con tro root 位數 foo 移動 所有者

有三種特殊權限

總之, 設置這些特殊權限有兩種方法, 一是使用 chmod ugo的方式, 另一個是 使用 數字的方式, 通常的讀寫執行 權限 是 3位 數字, 那麽 特殊權限 就用 4位數字, 而且 用 第一位 數字來 表示 特殊權限, 比如 chmod 4775 some_command 那麽第一位數字 4 就是特殊權限 suid

  1. setuid, 命令是: chmod u+s some_command 或者 chmod 4665 some_command, 設置 setgid 命令是 : chmod g+s some_cmdchmod 2775 some_dir
    設置 sticky的命令是: chmod o+t some_dir

    chmod 1755 some_dir

  2. set sticky 的作用是 某個目錄 可以被 所有 用戶 讀寫, 但是 這個目錄中的 每個文件, 只能 被 該文件的所有者(即創建者) 所刪除或移動. 用戶 不能刪除或 移動 其他用戶創建的 文件, 這個 就是 sticky的意思

  3. 適用對象: setuid 只能用於文件,

[root@localhost lee]# chmod 1544 foo  給 普通文件設置 sticky 特殊權限將會顯示為 T ,表示無效設置! 
[root@localhost lee]# ll
-r-xr--r-T. 1 root root    4 Jan 18 21:25 foo  註意這裏的大寫T

使用 pwunconv 命令, 可以將 /etc/shadow中的密碼, 停止投影 , 返回寫到 /etc/passwd文件中, 註意兩點:

  • 兩個文件中的 密碼都是一樣的, 不管是 投射前還是 停止投射後. 當然都不是明文, 都是加密後的字符串
  • 當使用 pwunconv後 文件 /etc/shadow 將被 "臨時" 刪除, 不存在了
  • 要註意的是, 用戶的文件, 首先是被 寫入到 /etc/passwd文件中的, 緊接著被 寫入/轉移到 /etc/shadow文件中 而原來的/etc/passwd中的 密碼域則被 星號* 所替換.

關於文件目錄等的特殊權限setuid, setgid , sticky