=================================================
本文為HeYuanHui原作
轉載必須確保本文完整並完整保留原作者資訊及本文原始連結!
NN: khler
E-mail: khler@163.com
QQ: 23381103
MSN: pragmac@hotmail.com
=================================================
在Linux作業系統下,ls命令用來列出指定目錄下的所有檔案,如果加入參數'-l',則同時列出所有檔案/檔案夾的操作許可權,如下所示:
hyh@hyh-Ubuntu:~$ ls -l
總計 96804
-rw-r--r-- 1 hyh hyh 0 2011-01-30 13:46 aaa.fd
-rwxrw-rw- 1 hyh hyh 7385035 2010-04-15 22:13 CHNTEL_Linux_UI.tar.gz
-rwxrw-rw- 1 hyh hyh 1373 2010-08-07 20:24 client.c
-rw-r--r-- 1 hyh hyh 0 2011-01-30 13:46 create
drwxr-xr-x 2 hyh hyh 4096 2010-12-21 10:02 cutecom
drwxrwxrwx 2 hyh hyh 4096 2010-12-20 15:17 cutecom-0.22.0
...
前面諸如"-rw-r--r--"的標記即為相應檔案的操作許可權。
剛開始接觸總看不明白這些rwx到底是什麼意思,其實分解一下就相當簡單了。
簡單說就是四個部分:目錄標記、目前使用者許可權、組使用者權限、除上述使用者以外的使用者權限,Linux用'd'、'r'、'w'、'x'分別表示讀'目錄'、'可許可權'、'可寫入權限'、'可執行許可權'。
1、第一個字元
第一個字元表示是否是檔案夾,如果是,則為'd',否則為'-',這個很好理解,d就是directory,如果是檔案夾,就用'd'表示,如果是檔案,當然就是'-'了,所以你經常會在 ls -l 時看到檔案前的第一個字元都是 '-';
2、目前使用者許可權
接下來的三位表示目前使用者的操作許可權,分別是rwx,其中第一位標示是否有讀許可權,如果有,則為'r',否則為'-';同理,第二位標示是否有寫入權限,如果有,則為'w',否則為'-';第三位標示是否有執行許可權,如果有,則為'x',即'executable'的'x',否則為'-';
3、組許可權和其他使用者權限
後面的三位表示所屬組的許可權,用來控制本組內的使用者所有用的許可權;最後三位就是除上述使用者以外的使用者權限。同樣以rwx表示
4、為什麼還有數字76543210?
由於Linux的所有檔案的許可權都是用數字掩碼來標記的,所你可以用chmod帶-r、-w、-x來增減許可權,也可以用數字來控制許可權:
0 - 無許可權
1 - 有可執行許可權
2 - 有可寫入許可權
4 - 有可讀取許可權
在bit中即為:
bit: 1 1 1
字元:r w x
數字:4 2 1
那麼,當你有可讀寫及執行許可權後,此檔案的許可權就是7 = 4+2+1
舉例:
對aaa.fd檔案修改許可權前:
hyh@hyh-Ubuntu:~$ ls -l
總計 96804
-rw-r--r-- 1 hyh hyh 0 2011-01-30 13:46 aaa.fd
用755許可權修改後:
hyh@hyh-Ubuntu:~$ chmod 755 aaa.fd
hyh@hyh-Ubuntu:~$ ls -l
總計 96804
-rwxr-xr-x 1 hyh hyh 0 2011-01-30 13:46 aaa.fd