閱讀901 返回首頁    go 技術社區[雲棲]


Linux中修改文件目錄權限命令chmod

chmod是一個用來改變文件或目錄權限的命令;記得博主看黑客軍團美劇的時候,第一集係統被入侵的時候,主角就使用過chmod命令。

當使用#ls -l或ll命令時,即可看到當前的文件目錄的權限,-rwxrwxrwx即表示權限。

先說一下理論的東西,後麵在說明整行字段的含義。

文件係統上的權限是指文件係統上的文件和目錄的權限,文件係統上的權限主要針對三類對象(訪問者)進行定義:

owner:屬主,u
group:數組,g
other:其他,o

 

每個文件針對每類訪問者都定義了三種權限:

r:readable 可讀
w:writable 可寫
x:executable 可執行

對於文件來說:

r:可用文件查看類工具讀取此文件的內容
w:可以添加、編輯或者修改內容,但是不包含刪除該文件
x:具有可以被係統執行的權限,文件是否能被執行就是由該權限來決定的

對於目錄來說:

r:擁有此權限表示可以讀取此目錄的結構列表,也就是說可以查看該目錄下的文件名和子目錄名(ls查看)
w:可以在此目錄中創建文件,也可以刪除、重命名移動文件
x:具有進入此目錄的權限

 

權限表示方法:

權限、二進製表示、八進製表示對應的表示方法如下:

---:000 0
--x:001 1
-w-:010 2
-wx:011 3
r--:100 4
r-x:101 5
rw-:110 6
rwx:111 7

 

chmod命令

修改文件或目錄的權限,設置方式采用字母或數字代號;

參數

u:屬主
g:屬組
o:其他用戶
a:表示三者全包括

+:增加權限
-:取消權限
=:唯一設定權限
-R:遞歸

下麵來說下字段的含義,舉個例子,使用ls -l命令:

drw-r--r--.  1 root root      970 Dec  3  2015 abc

第一塊紅色,第一列,用來表示這個文件的類型:

d:則是目錄 -:則是文件 l:表示為連結檔link file b:表示為裝置文件裏麵的可供存儲的接口設備 c:表示為裝置文件裏麵的串行端口設備,如鍵盤、鼠標

第二塊:第二到四列,此處是rw-,表示屬主權限

第三塊:第五到七列,此處是r--,表示屬組權限

第四塊:第八到十列,此處是r--,表示其他的權限

第五塊:這裏是1,連接數位(count)

第六塊:這裏是root,屬主

第七塊:這裏是root,屬組

第八塊:這裏是970,是文件大小,單位字節

970 Dec  3  2015:是文件的最後修改時間

abc:文件名

除了這些屬性外,還有個需要了解的,索引節點“ Inode”號,ls -i顯示每個文件的Inode號,每個文件或者文件夾前都會出現一個唯一的“Inode”編號。

 

好了,下麵來舉一些例子來演示下:

使用數字方式修改權限:

上麵已經列出了對應的數字,這裏我們隻管記住r對應4,w對應2,x對應1

修改讀寫權限就是4+2=6,修改讀執行權限就是4+1=5,將-rwxr-x-wx轉換成對應數字就是753。

-rw——- 對應數字就是600,隻有所有者(屬主)才有讀和寫的權限
-rwxr-xr-x 對應數字755,隻有所有者(屬主)才有讀,寫,執行的權限,組群和其它隻有讀執行權限
-rw-rw-rw- 對應數字666,每個人都有讀寫的權限

示例

修改abc文件權限為777。

chmod 777 abc

修改abc文件,使abc文件屬主(所有者)可讀,屬組可寫,其他沒有權限。

chmod 420 abc

把abc目錄下的文件全部設置為755權限

chmod -R 755 /abc/

修改abc文件權限為所有人可讀

chmod ugo+r abc 或 #chmod a+r abc

修改abc文件權限為所有人可執行

chmod ugo+x abc 或 #chmod a+x abc

修改abc文件屬主為所有人可執行

chmod u+x abc

修改abc文件屬主屬組有讀寫權限

chmod ug+rx abc

 

取消abc目錄下的所有文件可寫權限

chmod -R a-w /abc/

最後更新:2017-06-27 11:32:00

  上一篇:go  Centos6和Centos7開機自動啟動服務方法
  下一篇:go  Linux中top命令講解