Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(1)

chown(2)

creat(2)

fcntl(2)

mknod(2)

open(2)

read(2)

write(2)

CHMOD(2)  —  Kubota Pacfic Computer Inc. (System Calls)

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:

04000Set user ID on execution.
020#0Set group ID on execution if # is 7, 5, 3, or 1
    Enable mandatory file/record locking if # is 6, 4, 2, or 0
01000Save text image after execution.
00400Read by owner.
00200Write by owner.
00100Execute (search if a directory) by owner.
00070Read, write, execute  (search) by group.
00007Read, 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 and 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 a 410 executable file has the sticky bit (mode bit 01000) set, the operating system will not delete the program text from the swap area when the last user process terminates.  If a 413 executable file has the sticky bit set, the operating system will not delete the program text from memory when the last user process terminates.  In either case, if the sticky bit is set the text will already be available (either in a swap area or in memory) when the next user of the file executes it, thus making execution faster. 

If the mode bit 02000 (set group ID on execution) is set and the mode bit 00010 (execute or search by group) is not set, mandatory file/record locking will exist on a regular file.  This may effect future calls to open(2), creat(2), read(2), and write(2) on this file.

chmod will fail and the file mode will be unchanged if one or more of the following are true:

­[ENOTDIR] A component of the path prefix is not a directory. 

­[ENOENT] The named file does not exist. 

­[EACCES] Search permission is denied on a component of the path prefix. 

­[EPERM] The effective user ID does not match the owner of the file and the effective user ID is not super-user. 

­[EROFS] The named file resides on a read-only file system. 

­[EFAULT] path points outside the allocated address space of the process. 

­[EINTR] A signal was caught during the chmod system call. 

­[ENOLINK] path points to a remote machine and the link to that machine is no longer active. 

­[EMULTIHOP] Components of path require hopping to multiple remote machines. 

SEE ALSO

chmod(1), chown(2), creat(2), fcntl(2), mknod(2), open(2), read(2), write(2)

DIAGNOSTICS

Upon successful completion, a value of 0 is returned.  Otherwise, a value of −1 is returned and errno is set to indicate the error. 

September 02, 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026