每個Linux文件具有四種訪問權限:可讀(r)、可寫(w)、可執行(x)和無權限(-)。
利用ls -l命令可以看到某個文件或目錄的權限,它以顯示數據的第一個字段為
准。第一個字段由10個字符組成,如下:
-rwxr-xr-x
第一位表示文件類型,-表示文件,d表示目錄
2-4位表示文件所有者的權限,u權限
5-7位表示文件所有者所屬組成員的權限,g權限
8-10位表示所有者所屬組之外的用戶的權限,o權限
2-10位的權限總和有時稱為a權限
chmod
該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。chmod 是用來改變文件或目錄權限的命令,但只有文件的屬主和超級權限用戶root才有這種權限。
我們前面已經說了,文件或目錄的權限位總共有9個位置 ,文件屬主、文件所歸屬的組占用三位和其它用戶各占用三個位置。看個例子:
-rwxr-xr-x 1 root root 0 04-23 20:11 linuxsir007.txt
說明:
1. chmod 的八進制語法的數字說明;
r 4 w 2 x 1 - 0
屬主的權限用數字表達:屬主的那三個權限位的數字加起來的總和。比如上面的例子中屬主的權限是rwx ,也就是4+2+1 ,應該是7;
屬組的權限用數字表達:屬組的那個權限位數字的相加的總和。比如上面的例子中的r-x ,也就是4+0+1 ,應該是5;
其它用戶的權限數字表達:其它用戶權限位的數字相加的總和。比如上面例子中是 r-x ,也就是4+0+1 ,應該是5;
例如:改變一個文件的權限
但是對於一個文件夾
1.如果想改變文件夾本身的權限而不改變其子文件的權限,不加任何參數
查看文件夾以及文件夾下全部子文件
2. 改變自身和子文件夾權限
3.不改變自身權限,只改變子文件夾權限
[root@localhost ~]# chmod -R 644 bin/.[a-z]*
上面的例子chmod 會匹配所有以.a到.z 開頭的文件。
--------------------------------------分割線 --------------------------------------
Linux 用戶管理常用命令 http://www.linuxidc.com/Linux/2013-05/84734.htm
Linux用戶、組的管理常用到的命令介紹 http://www.linuxidc.com/Linux/2013-05/84989.htm
Linux_用戶、組和權限問題 http://www.linuxidc.com/Linux/2013-12/94358.htm
Linux 的用戶和組命令 http://www.linuxidc.com/Linux/2013-05/83950.htm
Linux的用戶與權限管理 http://www.linuxidc.com/Linux/2013-02/78955.htm
--------------------------------------分割線 --------------------------------------
2 通過 chmod 助記語法來改變文件或目錄的權限
chmod 的助記語法相對簡單,對文件或目錄權限的改變時,是通過比較直觀的字符的形式來完成;在助記語法中,相關字母的定義;
用戶或用戶組定義:
u 代表屬主
g 代表屬組
o 代表其它用戶
a 代表屬主、屬組和其它用戶,也就是上面三個用戶(或組)的所有;
權限定義字母: r 代表讀權限; w 代表寫權限; x 代表執行權限;
權限增減字符;
- 代表減去相關權限; + 代表增加相關權限;
[root@localhost ~]# chmod ugo-x linuxsir007.txt 注:把屬主、用戶組及其它用戶的執行權限都減掉
[root@localhost ~]# chmod u+x linuxsir007.txt 注:為文件的屬主增加執行權限
[root@localhost ~]# chmod u-x,go+rw linuxsir007.txt 注:減去文件屬主對文件的執行權,增加屬組和其它用戶對文件的可讀可寫權
用助記語法比較靈活,組合起來比較方便;比如;
u=r+x 為文件屬主添加讀寫權限;
ug=rwx,o=r 為屬主和屬組添加讀、寫、執行權限,為其它用戶設置讀權限。
a+x 為文件的屬主、屬組和其它用戶添加執行權限;
g=u 讓文件的屬組和屬主和權限相同;
對於目錄權限的設置,要用到-R參數;
和八進制方法一樣,如果我們為一個目錄及其下的子目錄和文件具有相同的屬性,就可以用-R參數;
[root@localhost ~]# chmod -R a+rwx testdir/