Linux File Access

對檔案而言有不同的存取權限,UNIX上有三種存取權限

  • 使用者(u)
    • 該檔擁有者之權限
  • 群組(g)
    • 該檔群組的成員之權限
  • 其它(o)
    • 其它所有一般使用者(除了root)之權限

ls -l 可以顯示出檔案的存取權限設定

drwxr-xr-x - 一般檔案 ; d 目錄 ; l 符號連結檔 ; c 字元設備; b 區塊設備 (如硬碟);
s 一個socket (如/dev/printer印表機);p 一個pipe
r(read),w(write),x(exec)

但是對目錄而言

  • --- 代表不準對這個目錄及目錄裡的東西做任何動作
  • r— 可以列出目錄中檔案名稱,但是不能看到其它屬性(像檔案大小…等)
  • —x 可以執行在目錄中的程式,但是其它什麼都不能做
  • r-x 可以執行目錄中的程式,也可以列出目錄的任何內容,但是不能更動這個目錄裡的檔案
  • rwx 可以在這目錄下列出檔案內容,執行程式,增刪檔案

特別存取模式

  • t Sticky bit(save text mode)
    • 對執行檔而言
        • 讓可執行檔在執行結束後,仍留在記憶體中,減少load的時間
    • 對目錄而言
        • 如果目錄設成這種格式,使用者便只能刪除自己的檔案,即使有目錄的寫入權限
    • 可用chmod u+t file
  • s SUID,SGID
    • 對執行檔而言
        • 在檔案執行的時候,可以以檔案擁有者或是群組成員的權限來取得系統資源,而不是產生此程序(process)的人.
    • 對目錄而言
        • SGID(setgid)有特別的意思,它可以讓這目錄下的檔案有和這目錄一樣的群組所有權,而不是擁有者的權限.
          • chmod g+s xxxx SUID存取
          • chmod u+s xxxx SGID存取
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License