在linux中,創(chuàng)建一個文件時,該文件的擁有者都是創(chuàng)建該文件的用戶。該文件用戶可以修改該文件的擁有者及用戶組別;或者在root用戶下,這樣可以修改任何文件的擁有者及用戶組。
而修改文件所屬用戶和組,需要用到chown命令。
chown 命令,可以認(rèn)為是 "change owner" 的縮寫,主要用于修改文件(或目錄)的所有者,除此之外,這個命令也可以修改文件(或目錄)的所屬組。
當(dāng)只需要修改所有者時,可使用如下 chown 命令的基本格式:
chown [-R] 所有者 文件或目錄
-R(注意大寫)選項(xiàng)表示連同子目錄中的所有文件,都更改所有者。
當(dāng)只需要修改所屬組時,可使用如下 chown 命令的基本格式:
chown [-R] :所屬組 文件或目錄
如果需要同時更改所有者和所屬組,chown 命令的基本格式為:
chown [-R] 所有者:所屬組 文件或目錄
注意,在 chown 命令中,所有者和所屬組中間也可以使用點(diǎn)(.),但會產(chǎn)生一個問題,如果用戶在設(shè)定賬號時加入了小數(shù)點(diǎn)(例如 zhangsan.temp),就會造成系統(tǒng)誤判。因此,建議大家使用冒號連接所有者和所屬組。
當(dāng)然,chown 命令也支持單純的修改文件或目錄的所屬組,例如 chown :group install.log 就表示修改 install.log 文件的所屬組,但修改所屬組通常使用 chgrp 命令,因此并不推薦大家使用 chown 命令。
另外需要注意的一點(diǎn)是,使用 chown 命令修改文件或目錄的所有者(或所屬者)時,要保證使用者用戶(或用戶組)存在,否則該命令無法正確執(zhí)行,會提示 "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”變?yōu)榱?ldquo;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