Linux更改文件文件夾所屬用戶組(chgrp)

更改所屬用戶組, 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用戶了,他仍然無法修改(看屬性就知道了),所以就必須修改這個文件的擁有者與用戶組。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章