Annotation of 43BSDReno/lib/libc/sys/chmod.2, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1980 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)chmod.2     6.5 (Berkeley) 5/13/86
                      6: .\"
                      7: .TH CHMOD 2 "May 13, 1986"
                      8: .UC 4
                      9: .SH NAME
                     10: chmod \- change mode of file
                     11: .SH SYNOPSIS
                     12: .nf
                     13: .ft B
                     14: chmod(path, mode)
                     15: char *path;
                     16: int mode;
                     17: .PP
                     18: .ft B
                     19: fchmod(fd, mode)
                     20: int fd, mode;
                     21: .fi
                     22: .SH DESCRIPTION
                     23: The file whose name
                     24: is given by \fIpath\fP
                     25: or referenced by the descriptor
                     26: .I fd
                     27: has its mode changed to
                     28: .IR mode .
                     29: Modes are constructed by
                     30: .IR or 'ing
                     31: together some
                     32: combination of the following, defined in
                     33: .IR <sys/inode.h> :
                     34: .PP
                     35: .RS
                     36: .nf
                     37: .ta \w'IWRITE\ \ 'u +\w'04000\ \ \ 'u
                     38: ISUID  04000   set user ID on execution
                     39: ISGID  02000   set group ID on execution
                     40: ISVTX  01000   `sticky bit' (see below)
                     41: IREAD  00400   read by owner
                     42: IWRITE 00200   write by owner
                     43: IEXEC  00100   execute (search on directory) by owner
                     44:        00070   read, write, execute (search) by group
                     45:        00007   read, write, execute (search) by others
                     46: .fi
                     47: .RE
                     48: .PP
                     49: If an executable file is set up for sharing (this is the default)
                     50: then mode ISVTX (the `sticky bit') prevents the system from
                     51: abandoning the swap-space image of the program-text portion
                     52: of the file when its last user terminates.
                     53: Ability to set this bit on executable files is restricted to the super-user.
                     54: .PP
                     55: If mode ISVTX (the `sticky bit') is set on a directory,
                     56: an unprivileged user may not delete or rename
                     57: files of other users in that directory.
                     58: For more details of the properties of the sticky bit, see
                     59: .IR sticky (8).
                     60: .PP
                     61: Only the owner of a file (or the super-user) may change the mode.
                     62: .PP
                     63: Writing or changing the owner of a file
                     64: turns off the set-user-id and set-group-id bits
                     65: unless the user is the super-user.
                     66: This makes the system somewhat more secure
                     67: by protecting set-user-id (set-group-id) files
                     68: from remaining set-user-id (set-group-id) if they are modified,
                     69: at the expense of a degree of compatibility.
                     70: .SH "RETURN VALUE
                     71: Upon successful completion, a value of 0 is returned.
                     72: Otherwise, a value of \-1 is returned and
                     73: .I errno
                     74: is set to indicate the error.
                     75: .SH "ERRORS
                     76: .I Chmod
                     77: will fail and the file mode will be unchanged if:
                     78: .TP 15
                     79: [ENOTDIR]
                     80: A component of the path prefix is not a directory.
                     81: .TP 15
                     82: [EINVAL]
                     83: The pathname contains a character with the high-order bit set.
                     84: .TP 15
                     85: [ENAMETOOLONG]
                     86: A component of a pathname exceeded 255 characters,
                     87: or an entire path name exceeded 1023 characters.
                     88: .TP 15
                     89: [ENOENT]
                     90: The named file does not exist.
                     91: .TP 15
                     92: [EACCES]
                     93: Search permission is denied for a component of the path prefix.
                     94: .TP 15
                     95: [ELOOP]
                     96: Too many symbolic links were encountered in translating the pathname.
                     97: .TP 15
                     98: [EPERM]
                     99: The effective user ID does not match the owner of the file and
                    100: the effective user ID is not the super-user.
                    101: .TP 15
                    102: [EROFS]
                    103: The named file resides on a read-only file system.
                    104: .TP 15
                    105: [EFAULT]
                    106: .I Path
                    107: points outside the process's allocated address space.
                    108: .TP 15
                    109: [EIO]
                    110: An I/O error occurred while reading from or writing to the file system.
                    111: .PP
                    112: .I Fchmod
                    113: will fail if:
                    114: .TP 15
                    115: [EBADF]
                    116: The descriptor is not valid.
                    117: .TP 15
                    118: [EINVAL]
                    119: .I Fd
                    120: refers to a socket, not to a file.
                    121: .TP 15
                    122: [EROFS]
                    123: The file resides on a read-only file system.
                    124: .TP 15
                    125: [EIO]
                    126: An I/O error occurred while reading from or writing to the file system.
                    127: .SH "SEE ALSO"
                    128: chmod(1), open(2), chown(2), stat(2), sticky(8)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.