Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

chown(1)

Name

chown - change file ownership

Synopsis

/usr/bin/chown

chown [-c | -changes] [--dereference] [-h | --no-dereference]
     [--from=CURRENT_OWNER:CURRENT_GROUP] [-f | --silent | --quiet]
     [--help] [-R | --recursive] [--no-preserve-root] [--preserve-root]
     [-v | --verbose] owner[:group] file...
chown -R | -recursive [-c | -changes] [--dereference]
     [ -h | --no-dereference] [--from=CURRENT_OWNER:CURRENT_GROUP]
     [-f | --silent | --quiet] [--help] [-H | -L | -P]
     [--preserve-root] [--no-preserve-root] [-v | --verbose]
     owner[:group] file...
chown [-c | -changes] [--dereference] [ -h | --no-dereference]
     [--from=CURRENT_OWNER:CURRENT_GROUP] [-f | --silent | --quiet]
     [--help] [-R | --recursive] [--no-preserve-root] [--preserve-root]
     [-v | --verbose] --reference=RFILE | -s ownersid[:groupsid] file ...
chown -R | -recursive [-c | -changes] [--dereference]
     [ -h | --no-dereference] [--from=CURRENT_OWNER:CURRENT_GROUP]
     [-f | --silent | --quiet] [--help] [-H | -L | -P]
     [--preserve-root] [--no-preserve-root] [-v | --verbose]
     --reference=RFILE | -s ownersid[:groupsid] file ...

/usr/xpg4/bin/chown

/usr/xpg4/bin/chown [-fhR] owner[:group] file...
/usr/xpg4/bin/chown -s [-fhR] ownersid[:groupsid] file...
/usr/xpg4/bin/chown -R [-f] [-H | -L | -P] owner[:group] file...
/usr/xpg4/bin/chown -s -R [-f] [-H | -L | -P] ownersid[:groupsid] file...

Description

/usr/bin/chown and /usr/xpg4/bin/chown

The chown utility sets the user ID of the file named by each file to the user ID specified by owner, and, optionally, sets the group ID to that specified by group.

If chown is invoked without the {PRIV_FILE_SETID} privilege, the set-user-ID and set-group-ID bits are cleared.

Changing the owner of a file may require additional privilege. The {PRIV_FILE_CHOWN} privilege allows changing the owner of files owned by other users, but does not allow changing the owner to or from uid 0. The {PRIV_FILE_CHOWN_SELF} privilege allows the file's current owner to change the owner to another uid, except for uid 0. Changing a file's owner to uid 0 requires all privileges.

The file system has a mountpoint option, rstchown, to restrict ownership changes. When this option is in effect the owner of the file is prevented from changing the owner ID of the file, unless they use the privileges listed above. When this option is not in effect, the owner of the file does not need additional privilege to change the owner to another non-zero uid. The _POSIX_CHOWN_RESTRICTED option will be reported as true for paths on filesystems mounted with the rstchown option, when checked with fpathconf(2) or getconf(1).

chown changes the ownership of each file to owner. owner can be specified as either a user name or a numeric user id. The group ownership of each file can also be changed to group by appending :group to the user name.

Options

The following options are supported for /usr/bin/chown:

–c, –-changes

Like verbose (–v | –-verbose). Reports only when a change is made.

–f, –-silent, –-quiet

Force. Does not report errors.

–-from=CURRENT_OWNER:CURRENT_GROUP

Change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute

–h, –-no-dereference

If the file is a symbolic link, this option changes the owner of the symbolic link. Without this option, the owner of the file referenced by the symbolic link is changed.

–-help

Display usage message and exit.

–H

If the file specified on the command line is a symbolic link referencing a file of type directory, this option changes the owner of the directory referenced by the symbolic link and all the files in the file hierarchy below it. If a symbolic link is encountered when traversing a file hierarchy, the owner of the target file is changed, but no recursion takes place.

–L

If the file is a symbolic link, this option changes the owner of the file referenced by the symbolic link. If the file specified on the command line, or encountered during the traversal of the file hierarchy, is a symbolic link referencing a file of type directory, then this option changes the owner of the directory referenced by the symbolic link and all files in the file hierarchy below it.

–-no-preserve-root

Do not treat ‘/’ specially. This is the default.

–-preserve-root

Do not operate recursively on ‘/’.

