901
技術社區[雲棲]
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