This tutorial explains Linux “chown” command, options and its usage with examples.
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
Sanfoundry Global Education & Learning Series – 1000 Linux Tutorials.
- Check Linux Books
- Check Information Technology Books
- Apply for Programming Internship
- Practice Programming MCQs