10+ Practical chown Command Usage Examples in Linux
Posted by Superadmin on December 08 2015 02:32:29

This tutorial explains Linux "chown"? command, options and its usage with examples. "chown"? command is used to change file owner and group. This post describes "chown"? command used in Linux along with usage examples and/or output.

 

Usage: chown [OPTION] - ¦ [OWNER][:[GROUP]] FILE… chown [OPTION] -¦ –reference=RFILE FILE…

 

chown? is a command to change the ownership of a file/folder or even multiple files/folders for a specified user/group. chown stands for change file owner and Group. Here's the listing of example usage of command. :

 

1. To change the owner of a file(chown owner_name file_name):

 

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 himanshu himanshu 0 Jun 21 12:12 1.txt

 

sanfoundry-> sudo chown root 1.txt

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:12 1.txt

 

 

2.To change the group of a file(chown :group_name file_name): chown? command is also used to change group name of a file, like chgrp? command.

 

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:12 1.txt

sanfoundry-> sudo chown :users 1.txt

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 root users 0 Jun 21 12:12 1.txt

 

 

 

3. To Change both owner and the group(chown owner_name:group_name file_name):

 

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 root users 0 Jun 21 12:12 1.txt

sanfoundry-> sudo chown himanshu:user 1.txt

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 himanshu user 0 Jun 21 12:12 1.txt

 

 

4. To change the owner from particular owner only(chown from ¦.): chown command is used to change owner from a particular owner name only.

 

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 himanshu user 0 Jun 21 12:12 1.txt

sanfoundry-> sudo chown --from=users root 1.txt chown: invalid user: `users'

sanfoundry-> sudo chown --from=himanshu root 1.txt

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 root user 0 Jun 21 12:12 1.txt

 

Here as you can see --from=users ? has shown error since file 1.txt was owned by himanshu? not users. With the next command the owner is successfully changed from “himanshu� to “root�.

 

 

5. To change the group from particular group only(chown –from ….):

 

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 root user 0 Jun 21 12:12 1.txt

sanfoundry-> sudo chown --from=:user :himanshu 1.txt

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:12 1.txt

 

Here as you can see that group name “user� has been changed from “user� to “himanshu�.

 

6. To recursively change ownership of directories and their contents(chown -R owner_name folder_name):

 

sanfoundry-> ls -l sample/

 

total 0 -rw-rw-r-- 1 himanshu himanshu 0 Jun 21 12:29 x -rw-rw-r-- 1 himanshu himanshu 0 Jun 21 12:29 y

sanfoundry-> sudo chown -R root sample/

sanfoundry-> ls -l sample/

total 0 -rw-rw-r-- 1 root himanshu 0 Jun 21 12:29 x -rw-rw-r-- 1 root himanshu 0 Jun 21 12:29 y *

 

As, Here the owners are changed, groups can also be changed in recursive manner.

 

7. To change the ownership permissions forcefully/silent/quiet and don’t print any error(chown -f owner.. file_name):

 

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:12 1.txt

sanfoundry-> chown himanshu 1.txt chown: changing ownership of `1.txt': Operation not permitted sanfoundry-> chown -f himanshu 1.txt

sanfoundry-> ls -l 1.txt

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:12 1.txt

 

Here as you can see that, with the addition of “-f� option the error message has been suppressed. But the operation has still not executed properly.

 

8. To copy the owner/group permissions from one file to another(chown –reference=original_file target_file): With the help of –reference option, You can transfer the settings of one file to another.

 

sanfoundry-> ls -l 1.txt 2.txt

 

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:12 1.txt

-rw-rw-r-- 1 himanshu himanshu 0 Jun 21 12:40 2.txt

 

sanfoundry-> sudo chown --reference=1.txt 2.txt

sanfoundry-> ls -l 1.txt 2.txt

 

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:12 1.txt

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:40 2.txt

 

Here as you can see, that the owner/group settings of file

1.txt are transfered to file

2.txt directly.

 

9. List all the changes made by the chown command in a verbose manner(chown -v ..):

 

sanfoundry-> ls -l 1.txt

 

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:12 1.txt

 

sanfoundry-> sudo chown -v himanshu:users

 

1.txt changed ownership of `1.txt' from root:himanshu to himanshu:users

 

 

10. To change owner/group of a symbolic link(chown owner/group link_name):

 

sanfoundry-> ln -s 1.txt 1_link.txt

sanfoundry-> ls -l 1_link.txt 1.txt

 

lrwxrwxrwx 1 himanshu himanshu 5 Jun 21 12:45 1_link.txt -> 1.txt

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:12 1.txt

 

sanfoundry-> sudo chown root:root 1_link.txt

sanfoundry-> ls -l 1_link.txt 1.txt

 

lrwxrwxrwx 1 himanshu himanshu 5 Jun 21 12:45 1_link.txt -> 1.txt

-rw-rw-r-- 1 root root 0 Jun 21 12:12 1.txt

 

As here you can see that applying chown command to change owner/group of a symbolic file, the owner/group of the file represented by the linked file is changed.

 

For e.g here changing settingd for 1_link.txt file does not caused any change in 1_link.txt, but the caused change in 1.txt file.

This is a default behavior of chown command.

 

11. To forcefully change owner/group of a symbolic file(chown -h …):

 

With the “-h� option default behavior of chown command is suppressed and owner/group of symbolic file is changed.

 

sanfoundry-> ls -l 1_link.txt 1.txt

lrwxrwxrwx 1 himanshu himanshu 5 Jun 21 12:45 1_link.txt -> 1.txt

-rw-rw-r-- 1 root root 0 Jun 21 12:12 1.txt

 

sanfoundry-> sudo chown -h root:users 1_link.txt

sanfoundry-> ls -l 1_link.txt 1

lrwxrwxrwx 1 root users 5 Jun 21 12:45 1_link.txt -> 1.txt

-rw-rw-r-- 1 root root 0 Jun 21 12:12 1.txt

 

12. Using chown to change the owner/group of a symbolic link directory recursively(chown -R -H …):

 

sanfoundry-> ln -s sample/ symbolic_folder

sanfoundry-> ls -l symbolic_folder

-rw-rw-r-- 1 himanshu himanshu 0 Jun 21 12:57 x

-rw-rw-r-- 1 himanshu himanshu 0 Jun 21 12:57 y

 

sanfoundry-> sudo chown -R root symbolic_folder

sanfoundry-> ls -l symbolic_folder

-rw-rw-r-- 1 himanshu himanshu 0 Jun 21 12:57 x

-rw-rw-r-- 1 himanshu himanshu 0 Jun 21 12:57 y

 

sanfoundry-> sudo chown -R -H root symbolic_folder

sanfoundry-> ls -l symbolic_folder

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:57 x

-rw-rw-r-- 1 root himanshu 0 Jun 21 12:57 y

 

Here as you can see that with -H option the owner name of the symbolic_folder is changed.

 

 

13. To change the permission for each file (chown -c file1 file2..):

 

sanfoundry-> ls -l 1.txt 2.txt

-rw-rw-r-- 1 root root 0 Jun 21 12:12 1.txt

-rw-rw-r-- 1 root himanshu 0 Jun 21 13:06 2.txt

 

sanfoundry-> sudo chown -c himanshu 1.txt 2.txt

changed ownership of `1.txt' from root to himanshu changed ownership of `2.txt' from root to himanshu