chown (8) ( FreeBSD man: Команды системного администрирования )
BSD mandoc
NAME
chownfchownlchown
- change owner and group of a file
LIBRARY
Lb libc
SYNOPSIS
#include <unistd.h> int
chown (const char *path uid_t owner gid_t group); int
fchown (int fd uid_t owner gid_t group); int
lchown (const char *path uid_t owner gid_t group);
DESCRIPTION
The owner ID and group ID of the file
named by
Fa path
or referenced by
Fa fd
is changed as specified by the arguments
Fa owner
and
Fa group .
The owner of a file may change the
Fa group
to a group of which
he or she is a member,
but the change
Fa owner
capability is restricted to the super-user.
The
chown ();
system call
clears the set-user-id and set-group-id bits
on the file
to prevent accidental or mischievous creation of
set-user-id and set-group-id programs if not executed
by the super-user.
The
chown ();
system call
follows symbolic links to operate on the target of the link
rather than the link itself.
The
fchown ();
system call
is particularly useful when used in conjunction
with the file locking primitives (see
flock(2)).
The
lchown ();
system call is similar to
chown ();
but does not follow symbolic links.
One of the owner or group id's
may be left unchanged by specifying it as -1.
RETURN VALUES
Rv -std
ERRORS
The
chown ();
and
lchown ();
will fail and the file will be unchanged if:
Bq Er ENOTDIR
A component of the path prefix is not a directory.
Bq Er ENAMETOOLONG
A component of a pathname exceeded 255 characters,
or an entire path name exceeded 1023 characters.
Bq Er ENOENT
The named file does not exist.
Bq Er EACCES
Search permission is denied for a component of the path prefix.
Bq Er ELOOP
Too many symbolic links were encountered in translating the pathname.
Bq Er EPERM
The operation would change the ownership, but the effective user ID is not the
super-user.
Bq Er EPERM
The named file has its immutable or append-only flag set, see the
chflags(2)
manual page for more information.
Bq Er EROFS
The named file resides on a read-only file system.
Bq Er EFAULT
The
Fa path
argument
points outside the process's allocated address space.
Bq Er EIO
An I/O error occurred while reading from or writing to the file system.
The
fchown ();
system call will fail if:
Bq Er EBADF
The
Fa fd
argument
does not refer to a valid descriptor.
Bq Er EINVAL
The
Fa fd
argument
refers to a socket, not a file.
Bq Er EPERM
The effective user ID is not the super-user.
Bq Er EROFS
The named file resides on a read-only file system.
Bq Er EIO
An I/O error occurred while reading from or writing to the file system.
The
chown ();
system call is expected to conform to
St -p1003.1-90 .
HISTORY
The
chown ();
function appeared in
AT&T System
v7 .
The
fchown ();
system call appeared in
BSD 4.2
The
chown ();
system call was changed to follow symbolic links in
BSD 4.4
The
lchown ();
system call was added in
Fx 3.0
to compensate for the loss of functionality.