Linux修改檔案及檔案夾許可權 chmod/chgrp/chown檔案夾的許可權為1777。這個數字表示所有使用者都可以在這個目錄中建立檔案,但是只有檔案的所有者才能夠刪除檔案
先來瞭解一下檔案屬性,在shell環境裡輸入:ls -l 可以查看目前的目錄檔案。如:
drwxr-xr-x 2 nsf users 1024 12-10 17:37 下載檔案備份
分別對應的是:
檔案屬性 串連數 檔案擁有者 所屬群組 檔案大小 檔案修改時間 檔案名稱
這裡r是可讀,w可寫,x 可執行,其中檔案屬性分為四段,—- — — 10個位置
例如:
d rwx r-x r-x
第一個字元指定了檔案類型。在通常意義上,一個目錄也是一個檔案。如果第一個字元是橫線,表示是一個非目錄的檔案。如果是d,表示是一個目錄。
第二段是檔案擁有者的許可權,
第三段是檔案所屬群組的許可權,
第四段是對於其它使用者的許可權,
如上面檔案夾“下載檔案備份” 的存取權限,表示檔案夾“下載檔案備份” 是一個目錄檔案;檔案夾“下載檔案備份” 的屬主有讀寫可執行許可權;與檔案夾“下載檔案備份” 屬主同組的使用者只有讀和可執行許可權;其他使用者也有讀和可執行許可權。
確定了一個檔案的存取權限後,使用者可以利用Linux系統提供的chmod命令來重新設定不同的存取權限。也可以利用chown命令來更改某個檔案或目錄的所有者。利用chgrp命令來更改某個檔案或目錄的使用者組。
chmod 命令
功能:chmod命令是非常重要的,用於改變檔案或目錄的存取權限.使用者用它控制檔案或目錄的存取權限.
文法:該命令有兩種用法。一種是包含字母和操作符運算式的文字設定法;另一種是包含數位數字設定法。
1. 文字設定法
chmod [who] [+ | - | =] [mode] 檔案名稱?
參數:
操作對象who可是下述字母中的任一個或者它們的組合:
u 表示“使用者(user)”,即檔案或目錄的所有者。
g 表示“同組(group)使用者”,即與檔案屬主有相同組ID的所有使用者。
o 表示“其他(others)使用者”。
a 表示“所有(all)使用者”。它是系統預設值。
操作符號可以是:
+ 添加某個許可權。
- 取消某個許可權。
= 賦予給定許可權並取消其他所有許可權(如果有的話)。
設定mode所表示的許可權可用下述字母的任意組合:
r 可讀。
w 可寫。
x 可執行。
X 只有目標檔案對某些使用者是可執行檔或該目標檔案是目錄時才追加x 屬性。
s 在檔案執行時把進程的屬主或組ID置為該檔案的檔案屬主。方式“u+s”設定檔案的用 戶ID位,“g+s”設定組ID位。
t 儲存程式的文本到交換裝置上。
u 與檔案屬主擁有一樣的許可權。
g 與和檔案屬主同組的使用者擁有一樣的許可權。
o 與其他使用者擁有一樣的許可權。
檔案名稱:以空格分開的要改變許可權的檔案清單,支援萬用字元。
在一個命令列中可給出多個許可權方式,其間用逗號隔開。例如:chmod g+r,o+r example
使同組和其他使用者對檔案example 有讀許可權。
2. 數字設定法
另外,還有一種利用數字修改的方式
rwx對應於4 2 1三位(記住二進位與10進位轉換的話應該相當好記),
那麼對應與一個使用者,1表示只執行--x,3表示-wx ,5表示r-x,等等,即各個許可權的數字相加之和表示
許可權的組合。如執行如下命令
chmod 777 bbb
即把bbb的各個使用者的許可權全部添加了。
chmod 751 bbb
表示把目前使用者設為全部許可權,使用者組只有rx許可權,其他使用者只有x許可權。
chgrp命令
功能:改變檔案或目錄所屬的組。
文法:chgrp [選項] group filename?
該命令改變指定指定檔案所屬的使用者組。其中group可以是使用者組ID,也可以是/etc/group檔案中使用者組的組名。檔案名稱是以空格分開的要改變屬組的檔案清單,支援萬用字元。如果使用者不是該檔案的屬主或超級使用者,則不能改變該檔案的組。
參數:
- R 遞迴式地改變指定目錄及其下的所有子目錄和檔案的屬組。
例1:$ chgrp - R book /opt/local /book
改變/opt/local /book/及其子目錄下的所有檔案的屬組為book。
chown 命令
功能:更改某個檔案或目錄的屬主和屬組。這個命令也很常用。例如root使用者把自己的一個檔案拷貝給使用者xu,為了讓使用者xu能夠存取這個檔案,root使用者應該把這個檔案的屬主設為xu,否則,使用者xu無法存取這個檔案。
文法:chown [選項] 使用者或組 檔案
說明:chown將指定檔案的擁有者改為指定的使用者或組。使用者可以是使用者名稱或使用者ID。組可以是組名或組ID。檔案是以空格分開的要改變許可權的檔案清單,支援萬用字元。
參數:
- R 遞迴式地改變指定目錄及其下的所有子目錄和檔案的擁有者。
- v 顯示chown命令所做的工作。
例1:把檔案shiyan.c的所有者改為wang。
$ chown wang shiyan.c
例2:把檔案/home及其下的所有檔案和子目錄的屬組改為users。
$ chown -R .users /home
例3:把目錄/his及其下的所有檔案和子目錄的屬主改成wang,屬組改成users。
$ chown - R wang.users /his
chmod o+rwx /root