119 lines
3.4 KiB
Groff
119 lines
3.4 KiB
Groff
|
||
|
||
CHMOD(2) Minix Programmer's Manual CHMOD(2)
|
||
|
||
|
||
NAME
|
||
chmod - change mode of file
|
||
|
||
SYNOPSIS
|
||
#include <sys/types.h>
|
||
#include <sys/stat.h>
|
||
|
||
int chmod(const char *path, mode_t mode)
|
||
|
||
DESCRIPTION
|
||
The file whose name is given by path has its mode changed to mode. Modes
|
||
are constructed by or'ing together some combination of the following,
|
||
defined in <sys/stat.h>:
|
||
|
||
S_ISUID 04000 set user ID on execution
|
||
S_ISGID 02000 set group ID on execution
|
||
S_ISVTX 01000 `sticky bit' (see below)
|
||
S_IRWXU 00700 read, write, execute by owner
|
||
S_IRUSR 00400 read by owner
|
||
S_IWUSR 00200 write by owner
|
||
S_IXUSR 00100 execute (search on directory) by owner
|
||
S_IRWXG 00070 read, write, execute by group
|
||
S_IRGRP 00040 read by group
|
||
S_IWGRP 00020 write by group
|
||
S_IXGRP 00010 execute (search on directory) by group
|
||
S_IRWXO 00007 read, write, execute by others
|
||
S_IROTH 00004 read by others
|
||
S_IWOTH 00002 write by others
|
||
S_IXOTH 00001 execute (search on directory) by others
|
||
|
||
If mode ISVTX (the `sticky bit') is set on a directory, an unprivileged
|
||
user may not delete or rename files of other users in that directory.
|
||
(Minix-vmd)
|
||
|
||
Only the owner of a file (or the super-user) may change the mode.
|
||
|
||
Writing or changing the owner of a file turns off the set-user-id and
|
||
set-group-id bits unless the user is the super-user. This makes the
|
||
system somewhat more secure by protecting set-user-id (set-group-id)
|
||
files from remaining set-user-id (set-group-id) if they are modified, at
|
||
the expense of a degree of compatibility.
|
||
|
||
RETURN VALUE
|
||
Upon successful completion, a value of 0 is returned. Otherwise, a value
|
||
of -1 is returned and errno is set to indicate the error.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
4BSD May 13, 1986 1
|
||
|
||
|
||
|
||
CHMOD(2) Minix Programmer's Manual CHMOD(2)
|
||
|
||
|
||
ERRORS
|
||
Chmod will fail and the file mode will be unchanged if:
|
||
|
||
[ENOTDIR] A component of the path prefix is not a directory.
|
||
|
||
[ENAMETOOLONG] The path name exceeds PATH_MAX characters.
|
||
|
||
[ENOENT] The named file does not exist.
|
||
|
||
[EACCES] Search permission is denied for a component of the path
|
||
prefix.
|
||
|
||
[ELOOP] Too many symbolic links were encountered in translating
|
||
the pathname. (Minix-vmd)
|
||
|
||
[EPERM] The effective user ID does not match the owner of the file
|
||
and the effective user ID is not the super-user.
|
||
|
||
[EROFS] The named file resides on a read-only file system.
|
||
|
||
[EFAULT] Path points outside the process's allocated address space.
|
||
|
||
[EIO] An I/O error occurred while reading from or writing to the
|
||
file system.
|
||
|
||
SEE ALSO
|
||
chmod(1), open(2), chown(2), stat(2).
|
||
|
||
NOTES
|
||
The sticky bit was historically used to lock important executables into
|
||
memory.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
4BSD May 13, 1986 2
|
||
|