Change owner, change the user and/or group ownership of each given File to a new Owner.
Chown can also change the ownership of a file to match the user/group of an existing reference file.

      chown [Options]... NewOwner File...

      chown [Options]... :Group File...

      chown [Options]... --reference=RFILE File...

   If used, NewOwner specifies the new owner and/or group as follows
   (with no embedded white space):

     [OWNER] [ [:.] [GROUP] ]

   Some examples of how the owner/group can be specified:

     If only an OWNER (a user name or numeric user id) is given, that
     user is made the owner of each given file, and the files' group is
     not changed.

     If the OWNER is followed by a colon or dot and a GROUP (a group
     name or numeric group id), with no spaces between them, the group
     ownership of the files is changed as well (to GROUP).

     If a colon or dot but no group name follows OWNER, that user is
     made the owner of the files and the group of the files is changed
     to OWNER's login group.

     If the colon or dot and following GROUP are given, but the owner
     is omitted, only the group of the files is changed; in this case,
     'chown' performs the same function as 'chgrp'.


       Verbosely describe the action for each FILE whose ownership actually changes.

       Do not act on symbolic links themselves but rather on what they point to.

       Do not print error messages about files whose ownership cannot be changed.

       Act on symbolic links themselves instead of what they point to.
       This is the default.  This mode relies on the 'lchown' system call.
       On systems that do not provide the 'lchown' system call, 'chown'
       fails when a file specified on the command line is a symbolic link.
       By default, no diagnostic is issued for symbolic links encountered
       during a recursive traversal, but see '--verbose'.

       Use the user and group of the reference FILE instead of an explicit
       NewOwner value.

       Recursively change ownership of directories and their contents. 
       Take care to not run recursive chown on the root '/' directory or any other system directory.

       Verbosely describe the action (or non-action) taken for every FILE.
       If a symbolic link is encountered during a recursive traversal on a system without
       the 'lchown' system call, and '--no-dereference' is in effect, then issue a
       diagnostic saying neither the symbolic link nor its referent is being changed.


Assign Ursula as the owner of "MyFile.txt" file in the Shared directory.

$ sudo chown Ursula /Users/Shared/MyFile.txt

Assign Ursula as the owner, and staff as the group for everything in the "tmp" folder

$ sudo chown -R Ursula:staff /Users/Shared/tmp/

Change the owner of only the hidden files (prefixed with .) in the folder Work:

chown -R .* goes up as well as down
sudo chown -R audrey /Work/.*
Will be expanded by the shell to:
sudo chown -R audrey /Work/. /Work/.. /Work/.bash_history

In other words chown -R audrey /Work/.. is equivalent to chown -R audrey /
Which we do not want!

The correct way to set this:

sudo chown -R audrey /Work/.[^.]*

“It is in men as in soils where sometimes there is a vein of gold which the owner knows not” ~ Jonathan Swift

Related linux commands

chgrp - Change group ownership.
chmod - Change access permissions.
bash syntax - Permissions
Equivalent Windows command: XCACLS - Change file permissions.

Copyright © 1999-2024
Some rights reserved