Linux命令之chmod(修改檔案許可權) 轉

來源:互聯網
上載者:User

轉自http://blog.csdn.net/linuxgroup

linux下總是遇到沒有檔案修改許可權, 很頭疼, 作為菜鳥我很喜歡"chmod 777 -R 檔案目錄" 了事, 結果現在系統崩了, 哎.. 慎用

"

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

chmod 命令

用途

變更檔方式。

文法

要用符號變更檔方式

chmod [ -R ] [ -h ] [ -f ] [ [ u ] [ g ] [ o ] | [ a ] ] { { - | + | = } [ r ] [ w ] [ x ] [ X ] [ s ] [ t ] } { File ... | Directory ... }

要用數字變更檔方式

chmod [ -R ] [ -h ] [ -f ] PermissionCode { File ... | Directory ... }

描述

chmod 命令修改方式位和指定檔案或目錄的擴充存取控制表(ACL )。可以用符號或用數字定義方式(完全方式)。

當遇到符號連結而您未指定 -h 標誌時,chmod 命令更改通過連結指向的檔案或目錄的方式,而非連結本身的方式。如果指定 -h 標誌,則 chmod 命令防止此方式更改。

如果指定 -h 標誌和 -R 標誌,chmod 命令遞迴地降序指定的目錄,並且在遇到符號連結時,不更改連結指向的檔案或目錄的方式。

標誌

-f

禁止所有錯誤報表(除了無效許可權和用法語句)。

-h

禁止遇到的符號連結指向的檔案或目錄的方式更改。

註:由於不能在符號連結上設定方式位,所以此行為與 chgrp 和 chown 命令上的 -h標誌的行為略有不同。

-R

只遞迴地降序目錄,如同模式 File...|Directory... 指定。-R 標誌更改匹配指定模式的每個目錄和所有檔案的檔案方式位。請參閱樣本 6 。

當遇到符號連結並且連結指向目錄時,更改該目錄的檔案方式位,但不進一步遍曆目錄。

符號方式

要以符號格式指定方式,必須指定三個標誌集。

註:不要使用空格分隔標誌。

第一個標誌集指定對誰授權或對誰拒絕指定的許可權,如下所述:

u

檔案所有者。

g

檔案組固有的組和擴充 ACL 條目。

o

所有其它條目。

a

使用者、組和所有其它條目。a 標誌具有與一起指定 ugo 標誌相同的效果。如果不指定這些標誌,則預設值為 a 標誌,並應用檔案建立掩碼(umask )。

第二個標誌集指定是否要除去、應用或設定許可權:

-

除去指定的許可權。

+

應用指定的許可權。

=

清除選定的許可權欄位並將其設定為指定的許可權。如果不指定 = 之後的許可權,chmod 命令從選定的欄位除去所有許可權。

第三個標誌集指定要除去、應用或設定的許可權:

r

讀許可權。

w

寫許可權。

x

對於檔案的執行許可權;對於目錄的搜尋許可權。

X

如果當前的(未修改的)方式位設定了至少一個使用者、組或其它執行位,則執行檔案的許可權。如果指定了 File 參數並且在當前的方式位中未設定任何執行位,則忽略 X 標誌。

搜尋目錄的許可權。

s

如果指定或隱含 u 標誌,則設定執行時的使用者標識許可權。如果指定或隱含 g 標誌,則設定執行時的組標識許可權。

t

對於目錄,它表示只有檔案所有者可以連結或取消連結指定目錄中的檔案。對於檔案,它設定 save-text 屬性。

數字或完全方式

chmod 命令還允許您對該方式使用八進位標記法。數字方式是一個或多個以下值的摘要:

4000

設定執行時的使用者標識。

2000

設定執行時的組標識。

1000

對於目錄設定連結許可權或對於檔案設定 save-text 屬性。

0400

允許所有者讀。

0200

允許所有者寫。

0100

允許所有者執行或搜尋。

0040

允許組讀。

0020

允許組寫。

0010

