很多時候,在Ubuntu下,使用檔案的許可權都有嚴格的區分,很麻煩,如果是到root許可權下面的話,總覺得不安全,所以,在其它使用者的時候,總是存在讀寫的許可權需要修改的問題,那麼如何解決呢?
方法之一就是登出後到root下面修改許可權,不過這個方法不太好。使用命令列的方式不錯。
==================================================================================
查看檔案許可權的命令:
在終端輸入:
ls -l xxx.xxx (xxx.xxx是檔案名稱)
那麼就會出現相類似的資訊,主要都是這些:
-rw-rw-r--
一共有10位元
其中: 最前面那個 - 代表的是類型
中間那三個 rw- 代表的是所有者(user)
然後那三個 rw- 代表的是組群(group)
最後那三個 r-- 代表的是其他人(other)
然後我再解釋一下後面那9位元:
r 表示檔案可以被讀(read)
w 表示檔案可以被寫(write)
x 表示檔案可以被執行(如果它是程式的話)
- 表示相應的許可權還沒有被授予
現在該說說修改檔案許可權了
在終端輸入:
chmod o+w xxx.xxx
表示給其他人授予寫xxx.xxx這個檔案的許可權
chmod go-rw xxx.xxx
表示刪除xxx.xxx中組群和其他人的讀和寫的許可權
其中:
u 代表所有者(user)
g 代表所有者所在的組群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示檔案可以被讀(read)
w 表示檔案可以被寫(write)
x 表示檔案可以被執行(如果它是程式的話)
其中:rwx也可以用數字來代替
r ------------4
w -----------2
x ------------1
- ------------0
行動:
+ 表示添加許可權
- 表示刪除許可權
= 表示使之成為唯一的許可權
當大家都明白了上面的東西之後,那麼我們常見的以下的一些許可權就很容易都明白了:
-rw------- (600) 只有所有者才有讀和寫的許可權
-rw-r--r-- (644) 只有所有者才有讀和寫的許可權,組群和其他人只有讀的許可權
-rwx------ (700) 只有所有者才有讀,寫,執行的許可權
-rwxr-xr-x (755) 只有所有者才有讀,寫,執行的許可權,組群和其他人只有讀和執行的許可權
-rwx--x--x (711) 只有所有者才有讀,寫,執行的許可權,組群和其他人只有執行的許可權
-rw-rw-rw- (666) 每個人都有讀寫的許可權
-rwxrwxrwx (777) 每個人都有讀寫和執行的許可權
Ubuntu的許多操作是在終端中進行的,通過sudo命令管理的檔案是由root持有許可權的,一般使用者是無法改變的。在圖形介面上,我們可以通過屬性中的許可權選項夾進行操作。但是一旦檔案的屬性顯示目前使用者沒有讀寫權力時,無法在圖形介面上修改許可權。
我曾經將一些檔案放在搭建的FTP的目錄下共他人下載,但是對方都無法下載,顯示沒有許可權。這是因為“其他”的存取權限是讀寫均不可。但有些檔案對於使用者也是不具有讀寫權限的,只有root具有權力,這樣沒有辦法在圖形介面修改,需要在終端使用root許可權修改。這就需要用到命令chmod。常用用法如下:
sudo chmod 600 ××× (只有所有者有讀和寫的許可權)
sudo chmod 644 ××× (所有者有讀和寫的許可權,組使用者只有讀的許可權)
sudo chmod 700 ××× (只有所有者有讀和寫以及執行的許可權)
sudo chmod 666 ××× (每個人都有讀和寫的許可權)
sudo chmod 777 ××× (每個人都有讀和寫以及執行的許可權)
其中×××指檔案名稱(也可以是檔案夾名,不過要在chmod後加-ld)。
解釋一下,其實整個命令的形式是
sudo chmod -(代表類型)×××(所有者)×××(組使用者)×××(其他使用者)
三位元的每一位都表示一個使用者類型的使用權限設定。取值是0~7,即二進位的[000]~[111]。
這個三位的位元的每一位分別表示讀、寫、執行許可權。
如000表示三項許可權均無,而100表示唯讀。這樣,我們就有了下面的對應:
0 [000] 無任何許可權
4 [100] 唯讀許可權
6 [110] 讀寫權限
7 [111] 讀寫執行許可權
現在看上面的幾個常用用法就非常清楚了。試著自己來修改許可權吧
最後同時附上查詢檔案(或檔案夾)許可權的命令
ls -l 檔案名稱 (檔案夾將-l改為-ld)
轉載自:http://www.linuxsky.org/doc/newbie/200801/220.html