Linux中chmod命令


1、chmod是linux中更改文件權限的命令,常用的有:

(1) sudo chmod u+x

(2) sudo chmod g+x

(3) sudo chmod o+x

其中的 u、g、o 分別代表的就是 user、group、others,"+"代表賦予權限,x (executable)代表可執行權。

2、sudo chmod 777 代表什么:

三位數字分別代表 user、group、others 的權限,可讀(r)、可寫(w)、可執行(x)的權限分別用數字 4、2、1 表示,數字7是權限 4、2、1 的和,777 即代表 user、group、others 均具有可讀(r)、可寫(w)、可執行(x)的權限,為最高權限。

3、這是我寫的一個簡化篇,網上有另外一篇更詳細的介紹,附地址如下:

http://blog.csdn.net/linuxgroup/article/details/4247858

為方便起見,直接轉載過來一份,感謝原作者!

 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 命令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM