Linux chown修改文件目錄屬性

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

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

[root@localhost ~]# chown [-R] 所有者 文件或目錄

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

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

[root@localhost ~]# chown [-R] 所有者:所屬組 文件或目錄

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

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

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

【例 1】
其實,修改文件的所有者,更多時候是爲了得到更高的權限,舉一個實例:

[root@localhost ~]# touch file
#由root用戶創建file文件
[root@localhost ~]# ll file
-rw-r--r--. 1 root root 0 Apr 17 05:12 file
#文件的所有者是root,普通用戶user對這個文件擁有隻讀權限
[root@localhost ~]# chown user file
#修改文件的所有者
[root@localhost ~]# ll file
-rw-r--r--. 1 user root 0 Apr 17 05:12 file
#所有者變成了user用戶,這時user用戶對這個文件就擁有了讀、寫權限

可以看到,通過修改 file 文件的所有者,user 用戶從其他人身份(只對此文件有讀取權限)轉變成了所有者身份,對此文件擁有讀和寫權限。

 

【例 2】
Linux 系統中,用戶等級權限的劃分是非常清楚的,root 用戶擁有最高權限,可以修改任何文件的權限,而普通用戶只能修改自己文件的權限(所有者是自己的文件),例如:

[root@localhost ~]# cd /home/user
#進入user用戶的家目錄
[root@localhost user]# touch test
#由root用戶新建文件test
[root@localhost user]# ll test
-rw-r--r--. 1 root root 0 Apr 17 05:37 test
#文件所有者和所屬組都是root用戶
[root@localhost user]# su - user
#切換爲user用戶
[user@localhost ~]$ chmod 755 test
chmod:更改"test"的權限:不允許的操作 #user用戶不能修改test文件的權限
[user@localhost ~]$ exit
#退回到root身份
[root@localhost user]# chown user test
#由root用戶把test文件的所有者改爲user用戶
[root@localhost user]# su - user
#切換爲user用戶
[user@localhost ~]$ chmod 755 test
#user用戶由於是test文件的所有者,所以可以修改文件的權限
[user@localhost ~]$ ll test
-rwxr-xr-x. 1 user root 0 Apr 17 05:37 test
#查看權限

可以看到,user 用戶無權更改所有者爲 root 用戶文件的權限,只有普通用戶是這個文件的所有者,纔可以修改文件的權限。 

 

【例 3】

[root@localhost ~]# chown user:group file
[root@localhost ~]# ll file
-rw-r--r--. 1 user group 0 Apr 17 05:12 file

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章