CHMOD(1) BSD Reference Manual CHMOD(1) NNAAMMEE cchhmmoodd - change file modes SSYYNNOOPPSSIISS cchhmmoodd [--HHRRhh] _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 When encountering a symbolic link on the command line, follow it. All other symbolic links encountered in the traversal are not followed. --RR Traverse a file hierarchy. For each file that is of type direc- tory, cchhmmoodd changes the mode of all files in the file hierarchy below it followed by the mode of the directory itself. --hh When encountering a symbolic link anywhere in the traversal, fol- low it. The mode of a symbolic link is immutable, so unless the --hh or --HH flag is set, cchhmmoodd on a symbolic link is a no-op. 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 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. 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, the mode bits represented by _p_e_r_m are cleared for the owner, group and other permissions. Otherwise, the mode bits represented 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 writeable 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 June 29, 1993 3