使用權限 : 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命令所做的工作。
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 顯示版本信息。
========測試環境: 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,忽略所有符號連接(默認)