LinuxCommandLibrary

chown

TLDR

Change owner

$ chown [user] [file]
copy
Change owner and group
$ chown [user]:[group] [file]
copy
Recursive change
$ chown -R [user]:[group] [directory/]
copy
Change group only
$ chown :[group] [file]
copy

SYNOPSIS

chown [options] owner[:group] file...

DESCRIPTION

chown (change owner) modifies file ownership. It can change the user owner, group owner, or both. File ownership determines who has ultimate control over file permissions.
The command typically requires root privileges to change ownership to other users.

PARAMETERS

-R, --recursive

Change files and directories recursively
-v, --verbose
Verbose output
-c, --changes
Report only changes
--reference=file
Use ownership from reference file
-h, --no-dereference
Affect symbolic links instead of targets
--from=currentowner_
Change only if current owner matches

OWNERSHIP FORMAT

user

Change user owner only
user:group
Change user and group
user:
Change user and set group to user's login group
:group
Change group only (same as chgrp)

WORKFLOW

$ # Change owner
sudo chown alice file.txt

# Change owner and group
sudo chown alice:developers file.txt

# Change owner, group to user's login group
sudo chown alice: file.txt

# Change group only
sudo chown :www-data file.txt

# Recursive change
sudo chown -R alice:developers project/

# Use reference file
sudo chown --reference=template.txt newfile.txt

# Change only if owned by specific user
sudo chown --from=bob alice file.txt
copy

COMMON USES

Web server files:

$ sudo chown -R www-data:www-data /var/www/html
copy
User home directory:
$ sudo chown -R alice:alice /home/alice
copy
Restore ownership:
$ sudo chown -R $(whoami):$(whoami) ~/myproject
copy

CAVEATS

Usually requires root/sudo. Changing ownership removes some security features (like setuid). Recursive changes can break system files. Cannot change ownership to users that don't exist. Symbolic links handled differently depending on options.

HISTORY

chown has been part of Unix since the early 1970s as part of the file ownership security model.

SEE ALSO

chmod(1), chgrp(1), ls(1), stat(1)

Copied to clipboard