Skip to main content

Command Palette

Search for a command to run...

Cheatsheet & Examples: chown

Updated
3 min read
H

I am a developer from Malaysia. I work with PHP most of the time, recently I fell in love with Go. When I am not working, I will be ballroom dancing :-)

chown changes the ownership of files and directories. This involves modifying the user and/or group associated with a file, determining who has access and permissions.

Changing File Ownership to a Specific User

Example Usage: chown user file.txt

What it does: Changes the owner of file.txt to the specified user.

Command-line Arguments Explained:

  • user: The username of the new owner. This can be the username itself (e.g., john) or the user ID (UID).
  • file.txt: The name of the file whose owner you want to change.

Changing File Ownership to a Specific Group

Example Usage: chown :group file.txt

What it does: Changes the group ownership of file.txt to the specified group.

Command-line Arguments Explained:

  • :group: The name of the group that will become the new owner of the file. Note the colon (:) before the group name, which signifies that only the group is being specified. This can be the group name (e.g., developers) or the group ID (GID).
  • file.txt: The name of the file whose group owner you want to change.

Changing Both User and Group Ownership

Example Usage: chown user:group file.txt

What it does: Changes both the user and group ownership of file.txt.

Command-line Arguments Explained:

  • user: The username or user ID of the new owner.
  • :group: The groupname or group ID of the new group owner.
  • file.txt: The name of the file whose owner and group you want to change.

Recursively Changing Ownership of a Directory and Its Contents

Example Usage: chown -R user:group directory/

What it does: Recursively changes the user and group ownership of the directory and all of its contents (files and subdirectories).

Command-line Arguments Explained:

  • -R: Recursive option. Applies the changes to the directory and all of its subdirectories and files.
  • user: The username or user ID of the new owner.
  • :group: The groupname or group ID of the new group owner.
  • directory/: The name of the directory whose ownership you want to change. The trailing slash is good practice, but not strictly required.

Example Usage: chown -h user:group symbolic_link

What it does: Changes the ownership of the symbolic link itself, without affecting the ownership of the file or directory the symbolic link points to.

Command-line Arguments Explained:

  • -h: --no-dereference - operates on the symbolic link itself instead of the file or directory it points to.
  • user: The username or user ID of the new owner of the symbolic link.
  • :group: The groupname or group ID of the new group owner of the symbolic link.
  • symbolic_link: The name of the symbolic link.

Using chown with the --from option

Example Usage: chown --from=olduser:oldgroup user:group file.txt

What it does: Changes the user and group ownership only if the current user and group match olduser:oldgroup.

Command-line Arguments Explained:

  • --from=olduser:oldgroup: This option specifies the existing user and group ownership that must be present before the change is made.
  • user: The new username or user ID.
  • :group: The new groupname or group ID.
  • file.txt: The name of the file.