天天看點

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

輸出:  

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:改變檔案擁有者和群組

chown

root: log2012.log

輸出:

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:改變檔案群組

指令:   

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 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:改變指定目錄以及其子目錄下的所有檔案的擁有者和群組

指令:  

chown

-R -

v

root:mail test6

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

# 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

-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