CHMOD(2) — Silicon Graphics
NAME
chmod − change mode of file
SYNOPSIS
int chmod (path, mode)
char ∗path;
int mode;
DESCRIPTION
Path points to a path name naming a file. Chmod sets the access permission portion of the named file’s mode according to the bit pattern contained in mode.
Access permission bits are interpreted as follows:
04000 Set user ID on execution.
02000 Set group ID on execution.
01000 Save text image after execution
00400 Read by owner
00200 Write by owner
00100 Execute (or search if a directory) by owner
00070 Read, write, execute (search) by group
00007 Read, write, execute (search) by others
The effective user ID of the process must match the owner of the file or be super-user to change the mode of a file.
If the effective user ID of the process is not super-user, mode bit 01000 (save text image on execution) is cleared.
If the effective user ID of the process is not super-user or the effective group ID of the process does not match the group ID of the file, mode bit 02000 (set group ID on execution) is cleared.
If an executable file is prepared for sharing (see the cc -n option), then mode bit 01000 prevents the system from abandoning the swap-space image of the program-text portion of the file when its last user terminates. Thus, when the next user of the file executes it, the text need not be read from the file system but can simply be swapped in, saving time.
Changing the owner of a file turns off the set-user-id bit, unless the superuser does it. This makes the system somewhat more secure at the expense of a degree of compatibility.
Chmod will fail and the file mode will be unchanged if one or more of the following are true:
A component of the path prefix is not a directory. [ENOTDIR]
The named file does not exist. [ENOENT]
Search permission is denied on a component of the path prefix. [EACCES]
The effective user ID does not match the owner of the file and the effective user ID is not super-user. [EPERM]
The named file resides on a read-only file system. [EROFS]
Path points outside the process’s allocated address space. [EFAULT]
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.
SEE ALSO
ASSEMBLER
moveq#15,D0
movlpath,A0
movlmode,D1
trap#0
Carry bit set on failure and cleared on success.
Version 2.4 — May 08, 1986