如何在Linux中使用chown命令更改文件/組所有者


Chown命令是改變所有權的簡稱,它是一個命令行實用程序,用來改變文件或目錄甚至鏈接的用戶或組的所有權。Linux的理念是這樣的,每一個文件或目錄都是由特定的用戶或組擁有一定的訪問權限。
通過不同的例子,我們將嘗試看看chown命令的各種使用情況。chown命令采用了相當簡單直接的語法。
$ chown OPTIONS USER: GROUP file(s)
USER屬性是擁有該文件的用戶的用戶名。您可以指定用戶名或UID(用戶ID)。同時,GROUP選項指示文件在運行命令后將獲取的新組的名稱。file選項代表常規文件或目錄,甚至是符號鏈接。這是三個可以更改其權限的實體。
需要注意的幾點:
1) 單獨指定USER選項時,文件/目錄的所有權更改為指定用戶的所有權,而組所有權保持不變。這是一個例子:
$ chown john file1.txt
在上面的命令中,文件file1.txt的用戶所有權從當前用戶更改為用戶john。
2)如果USER選項以全冒號開頭,即USER :,並且未提供組名,則用戶將獲得文件的所有權,但文件的組所有權將切換到用戶的登錄組。例如:
$ chown john:file1.txt
在此示例中,用戶john擁有文件file1.txt的所有權,但是文件的組所有權更改為john的登錄組。
3)當用戶和組選項都用冒號分開表示時,即USER:GROUP –其中沒有任何空格–文件將按指定擁有新用戶和組的所有權
$ chown john:john file1.txt
在上面的示例中,文件獲取用戶john的用戶和組所有權。
4)如果不使用USER選項,而組選項之前是完整的冒號:GROUP,則僅文件的組所有權會更改。
如何查看文件權限
要查看文件許可權,只需使用ls -l命令后跟文件名
$ ls -l filename
例如:
$ ls -l file1.txt
從輸出中,我們可以看到該文件由用戶linuxtechi擁有,該用戶分別在第3列和第4列中屬於linuxtechi組。
如何使用chown命令更改文件所有者
在更改權限之前,如果您不是root用戶,請務必調用sudo 。這為您提供了特權,可以更改文件的用戶和組所有權。
要更改文件所有權,請使用以下語法:
$ sudo chown user filename
例如,
$ sudo chown james file1.txt
更改文件所有者Linux chown命令
從輸出中,您可以清楚地看到文件的所有權已從linuxtechi更改為user james。
另外,也可以不使用用戶名,而可以傳遞用戶的UID。要獲取UID,請查看/etc/passwd文件。
$ cat /etc/passwd | grep username
從下面的示例中,我們可以看到用戶linuxtechi的UID為1002
要將文件所有權更改回linuxtechi用戶,我們將執行以下命令:
$ sudo chown 1002 file1.txt
如何使用chown命令更改組所有者
如前所述,要更改文件的組所有者,請忽略用戶,並在組名前面加上完整的冒號。
$ sudo chown :group file
例如,為了從改變FILE1.TXT的組所有者linuxtechi到搬運工,我們執行的命令:
$ sudo chown :docker file1.txt
如何同時更改文件的文件所有者和組所有者
如果要更改文件所屬的所有者和組,請同時指定用戶和組選項,並用完整的冒號分隔,如以下語法所示。確保選項和冒號之間沒有空格。
$ sudo chown user:group filename
例如,以下命令將文件file1.txt的所有權更改為用戶james和組redis(使用ls命令驗證)。
$ sudo chown james:redis file1.txt
如何遞歸更改文件所有權
在將權限應用於目錄時,您可能希望遞歸地應用更改,即使所有權更改降級並應用於文件和子目錄。為此,請使用遞歸選項-R或–recursive指令。
$ sudo chown -R user:group directory
例如,以下命令將/ var / www目錄所有權中的所有文件和文件夾分配給www-data組。
$ sudo chown -R :www-data /var/www
下面的示例將目錄報告的所有權以及目錄中的所有文件和文件夾分配給用戶linuxtechi。
$ sudo chown -R linuxtechi reports
如何使用參考文件更改所有權
最后,您可以使用一種巧妙的方法來更改文件的所有權,即使用參考文件。使用chown命令,可以使用另一個文件作為參考來更改文件的用戶和組所有權。
語法如下所示:
$ chown –reference=ref_file file
假設您想要將file1.txt的用戶和組所有權分配給另一個文件file2.txt。你會怎么做?下面的命令對此進行了說明。
$ chown --reference=file1.txt file2.txt
上面的輸出確認file2.txt繼承了file1.txt的用戶和組所有權。在命令中,file1.txt是參考文件。
Chown命令是一個功能強大的工具,用於管理文件和目錄的所有權。有關更多信息,請查看chown手冊頁。

A5互聯https://www.a5idc.net/


免責聲明!

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



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