原文鏈接: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