1. 程式人生 > >Linux新手入門:通過chmod改變檔案許可權

Linux新手入門:通過chmod改變檔案許可權

Linux檔案的三種身份和四種許可權,三種身份分別為:

  1. u:檔案的擁有者
  2. g:檔案所屬的群組
  3. o:其他使用者

對於每個身份,又有四種許可權,分別為:

  1. r:讀取檔案的許可權(read)
  2. w:寫入檔案的許可權(write)
  3. x:執行的許可權(execute)
  4. s:特殊許可權

  在Linux檔案許可權詳解中我們知道Linux中有兩種表示檔案許可權的方式,分別為數字以及符號表示方式。

chmod以數字形式改變檔案許可權

chmod 755 test.sh

  將755換算成字元形式,為rwxr-xr-x,也就是說檔案的擁有者、所屬群組以及其他使用者都可以讀取與執行test.sh這個檔案,但是隻有擁有者自己可以寫入這個檔案,也就是其他人無權修改test.sh這個檔案。(當然root使用者無此限制,想改誰就該誰,這也是一個體現root賬號至高無上權力的體驗!)

  通過數學形式改變檔案的許可權比較簡單,只要實現算好需要給檔案賦予的許可權,然後呼叫chmod指令即可,呼叫形式為:

chmod 新的許可權 檔案列表

chmod以字元形式改變檔案許可權

chmod +x test.sh

  數學形式可以一次改變檔案的所有三種身份的四種許可權,而字元形式則更為靈活,可以給某個身份的某個許可權單獨進行設定,例如上面的指令就是給三種身份都賦予執行的許可權,你也可以分開單獨設定:

chmod u+x test.sh  只給擁有者加上可執行許可權

chmod g+x test.sh  只給群組身份加上可執行許可權

chmod o+x test.sh  只給其他人身份加上可執行許可權

  以上三條指令綜合在一起等價於上面的那一條指令,都是給所有身份都開啟可執行許可權的功能,你也可以像下面這樣來操作:

chmod a+x test.sh

  這裡的a就代表所有的3中身份!

  如果要去掉某個身份的某個許可權,只需要將+變為-即可,例如去除其他人身份的可執行許可權:

chmod o-x test.sh

  對於讀取、寫入等許可權,按照以上方式多進行練習即可,chmod通過字元形式改變檔案許可權的操作見下表:

chmodu

g

o

a

+(加上)

-(減去)

=(設定)

r

w

x

檔案或目錄

  最後再來個綜合的示例,以後類似的問題舉一反三即可:

chmod u=rwx,g+rx,o-x test.sh