–P

If the file specified on the command line or encountered during the traversal of a file hierarchy is a symbolic link, this option changes the owner of the symbolic link. This option does not follow the symbolic link to any other part of the file hierarchy.

–-reference=RFILE

Uses RFILE's owner and group. If RFILE is missing, then gives a diagnostic error message and returns a non-zero exit code. This option and –s option are mutually exclusive.

–R, –-recursive

Recursive. chown descends through the directory, and any subdirectories, setting the specified group ID as it proceeds. When a symbolic link is encountered, the group of the target file is changed, unless the –h or –P option is specified. However, no recursion takes place, unless the –H or –L option is specified.

–s

The owner and/or group arguments are Windows SID strings. This option requires a file system that supports storing SIDs, such as ZFS. This option and –-reference option are mutually exclusive.

–v, –-verbose

Give a diagnostic for every file processed.

Specifying more than one of the mutually-exclusive options –H, –L, or –P is not considered an error. The last option specified determines the behavior of chown.

The following options are supported for /usr/xpg4/bin/chown:

–f

Force. Does not report errors.

–h

If the file is a symbolic link, this option changes the owner of the symbolic link. Without this option, the owner of the file referenced by the symbolic link is changed.

–H

If the file specified on the command line is a symbolic link referencing a file of type directory, this option changes the group of the directory referenced by the symbolic link and all the files in the file hierarchy below it. If a symbolic link is encountered when traversing a file hierarchy, the group of the target file is changed, but no recursion takes place.

–L

If the file is a symbolic link, this option changes group of the file referenced by the symbolic link. If the file specified on the command line, or encountered during the traversal of the file hierarchy, is a symbolic link referencing a file of type directory, then this option changes the group of the directory referenced by the symbolic link and all files in the file hierarchy below it.

–P

If the file specified on the command line or encountered during the traversal of a file hierarchy is a symbolic link, this option changes the group of the symbolic link. This option does not follow the symbolic link to any other part of the file hierarchy.

–R

Recursive. chown descends through the directory, and any subdirectories, setting the specified group ID as it proceeds. When a symbolic link is encountered, the group of the target file is changed, unless the –h or –P option is specified. Unless the –H, –L, or –P option is specified, the –L option is used as the default mode.

–s

The specified group is Windows SID. This option requires a file system that supports storing SIDs, such as ZFS.

Specifying more than one of the mutually-exclusive options –H, –L, or –P is not considered an error. The last option specified determines the behavior of chown.

Operands

The following operands are supported:

owner[:group]

A user ID and optional group ID to be assigned to file. The owner portion of this operand must be a user name from the user database or a numeric user ID. Either specifies a user ID to be given to each file named by file. If a numeric owner exists in the user database as a user name, the user ID number associated with that user name is used as the user ID. Similarly, if the group portion of this operand is present, it must be a group name from the group database or a numeric group ID. Either specifies a group ID to be given to each file. If a numeric group operand exists in the group database as a group name, the group ID number associated with that group name is used as the group ID.

file

A path name of a file whose user ID is to be modified.

Examples

Example 1 Changing Ownership of All Files in the Hierarchy

The following command changes ownership of all files in the hierarchy, including symbolic links, but not the targets of the links:

example% chown −R −h owner[:group] file...

Environment Variables

See environ(7) for descriptions of the following environment variables that affect the execution of chown: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.

Exit Status

The following exit values are returned:

0

The utility executed successfully and all requested changes were made.

>0

An error occurred.

Attributes

See attributes(7) for descriptions of the following attributes:

/usr/bin/chown

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/core-os
CSI
Enabled. See NOTES.
Interface Stability
Committed
Standard

/usr/xpg4/bin/chown

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/xopen/xcu4
CSI
Enabled. See NOTES.
Interface Stability
Committed
Standard

See Also

chgrp(1), chmod(1), getconf(1), chown(2), fpathconf(2), passwd(5), attributes(7), environ(7), privileges(7), standards(7), mount(8)

Notes

chown is CSI-enabled except for the owner and group names.

In previous releases of Solaris, there was a /usr/ucb/chown command which had different –R semantics with respect to how symbolic links were handled. /usr/ucb/chown changed ownership of the symbolic link but not the target file. To get this behavior with /usr/bin/chown, additional flags need to be specified.