轉載]Linux更改檔案資料夾所屬使用者組(chgrp)

taogchan發表於2012-04-10

更改所屬使用者組, chgrp

改變檔案的使用者組很簡單,直接用chgrp即可,這個命令就是change group(改變使用者組)的縮寫。這樣就很好記了。不過,請記住,要改變成為的使用者組名稱,必須在 /etc/group裡存在,否則就會顯示錯誤。

假設以root的身份登入FC4,那麼,在你的家目錄內有一個install.log檔案,如何改變該檔案的使用者組呢?假設你已經知道在 /etc/group裡已經存在一個名為users的使用者組,但是,testing這個使用者組名字就不存在 /etc/group中了,此時改變使用者組成為users與testing,會有什麼現象發生呢?

[root@linux ~]# chgrp [-R] dirname/filename ...
引數:
-R : 進行遞迴( recursive )的持續更改,即連同子目錄下的所有檔案、目錄
都更新成為這個使用者組。常常用在更改某一目錄的情況。
範例:
[root@linux ~]# chgrp users install.log
[root@linux ~]# ls -l
-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log
[root@linux ~]# chgrp testing install.log
chgrp: invalid group name `testing' <== 出現錯誤資訊~找不到這個使用者組名~
發現了嗎?檔案的使用者組被改成users了,但要改成testing的時候,就會發生錯誤。注意,出現錯誤資訊,還是要查查錯誤資訊的內容才好。
更改檔案擁有者, chown
那麼,如何改變一個檔案的擁有者呢?很簡單。既然改變使用者組是change group,那麼改變擁有者就是change owner(改變擁有者)。這就是chown這個命令的用途,要注意的是,使用者必須是已經存在系統中的,也就是在 /etc/passwd這個檔案中有記錄的使用者名稱稱才可改變。
chown的用途很多,還可以順便直接修改使用者組的名稱。此外,如果要連目錄下的所有子目錄或檔案同時更改檔案擁有者的話,直接加上 -R的引數即可。我們來看看語法與範例:
[root@linux ~]# chown [-R] 賬號名稱 檔案或目錄
[root@linux ~]# chown [-R] 賬號名稱:使用者組名稱 檔案或目錄
引數:
-R : 進行遞迴( recursive )的持續更改,即連同子目錄下的所有檔案、目錄
都更新成為這個使用者組。常常用在更改某一目錄的情況。
範例:
[root@linux ~]# chown bin install.log
[root@linux ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log
[root@linux ~]# chown root:root install.log
[root@linux ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log
 
我們知道如何改變檔案的使用者組與擁有者了,那麼,什麼時候要使用chown或chgrp呢?或許你會覺得奇怪吧?是的,確實有時候需要更改檔案的擁有者的,最常見的例子就是在複製檔案給其他人時,我們使用最簡單的cp來說明好了:
[root@linux ~]# cp 來原始檔 目的檔案
假設今天要將 .bashrc檔案複製成為 .bashrc_test,且是要給bin這個人,你可以這樣做:
[root@linux ~]# cp .bashrc .bashrc_test
[root@linux ~]# ls -al .bashrc*
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
-rw-r--r--  1 root root 395 Jul 13 11:31 .bashrc_test
怎麼辦?.bashrc_test還是屬於root所有,如此一來,即使將檔案拿給bin使用者了,他仍然無法修改(看屬性就知道了),所以就必須修改這個檔案的擁有者與使用者組。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22392018/viewspace-720852/,如需轉載,請註明出處,否則將追究法律責任。

相關文章