Linux chmod命令詳解

2021-09-08 15:06:14 字數 2088 閱讀 5849

chmod----改變乙個或多個檔案的訪問模式(mode)

chmod [options] mode files

只能檔案屬主或特權使用者才能使用該功能來改變檔案訪問模式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,預設是a(所有使用者)。只能選擇乙個opcode(操作碼)。可指定多個mode,以逗號分開。

options:

-c,--changes

只輸出被改變檔案的資訊

-f,--silent,--quiet

當chmod不能改變檔案模式時,不通知檔案的使用者

--help

輸出幫助資訊。

-r,--recursive

可遞迴遍歷子目錄,把修改應到目錄下所有檔案和子目錄

--reference=filename

參照filename的許可權來設定許可權

-v,--verbose

無論修改是否成功,輸出每個檔案的資訊

--version

輸出版本資訊。

who u

使用者 g

組 o其它 a

所有使用者(預設)

opcode +

增加許可權 -

刪除許可權 =

重新分配許可權

permission r

讀 w寫 x

執行 s

設定使用者(或組)的id號 t

設定粘著位(sticky bit),防止檔案或目錄被非屬主刪除 u

使用者的當前許可權 g

組的當前許可權 o

其他使用者的當前許可權

作為選擇,我們多數用三位八進位制數字的形式來表示許可權,第一位指定屬主的許可權,第二位指定組許可權,第三位指定其他使用者的許可權,每位通過4(讀)、2(寫)、1(執行)三種數值的和來確定許可權。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的許可權。

還可設定第四位,它位於三位許可權序列的前面,第四位數字取值是4,2,1的組合,代表意思如下:

同樣第四位換成二進位制也分成三部分

abca - setuid位, 如果該位為1, 則表示設定setuid (4)

b - setgid位, 如果該位為1, 則表示設定setgid (2)

c - sticky位, 如果該位為1, 則表示設定sticky (1)

setuid: 設定使檔案在執行階段具有檔案所有者的許可權. 典型的檔案是 /usr/bin/passwd. 如果一般使用者執行該檔案, 則在執行過程中, 該檔案可以獲得root許可權, 從而可以更改使用者的密碼.

setgid: 該許可權只對目錄有效. 目錄被設定該位後, 任何使用者在此目錄下建立的檔案都具有和該目錄所屬的組相同的組.

sticky bit: 該位可以理解為防刪除位. 乙個檔案是否可以被某使用者刪除, 主要取決於該檔案所屬的組是否對該使用者具有寫許可權.

如果沒有寫許可權, 則這個目錄下的所有檔案都不能被刪除, 同時也不能新增新的檔案. 如果希望使用者能夠新增檔案但同時不能刪除檔案,

則可以對檔案使用sticky bit位. 設定該位後, 就算使用者對目錄具有寫許可權, 也不能刪除該檔案.

例項:

$ 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 444 file                   同上例

$ chmod a-wx,a+r   file          同上例

$ chmod -r u+r directory           遞迴地給directory目錄下所有檔案和子目錄的屬主分配讀的許可權

$ chmod 4755                            設定用id,給屬主分配讀、寫和執行許可權,給組和其他使用者分配讀、執行的許可權。

Linux chmod 命令 詳解

注 本文 自 chmod 命令用的很多,但是對這個命令卻不是很了解。在網上搜了一下。整理如下。命令格式 chmod cfvr help version mode file.root qs wg db2 chmod help usage chmod option mode mode file.or c...

Linux chmod命令詳解

chmod 改變乙個或多個檔案的訪問模式 mode chmod options mode files 只能檔案屬主或特權使用者才能使用該功能來改變檔案訪問模式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,預設是a 所有使用者 只能選擇乙個opcode...

Linux chmod命令詳解

chmod 改變乙個或多個檔案的訪問模式 mode chmod options mode files 只能檔案屬主或特權使用者才能使用該功能來改變檔案訪問模式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,預設是a 所有使用者 只能選擇乙個opcode...