Unix |
Unix v7 |
|
![]() |
chmod(1) |
![]() |
chmod − change mode
chmod mode file ...
The mode of each named file is changed according to mode, which may be absolute or symbolic. An absolute mode is an octal number constructed from the OR of the following modes:
4000 |
set user ID on execution |
|||
2000 |
set group ID on execution |
|||
1000 |
sticky bit, see chmod(2) |
|||
0400 |
read by owner |
|||
0200 |
write by owner |
|||
0100 |
execute (search in directory) by owner |
|||
0070 |
read, write, execute (search) by group |
|||
0007 |
read, write, execute (search) by others |
A symbolic mode has the form:
[who] op permission [op permission] ...
The who part is a combination of the letters u (for user’s permissions), g (group) and o (other). The letter a stands for ugo. If who is omitted, the default is a but the setting of the file creation mask (see umask(2)) is taken into account.
Op can be + to add permission to the file’s mode, − to take away permission and = to assign permission absolutely (all other bits will be reset).
Permission is any combination of the letters r (read), w (write), x (execute), s (set owner or group id) and t (save text − sticky). Letters u, g or o indicate that permission is to be taken from the current mode. Omitting permission is only useful with = to take away all permissions.
The first example denies write permission to others, the second makes a file executable:
chmod o−w
file
chmod +x file
Multiple symbolic modes separated by commas may be given. Operations are performed in the order specified. The letter s is only useful with u or g.
Only the owner of a file (or the super-user) may change its mode.
ls(1), chmod(2), chown (1), stat(2), umask(2)
![]() |
chmod(1) | ![]() |