萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> linux系統中文件、文件夾修改權限大全

linux系統中文件、文件夾修改權限大全

class="547453">

指令名稱 : chown

使用權限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file…
說明 : Linux/Unix 是多人多工作業系統,所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來說,這個指令只有是由系統管理者(root)所使用,一般使用者沒有權限可以改變別人的檔案擁有者,也沒有權限可以自己的檔案擁有者改設為別人。只有系統管理者(root)才有這樣的權限。
把計 :
user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group)-c : 若該檔案擁有者確實已經更改,才顯示其更改動作-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息-h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)–help : 顯示輔助說明–version : 顯示版本
范例 :
將檔案 file1.txt 的擁有者設為 users 群體的使用者 jessie :
chown jessie:users file1.txt
將目前目錄下的所有檔案與子目錄的擁有者皆設為 users 群體的使用者 lamport :
chown -R lamport:users *
功能:更改某個文件或目錄的屬主和屬組。這個命令也很常用。例如root用戶把自己的一個文件拷貝給用戶xu,為了讓用戶xu能夠存取這個文件,root用戶應該把這個文件的屬主設為xu,否則,用戶xu無法存取這個文件。
語法:chown [選項] 用戶或組 文件
說明:chown將指定文件的擁有者改為指定的用戶或組。用戶可以是用戶名或用戶I D。組可以是組名或組ID。文件是以空格分開的要改變權限的文件列表,支持通配符。 該命令的各選項含義如下:
-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的擁有者。
-v 顯示chown命令所做的工作。

chmod 指令名稱 : chmod
使用權限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file…
說明 : Linux/Unix 的檔案存取權限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所存取。
把計 :
mode : 權限設定字串,格式如下 : [ugoa...][[+-=][rwxX]…][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。
+ 表示增加權限、- 表示取消權限、= 表示唯一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
-c : 若該檔案權限確實已經更改,才顯示其更改動作
-f : 若該檔案權限無法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更)
–help : 顯示輔助說明
–version : 顯示版本
范例 :將檔案 file1.txt 設為所有人皆可讀取 :
chmod ugo+r file1.txt
將檔案 file1.txt 設為所有人皆可讀取 :
chmod a+r file1.txt
將檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt
將 ex1.py 設定為只有該檔案擁有者可以執行 :
chmod u+x ex1.py
將目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :
chmod -R a+r *
此外chmod也可以用數字來表示權限如 chmod 777 file
語法為:chmod abc file
其中a,b,c各為一個數字,分別表示User、Group、及Other的權限。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。
范例:
chmod a=rwx file

chmod 777 file
效果相同
chmod ug=rwx,o=x file

chmod 771 file
效果相同
若用chmod 4755 filename可使此程式具有root的權限

chgrp

chgrp(change group) 在UNIX系統家族裡,文件或目錄權限的掌控以擁有者及所屬群組來管理。您可以使用chgrp指令去變更文件與目錄的所屬群組,設置方式采用群組名稱或群組識別碼皆可。
功能說明:變更文件或目錄的所屬群組。
語 法:chgrp [-cfhRv][--help][--version][所屬群組][文件或目錄...] 或 chgrp [-cfhRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]
參 數:
-c或–changes 效果類似-v參數,但僅回報更改的部分。
-f或–quiet或–silent 不顯示錯誤信息。
-h或–no-dereference 只對符號連接的文件作修改,而不更動其他任何相關文件。
-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
-v或–verbose 顯示指令執行過程。
–help 在線幫助。
–reference=<參考文件或目錄> 把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同。
–version 顯示版本信息。

chgrp命令

========測試環境: Fedora Core 6.0;內核:2.6.18========
#首先建立一個文檔,為普通用戶文檔。
[klot@localhost ~]$ echo aa>>1
[klot@localhost ~]$ ls -al 1
-rw-r–r– 1 klot users 3 08-16 21:26 1
[klot@localhost ~]$
#su
[klot@localhost ~]$ su
口令:
[root@localhost klot]# ls -al 1
-rw-r–r– 1 klot users 3 08-16 21:26 1
#最基本的用法
[root@localhost klot]# chgrp root 1
[root@localhost klot]# ls -al 1
-rw-r–r– 1 klot root 3 08-16 21:26 1
[root@localhost klot]#
# -R之後可以更改目錄中的子目錄,也即使歸檔處理。我不舉例子了。很有用的參數。
[root@localhost klot]# chgrp users 1
[root@localhost klot]# ls -al 1
-rw-r–r– 1 klot users 3 08-16 21:26 1
[root@localhost klot]# chgrp -c root 1
“1 的所屬組已更改為 root
#以上,-c與-v類似,但是v表示無論如何也要顯示結果,c表示只有更改組之後才顯示結果。
[root@localhost klot]# ln -s ./1 ./Desktop/11
[root@localhost klot]# ls -al ./Desktop/11
lrwxrwxrwx 1 root root 3 08-16 21:39 ./Desktop/11 -> ./1
[root@localhost klot]# chgrp -h users ./Desktop/11
[root@localhost klot]# chgrp -h -v users ./Desktop/11
“./Desktop/11 的所屬組已保留為 users
[root@localhost klot]#
#以上,ln創建了符號連接,而-h有且只有改變符號連接的用戶組,與參數 –dereference正好相反。
#-f為安靜模式,不顯示大部分錯誤信息。我不實驗了。
The following options modify how a hierarchy is traversed when the -R
option is also specified. If more than one is specified, only the
final one takes effect.
# 以下參數只有和-R同時使用才奏效。如果要轉換的文件超過一個,那麼只有最後一個奏效。
#-H, if a command line argument is a symbolic link to a directory, traverse it。沒明白!!
#(-H, 如果chgrp命令中的參數之一是一個目錄的符號連接,那麼轉換它)
#-L,所有指向目錄的連接都會被轉換。
#-P,忽略所有符號連接(默認)

copyright © 萬盛學電腦網 all rights reserved