linux系統下如何修改檔案所屬使用者和組?

linux怎麼修改檔案所屬使用者和組

在Linux中,建立一個檔案時,該檔案的擁有者都是建立該檔案的使用者。該檔案使用者可以修改該檔案的擁有者及使用者組別;或者在root使用者下,這樣可以修改任何檔案的擁有者及使用者組。

而修改檔案所屬使用者和組,需要用到chown命令。

chown 命令,可以認為是 "change owner" 的縮寫,主要用於修改檔案(或目錄)的所有者,除此之外,這個命令也可以修改檔案(或目錄)的所屬組。

當只需要修改所有者時,可使用如下 chown 命令的基本格式:

chown [-R] 所有者 檔案或目錄

-R(注意大寫)選項表示連同子目錄中的所有檔案,都更改所有者。

當只需要修改所屬組時,可使用如下 chown 命令的基本格式:

chown [-R] :所屬組 檔案或目錄

如果需要同時更改所有者和所屬組,chown 命令的基本格式為:

chown [-R] 所有者:所屬組 檔案或目錄

注意,在 chown 命令中,所有者和所屬組中間也可以使用點(.),但會產生一個問題,如果使用者在設定賬號時加入了小數點(例如 zhangsan.temp),就會造成系統誤判。因此,建議大家使用冒號連線所有者和所屬組。

當然,chown 命令也支援單純的修改檔案或目錄的所屬組,例如 chown :group install.log 就表示修改 install.log 檔案的所屬組,但修改所屬組通常使用 chgrp 命令,因此並不推薦大家使用 chown 命令。

另外需要注意的一點是,使用 chown 命令修改檔案或目錄的所有者(或所屬者)時,要保證使用者使用者(或使用者組)存在,否則該命令無法正確執行,會提示 "invalid user" 或者 "invaild group"。

chown命令的使用示例

1、更改檔案的所屬者

首先我們使用ls -l命令來檢視一下檔案的所屬,例:

#ls -l tmpfile-rw-r-r-- 1 himanshu family 0 2019-03-30 11:03 tmpfile

下面我們使用chown命令來更改該tmpfile檔案的所屬者

#chown root tmpfile

然後再使用ls -l命令來檢視一下該tmpfile檔案的所屬

#ls -l tmpfile-rw-r-r-- 1 root family 0 2019-03-30 11:04 tmpfile

可以看出:該tmpfile檔案的所屬者從“himanshu”變為了“root”

2、更改檔案組

通過chown命令,也可以更改組(檔案所屬的組別)。

使用以下命令來更改檔案所屬的組別:

#chown :root tmpfile

然後使用ls -l命令來檢視一下該tmpfile檔案的所屬

#ls -l tmpfile-rw-r-r-- 1 root root 0 2019-03-30 11:04 tmpfile

也可以直接一次性更改檔案的所屬者和組別為root,需要使用以下命令:

#chown root:root tmpfile