CHMOD(1) BSD Reference Manual CHMOD(1) NNAAMMEE cchhmmoodd - change file modes SSYYNNOOPPSSIISS cchhmmoodd [--RR [--HH | --LL | --PP]] _m_o_d_e _f_i_l_e _._._. DDEESSCCRRIIPPTTIIOONN The cchhmmoodd utility modifies the file mode bits of the listed files as specified by the _m_o_d_e operand. The options are as follows: --HH If the --RR option is specified, symbolic links on the command line are followed. (Symbolic links encountered in the tree traversal are not followed.) --LL If the --RR option is specified, all symbolic links are followed. --PP If the --RR option is specified, no symbolic links are followed. --RR Change the modes of the file hierarchies rooted in the files in- stead of just the files themselves. Symbolic links do not have modes, so unless the --HH or --LL option is set, cchhmmoodd on a symbolic link always succeeds and has no effect. The --HH, --LL and --PP options are ignored unless the --RR option is specified. In addi- tion, these options override each other and the command's actions are de- termined by the last one specified. Only the owner of a file or the super-user is permitted to change the mode of a file. The cchhmmoodd utility exits 0 on success, and >0 if an error occurs. MMOODDEESS Modes may be absolute or symbolic. An absolute mode is an octal number constructed by _o_r_-_i_n_g the following values: 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 (or search for directories) by owner 0070 read, write, execute/search by group 0007 read, write, execute/search by others The read, write, and execute/search values for group and others are en- coded as described for owner. The symbolic mode is described by the following grammar: mode ::= clause [, clause ...] clause ::= [who ...] [action ...] last_action action ::= op [perm ...] last_action ::= op [perm ...] who ::= a | u | g | o op ::= + | - | = perm ::= r | s | t | w | x | X | u | g | o The _w_h_o symbols ``u'', ``g'', and ``o'' specify the user, group, and oth- er parts of the mode bits, respectively. The _w_h_o symbol ``a'' is equiva- lent to ``ugo''. The _p_e_r_m symbols represent the portions of the mode bits as follows: r The read bits. s The set-user-ID-on-execution and set-group-ID-on-execution bits. t The sticky bit. w The write bits. x The execute/search bits. X The execute/search bits if the file is a directory or any of the execute/search bits are set in the original (unmodi- fied) mode. Operations with the _p_e_r_m symbol ``X'' are only meaningful in conjunction with the _o_p symbol ``+'', and are ignored in all other cases. u The user permission bits in the mode of the original file. g The group permission bits in the mode of the original file. o The other permission bits in the mode of the original file. The _o_p symbols represent the operation performed, as follows: + If no value is supplied for _p_e_r_m, the ``+'' operation has no ef- fect. If no value is supplied for _w_h_o, each permission bit speci- fied in _p_e_r_m, for which the corresponding bit in the file mode cre- ation mask is clear, is set. Otherwise, the mode bits represented by the specified _w_h_o and _p_e_r_m values are set. - If no value is supplied for _p_e_r_m, the ``-'' operation has no ef- fect. If no value is supplied for _w_h_o, each permission bit speci- fied in _p_e_r_m, for which the corresponding bit in the file mode cre- ation mask is clear, is cleared. Otherwise, the mode bits repre- sented by the specified _w_h_o and _p_e_r_m values are cleared. = The mode bits specified by the _w_h_o value are cleared, or, if no who value is specified, the owner, group and other mode bits are cleared. Then, if no value is supplied for _w_h_o, each permission bit specified in _p_e_r_m, for which the corresponding bit in the file mode creation mask is clear, is set. Otherwise, the mode bits rep- resented by the specified _w_h_o and _p_e_r_m values are set. Each _c_l_a_u_s_e specifies one or more operations to be performed on the mode bits, and each operation is applied to the mode bits in the order speci- fied. Operations upon the other permissions only (specified by the symbol ``o'' by itself), in combination with the _p_e_r_m symbols ``s'' or ``t'', are ig- nored. EEXXAAMMPPLLEESS 644 make a file readable by anyone and writable by the owner only. go-w deny write permission to group and others. =rw,+X set the read and write permissions to the usual defaults, but retain any execute permissions that are currently set. +X make a directory or file searchable/executable by everyone if it is already searchable/executable by anyone. 755 u=rwx,go=rx u=rwx,go=u-w make a file readable/executable by everyone and writable by the owner only. go= clear all mode bits for group and others. g=u-w set the group bits equal to the user bits, but clear the group write bit. BBUUGGSS There's no _p_e_r_m option for the naughty bits. SSEEEE AALLSSOO install(1), chmod(2), stat(2), umask(2), fts(3), setmode(3), symlink(7), chown(8) SSTTAANNDDAARRDDSS The cchhmmoodd utility is expected to be POSIX 1003.2 compatible with the ex- ception of the _p_e_r_m symbols ``t'' and ``X'' which are not included in that standard. 4.4BSD March 31, 1994 3