chown命令詳情


 

基礎命令學習目錄首頁  

 

原文鏈接:https://www.jb51.net/article/98255.htm

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

1.命令格式:

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

2.命令功能:

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

3.命令參數:

必要參數:

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

選擇參數:

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

  4.使用實例:

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

命令:    

?
1
chown mail:mail log2012.log

輸出:  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@localhost test6] # ll
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
[root@localhost test6] # chown mail:mail log2012.log
[root@localhost test6] # ll
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 mail mail 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
[root@localhost test6] #

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

命令:    

?
1
chown root: log2012.log

輸出:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@localhost test6] # ll
總計 604
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 mail mail 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
[root@localhost test6] # chown root: log2012.log
[root@localhost test6] # ll
總計 604
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root root 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
[root@localhost test6] #

實例3:改變文件群組

命令:   

?
1
chown :mail log2012.log

輸出:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost test6] # ll
總計 604
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root root 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
[root@localhost test6] # chown :mail log2012.log
[root@localhost test6] # ll
總計 604
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root mail 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users   0 11-30 08:39 log2017.log

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

命令:  

?
1
chown -R - v root:mail test6

輸出:  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost test ] # ll
drwxr-xr-x 2 root users  4096 11-30 08:39 test6
[root@localhost test ] # chown -R -v root:mail test6
“test6 /log2014 .log” 的所有者已更改為 root:mail
“test6 /linklog .log” 的所有者已更改為 root:mail
“test6 /log2015 .log” 的所有者已更改為 root:mail
“test6 /log2013 .log” 的所有者已更改為 root:mail
“test6 /log2012 .log” 的所有者已保留為 root:mail
“test6 /log2017 .log” 的所有者已更改為 root:mail
“test6 /log2016 .log” 的所有者已更改為 root:mail
“test6” 的所有者已更改為 root:mail
[root@localhost test ] # ll
drwxr-xr-x 2 root mail  4096 11-30 08:39 test6
[root@localhost test ] # cd test6
[root@localhost test6] # ll
總計 604
---xr--r-- 1 root mail 302108 11-30 08:39 linklog.log
---xr--r-- 1 root mail 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root mail   61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail   0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail   0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail   0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail   0 11-30 08:39 log2017.log

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

 

范例1:將test3.txt文件的屬主改為test用戶。
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown test:root test3.txt
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59

范例2:chown所接的新的屬主和新的屬組之間可以使用:連接,屬主和屬組之一可以為空。如果屬主為空,應該是“:屬組”;如果屬組為空,“:”可以不用帶上。

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt

# chown :test test3.txt <==把文件test3.txt的屬組改為test
# ls -l test3.txt
-rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt

范例3:chown也提供了-R參數,這個參數對目錄改變屬主和屬組極為有用,可以通過加 -R參數來改變某個目錄下的所有文件到新的屬主或屬組。
# ls -l testdir <== 查看testdir目錄屬性
drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件屬主是usr用戶,屬組是 root用戶
# ls -lr testdir <==查看testdir目錄下所有文件及其屬性
total 0
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
# chown -R test:test testdir/ <==修改testdir及它的下級目錄和所有文件到新的用戶和用戶組
# ls -l testdir
drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
# ls -lr testdir
total 0
-rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM