天天看點

Linux:chmod -R 777 * 是什麼意思?

首先,chmod指令是linux上用于改變權限的指令,-R 是遞歸周遊子目錄,因為你要操作的檔案使用的*通配符。777,第一個7代表檔案所屬者的權限,第二個7代表檔案所屬者所在組的權限,第三個7代表其它用 戶的權限,7=4+2+1,在linux中權限是可以通過數字來描述的。具體表示如下:

4,執行時設定使用者ID,用于授權給基于檔案屬主的程序,而不是給建立此程序的使用者。

2,執行時設定使用者組ID,用于授權給基于檔案所在組的程序,而不是基于建立此程序的使用者。

1,設定粘着位。

其次,chmod指令的詳細使用如下,有不懂的可以慢慢檢視一下。

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,代表意思如下:

4,執行時設定使用者ID,用于授權給基于檔案屬主的程序,而不是給建立此程序的使用者。

2,執行時設定使用者組ID,用于授權給基于檔案所在組的程序,而不是基于建立此程序的使用者。

1,設定粘着位。

執行個體:

$ 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,給屬主配置設定讀、寫和執行權限,給組和其他使用者配置設定讀、執行的權限