允許組執行或搜尋。

0004

允許其他人讀。

0002

允許其他人寫。

0001

允許其他人執行或搜尋。

註:

1.用數字方式指定禁用任何擴充 ACL 。請參考《AIX 5L V5.2 系統使用者指南:作業系統與裝置》中的『存取控制清單 』以擷取更多資訊。

2.用符號更改組存取權限還影響擴充 ACL 條目。與檔案的所有組相同的 ACL 中的組條目拒絕從方式除去的任何許可權。請參考『存取控制表 』以擷取更多資訊。

3.可以指定用逗號分開的多個符號方式。按照它們從左至右的出現順序執行操作。

4.當從目錄除去設定執行時的組標識許可權時,必須用符號指定該方式或使用 4 字元八進位,並且行距為零(例如 0755 )。

安全性

存取控制:此程式應該作為“可信計算基”中的正常使用者程式安裝。

只有檔案的所有者或 root 使用者可以變更檔的方式。

退出狀態

該命令返回以下出口值:

0

已成功執行完命令並已執行所有請求的更改。

>0

發生錯誤。

樣本

1.要將許可權類型添加到幾個檔案:

chmod g+w chap1 chap2

這將群組成員的寫入權限添加到檔案 chap1 和 chap2 。

2.要立即進行幾個許可權更改:

chmod go-w+x mydir

這拒絕群組成員和其他人建立或刪除 mydir (go-w )中的檔案的許可權,並允許群組成員和其他人搜尋 mydir 或在路徑名(go+x )中使用它。這等價於命令序列:

chmod g-w mydir

chmod o-w mydir

chmod g+x mydir

chmod o+x mydir

3.要只允許所有者將 shell 步驟用作命令:

chmod u=rwx,go= cmd

這授權檔案(u=rwx )所有者讀、寫和執行許可權。它還拒絕組和其他人以任何方式(go= )訪問 cmd 的許可權。

如果具有執行 cmd shell 命令檔案的許可權,則可以通過輸入以下命令運行它:

cmd

註:取決於 PATH shell 變數,可能需要指定 cmd 檔案的全路徑。

4.要使用設定標識(Set-ID )方式:

chmod ug+s cmd

在執行 cmd 命令時,有效使用者標識和組標識設定為那些擁有 cmd 檔案的所有者。只更改與運行 cmd 命令的子進程關聯的有效標識。 shell 會話的有效標識保留不更改。

此功能允許您可以訪問受限制的檔案。假定 cmd 程式啟用了“設定使用者標識(Set-User-ID )方式”並為名為 dbms 的使用者所擁有。實際上,使用者 dbms不是一個人,但可能與資料庫管理系統關聯。使用者 betty 不具有訪問任何 dbms 的資料檔案的許可權。然而,她具有執行 cmd 命令的許可權。當她這樣做時,她的有效使用者標識臨時更改為 dbms ,因此 cmd 程式可以訪問使用者 dbms 擁有的資料檔案。

這種方式下,使用者 betty 可以使用 cmd 命令訪問資料檔案,但她不會在使用標準 shell 命令的過程中意外地破壞它們。

5.要使用 chmod 命令的完全方式格式:

chmod 644 text

這設定所有者的讀和寫許可權,並且它對組和其他使用者佈建唯讀方式。這還除去可能與檔案關聯的所有擴充 ACL 。

6.要遞迴地降序目錄並更改給予樹結構的檔案和目錄許可權:

./dir1/dir2/file1

./dir1/dir2/file2

./dir1/file1

請輸入此命令序列:

chmod -R 777 f*

這將更改 ./dir1/file1 的許可權。

但對於以下樹結構:

./dir1/fdir2/file1

./dir1/fdir2/file2

./dir1/file3

命令序列:

chmod -R 777 f*

將更改以下內容的許可權:

./dir1/fdir2

./dir1/fdir2/file1

./dir1/fdir2/file2

./dir1/file3

檔案

/usr/bin/chmod

包含 chmod 命令。

"

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.