chown命令示例

chown將指定文件的擁有者改爲指定的用戶或組,用戶可以是用戶名或者用戶ID;組可以是組名或者組ID;文件是以空格分開的要改變權限的文件列表,支持通配符。系統管理員經常使用chown命令,在將文件拷貝到另一個用戶的名錄下之後,讓用戶擁有使用該文件的權限。

1.命令格式

chown [選項]... [所有者][:[組]] 文件...

2.命令功能

通過chown改變文件的擁有者和羣組。在更改文件的所有者或所屬羣組時,可以使用用戶名稱和用戶識別碼設置。普通用戶不能將自己的文件改變成其他的擁有者。其操作權限一般爲管理員。

3.命令參數:

必要參數:

  • -c 顯示更改的部分的信息
  • -f 忽略錯誤信息
  • -h 修復符號鏈接
  • -R 處理指定目錄以及其子目錄下的所有文件
  • -v 顯示詳細的處理信息
  • -deference 作用於符號鏈接的指向,而不是鏈接文件本身

選擇參數:

  • --reference=<目錄或文件> 把指定的目錄/文件作爲參考,把操作的文件/目錄設置成參考文件/目錄相同擁有者和羣組
  • --from=<當前用戶:當前羣組> 只有當前用戶和羣組跟指定的用戶和羣組相同時才進行改變
  • --help 顯示幫助信息
  • --version 顯示版本信息

4.使用實例

實例1:改變擁有者和羣組

命令:

chown yiibai:yiibai newfile.txt

輸出:

[root@localhost scripts]# ll
total 4
-rw-r--r--. 1 root   root   11 Feb 17 02:38 newfile.txt
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.sh
[root@localhost scripts]#  chown yiibai:yiibai newfile.txt
[root@localhost scripts]# ll
total 4
-rw-r--r--. 1 yiibai yiibai 11 Feb 17 02:38 newfile.txt
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.sh
[root@localhost scripts]

實例2:改變文件擁有者和羣組

命令:

chown root: newfile.txt

輸出:

[root@localhost scripts]# ll
total 4
-rw-r--r--. 1 yiibai yiibai 11 Feb 17 02:38 newfile.txt
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.sh
[root@localhost scripts]# chown root: newfile.txt
[root@localhost scripts]# ll
total 4
-rw-r--r--. 1 root   root   11 Feb 17 02:38 newfile.txt
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.sh
[root@localhost scripts]#

實例3:改變文件羣組

命令:

chown :yiibai newfile.txt

輸出:

[root@localhost scripts]# ll
total 4
-rw-r--r--. 1 yiibai nobody 11 Feb 17 02:38 newfile.txt
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.sh
[root@localhost scripts]# chown :yiibai newfile.txt
[root@localhost scripts]# ll
total 4
-rw-r--r--. 1 yiibai yiibai 11 Feb 17 02:38 newfile.txt
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.sh
[root@localhost scripts]#

實例4:改變指定目錄以及其子目錄下的所有文件的擁有者和羣組

命令:

chown -R -v root:yiibai scripts/

輸出:

[root@localhost yiibai]# ll scripts/
total 4
-rw-r--r--. 1 yiibai yiibai 11 Feb 17 02:38 newfile.txt
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai nobody  0 Feb 17 02:10 run.sh
[root@localhost yiibai]# chown -R -v root:yiibai scripts/
changed ownership of ‘scripts/run.py’ from yiibai:nobody to root:yiibai
changed ownership of ‘scripts/run.sh’ from yiibai:nobody to root:yiibai
changed ownership of ‘scripts/run.pl’ from yiibai:nobody to root:yiibai
changed ownership of ‘scripts/newfile.txt’ from yiibai:yiibai to root:yiibai
changed ownership of ‘scripts/’ from yiibai:nobody to root:yiibai
[root@localhost yiibai]# ll scripts/
total 4
-rw-r--r--. 1 root yiibai 11 Feb 17 02:38 newfile.txt
-rw-rw-r--. 1 root yiibai  0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 root yiibai  0 Feb 17 02:10 run.py
-rw-rw-r--. 1 root yiibai  0 Feb 17 02:10 run.sh
[root@localhost yiibai]#