菜鳥學Linux命令 chmod命令和數字檔案許可權

2021-09-22 06:49:21 字數 2649 閱讀 7507

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訊...