Chapter Contents |
Previous |
Next |
chown |
Portability: | POSIX.1 conforming, UNIX compatible |
SYNOPSIS | |
DESCRIPTION | |
RETURN VALUE | |
EXAMPLE | |
RELATED FUNCTIONS |
SYNOPSIS |
#include <unistd.h> int chown(const char *pathname, uid_t owner, gid_t group);
DESCRIPTION |
chown
changes the owner or owning group of a file. It can be used with
either regular files or special files, such as directories or FIFO files.
pathname
is the name of the file.
owner
is the user ID.
group
is the group ID.
USS implements a restricted
chown
for all
files. A call to
chown
can succeed in only one of two ways:
chown
, and the group argument is the effective
group ID or one of the user's supplementary IDs.
If the
S_IXUSR
,
S_IXGRP
,
or
S_IXOTH
bit is set in
the file permissions,
chown
clears the
S_ISUID
and
S_ISGID
bits of the permissions.
RETURN VALUE |
chown
returns
0
if successful and a
-1
if not successful.
EXAMPLE |
The following example illustrates the
use of
chown
to change
a file's owner and group:
#include <sys/types.h> #include <unistd.h> #include <grp.h> #include <stdlib.h> main(int argc, char *argv[]) { struct group *billing; int rc; billing = getgrnam("BILLING"); if (!billing) { perror("getgrnam error"); abort(); } if (argc <= 1) { printf("No file name specified.\\n"); exit(EXIT_FAILURE); } rc = chown(argv[1], geteuid(), billing->gr_gid); if (rc == 0) { printf("Ownership of %s assigned to BILLING.\\n", argv[1]); exit(EXIT_SUCCESS); } else { perror("chown error"); abort(); } }
RELATED FUNCTIONS |
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.