chmod是一條在unix系統中用於控制使用者對檔案的許可權的命令(change mode單詞字首的組合)和函式。
只有檔案所有者和超級使用者可以修改檔案或目錄的許可權。可以使用絕對模式,符號模式指定檔案的許可權。
※命令格式
chmod [options] mode files
mode可以是數字形式或以who opcode permission形式表示。who是可選的,預設是a(所有使用者)。只能選擇乙個opcode(操作碼)。可指定多個mode,以逗號分開。
※八進位制語法
chmod命令可以使用八進位制數來指定許可權。
檔案或目錄的許可權位是由9個許可權位來控制,每三位為一組,它們分別是檔案所有者(user)的讀、寫、執行,使用者組(group)的讀、寫、執行以及其它使用者(other)的讀、寫、執行。
歷史上,檔案許可權被放在乙個位元掩碼中,掩碼中指定的位元位設為1,用來說明乙個類具有相應的優先順序。
chmod的八進位制語法的數字說明:
r 4 w 2 x 1 - 0
所有者的許可權用數字表達:屬主的那三個許可權位的數字加起來的總和。如rwx ,也就是4+2+1 ,應該是7。
使用者組的許可權用數字表達:屬組的那個許可權位數字的相加的總和。如rw- ,也就是4+2+0 ,應該是6。
其它使用者的許可權數字表達:其它使用者許可權位的數字相加的總和。如r-x ,也就是4+0+1 ,應該是5。
※引數選項
-c,--changes只輸出被改變檔案的資訊
-f,--silent,--quiet
當chmod不能改變檔案模式時,不通知檔案的使用者
-r,--recursive
可遞迴遍歷子目錄,把修改應到目錄下所有檔案和子目錄
--reference=filename
參照filename的許可權來設定許可權
-v,--verbose
無論修改是否成功,輸出每個檔案的資訊
--version
輸出版本資訊。
whou 使用者
g 組o 其它
a 所有使用者(預設)
opcode
+ 增加許可權
- 刪除許可權
= 重新分配許可權
permission
r 讀w 寫
x 執行
s 設定使用者(或組)的id號
t 設定粘著位(sticky bit),防止檔案或目錄被非屬主刪除
u 使用者的當前許可權
g 組的當前許可權
o 其他使用者的當前許可權
※相關命令
chown命令,chown 修改檔案和資料夾的使用者和使用者組屬性,chmod 修改檔案和資料夾讀寫執行屬性。
su和sudo命令,使用 su 命令臨時切換使用者身份,sudo允許系統管理員讓普通使用者執行一些或者全部的root命令。
※場景範例
chmod u+x file 給file的屬主增加執行許可權
chmod 751 file 給file的屬主分配讀、寫、執行(7)的許可權,給file的所在組分配讀、執行(5)的許可權,給其他使用者分配執行(1)的許可權$ chmod u=rwx,g=rx,o=x file 上例的另一種形式
chmod =r file 為所有使用者分配讀許可權
chmod -r u+r directory 遞迴地給directory目錄下所有檔案和子目錄的屬主分配讀的許可權
chmod 4755 設定用id,給屬主分配讀、寫和執行許可權,給組和其他使用者分配讀、執行的許可權。
linux下,檢視某路徑下用(ls -l)檢視所有檔案的詳細屬性列表時,會看到檔案的操作許可權,類似「drwxr-xr-x」的字串。
這串字元可以分成4段理解,結構為「d + 檔案所有者操作許可權 + 檔案所有者所在組操作許可權 + 其餘人的操作許可權」:
1,第一段:例子中字母「d」,表示檔案所在目錄
2,第二段:例子中字串「rwx」,表示檔案所有者對此檔案的操作許可權
3,第三段,例子中字串「r-x」,表示檔案所有者所在組對些檔案的操作許可權
4,第四段,例子中字串「r-x」,表示除2、3兩種外的任何人對此檔案的操作許可權
通常用三個數字來表示檔案的讀取、寫入、執行許可權:
執行:1
寫入:2
讀取:4
隨便寫個數字:755,這個3位數分別對應前面所說的分段:7對應第二段,5對應第三段,5對應第四段。
如果可讀,許可權是二進位制的100,十進位制是4;
如果可寫,許可權是二進位制的010,十進位制是2;
如果可執行,許可權是二進位制的001,十進位制是1;
含義:7:表示檔案所有者的許可權,4+2+1=7,即檔案所有者對該檔案有生殺大權,讀、寫、執行隨便。
5:表示檔案所有者所在組的許可權:4+1=5,即檔案所有者所在組對檔案有讀、執行許可權,沒有寫許可權。
5:同上,其餘人對該檔案只有讀、執行許可權,沒有寫許可權。
Linux命令 chmod命令
chmod命令 改變檔案或目錄的訪問許可權 許可權代號 r 檔案被讀取 4 w 檔案被寫入 2 x 檔案被執行 1 許可權範圍 u 檔案所有者 g 檔案所有者所在組 o 其他 a 全部 建立檔案 touch demo1.txt 顯示建立的檔案 ls l demo1.txt 執行結果 rw rw r ...
菜鳥學Linux命令 grep命令 文字搜尋
linux grep命令 global search regular expression re and print out the line 是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。grep這個應用程式最早由肯 湯普遜寫成。grep原先是ed下的乙個應用程式,名...
菜鳥學Linux命令 kill命令 終止程序
通常,終止乙個前台程序可以使用ctrl c鍵,但是,對於乙個後台程序就須用kill命令來終止,我們就需要先使用ps pidof pstree top等工具獲取程序pid,然後使用kill命令來殺掉該程序。kill命令是通過向程序傳送指定的訊號來結束相應程序的。在預設情況下,採用編號為15的term訊...