14b88c807SRodney W. Grimes.\" Copyright (c) 1989, 1990, 1993, 1994 24b88c807SRodney W. Grimes.\" The Regents of the University of California. All rights reserved. 34b88c807SRodney W. Grimes.\" 44b88c807SRodney W. Grimes.\" This code is derived from software contributed to Berkeley by 54b88c807SRodney W. Grimes.\" the Institute of Electrical and Electronics Engineers, Inc. 64b88c807SRodney W. Grimes.\" 74b88c807SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without 84b88c807SRodney W. Grimes.\" modification, are permitted provided that the following conditions 94b88c807SRodney W. Grimes.\" are met: 104b88c807SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright 114b88c807SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer. 124b88c807SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright 134b88c807SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer in the 144b88c807SRodney W. Grimes.\" documentation and/or other materials provided with the distribution. 154b88c807SRodney W. Grimes.\" 3. All advertising materials mentioning features or use of this software 164b88c807SRodney W. Grimes.\" must display the following acknowledgement: 174b88c807SRodney W. Grimes.\" This product includes software developed by the University of 184b88c807SRodney W. Grimes.\" California, Berkeley and its contributors. 194b88c807SRodney W. Grimes.\" 4. Neither the name of the University nor the names of its contributors 204b88c807SRodney W. Grimes.\" may be used to endorse or promote products derived from this software 214b88c807SRodney W. Grimes.\" without specific prior written permission. 224b88c807SRodney W. Grimes.\" 234b88c807SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 244b88c807SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 254b88c807SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 264b88c807SRodney W. Grimes.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 274b88c807SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 284b88c807SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 294b88c807SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 304b88c807SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 314b88c807SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 324b88c807SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 334b88c807SRodney W. Grimes.\" SUCH DAMAGE. 344b88c807SRodney W. Grimes.\" 354b88c807SRodney W. Grimes.\" @(#)chmod.1 8.4 (Berkeley) 3/31/94 362a456239SPeter Wemm.\" $FreeBSD$ 374b88c807SRodney W. Grimes.\" 384b88c807SRodney W. Grimes.Dd March 31, 1994 394b88c807SRodney W. Grimes.Dt CHMOD 1 404b88c807SRodney W. Grimes.Os 414b88c807SRodney W. Grimes.Sh NAME 424b88c807SRodney W. Grimes.Nm chmod 434b88c807SRodney W. Grimes.Nd change file modes 444b88c807SRodney W. Grimes.Sh SYNOPSIS 45be8b1497SRuslan Ermilov.Nm 464b88c807SRodney W. Grimes.Oo 477007d55cSChris Costello.Fl f 484b88c807SRodney W. Grimes.Fl R 494b88c807SRodney W. Grimes.Op Fl H | Fl L | Fl P 505bb83b98SDavid E. O'Brien.Fl v 514b88c807SRodney W. Grimes.Oc 524b88c807SRodney W. Grimes.Ar mode 5347dec781SRuslan Ermilov.Ar 544b88c807SRodney W. Grimes.Sh DESCRIPTION 554b88c807SRodney W. GrimesThe 56cbf6f7d3SPhilippe Charnier.Nm 574b88c807SRodney W. Grimesutility modifies the file mode bits of the listed files 584b88c807SRodney W. Grimesas specified by the 594b88c807SRodney W. Grimes.Ar mode 604b88c807SRodney W. Grimesoperand. 614b88c807SRodney W. Grimes.Pp 624b88c807SRodney W. GrimesThe options are as follows: 634b88c807SRodney W. Grimes.Bl -tag -width Ds 644b88c807SRodney W. Grimes.It Fl H 654b88c807SRodney W. GrimesIf the 664b88c807SRodney W. Grimes.Fl R 674b88c807SRodney W. Grimesoption is specified, symbolic links on the command line are followed. 68aa387b2dSBill Swingle(Symbolic links encountered in the tree traversal are not followed by 69aa387b2dSBill Swingledefault.) 704b88c807SRodney W. Grimes.It Fl L 714b88c807SRodney W. GrimesIf the 724b88c807SRodney W. Grimes.Fl R 734b88c807SRodney W. Grimesoption is specified, all symbolic links are followed. 744b88c807SRodney W. Grimes.It Fl P 754b88c807SRodney W. GrimesIf the 764b88c807SRodney W. Grimes.Fl R 774b88c807SRodney W. Grimesoption is specified, no symbolic links are followed. 784b88c807SRodney W. Grimes.It Fl R 794b88c807SRodney W. GrimesChange the modes of the file hierarchies rooted in the files 804b88c807SRodney W. Grimesinstead of just the files themselves. 817007d55cSChris Costello.It Fl f 827007d55cSChris CostelloDo not display a diagnostic message if 837007d55cSChris Costello.Nm 847007d55cSChris Costellocould not modify the mode for 85aa387b2dSBill Swingle.Va file . 865bb83b98SDavid E. O'Brien.It Fl v 875bb83b98SDavid E. O'BrienCause 885bb83b98SDavid E. O'Brien.Nm 895bb83b98SDavid E. O'Briento be verbose, showing files as the mode is modified. 904b88c807SRodney W. Grimes.El 914b88c807SRodney W. Grimes.Pp 924b88c807SRodney W. GrimesSymbolic links do not have modes, so unless the 934b88c807SRodney W. Grimes.Fl H 944b88c807SRodney W. Grimesor 954b88c807SRodney W. Grimes.Fl L 964b88c807SRodney W. Grimesoption is set, 97cbf6f7d3SPhilippe Charnier.Nm 984b88c807SRodney W. Grimeson a symbolic link always succeeds and has no effect. 994b88c807SRodney W. GrimesThe 1004b88c807SRodney W. Grimes.Fl H , 1014b88c807SRodney W. Grimes.Fl L 1024b88c807SRodney W. Grimesand 1034b88c807SRodney W. Grimes.Fl P 1044b88c807SRodney W. Grimesoptions are ignored unless the 1054b88c807SRodney W. Grimes.Fl R 1064b88c807SRodney W. Grimesoption is specified. 1074b88c807SRodney W. GrimesIn addition, these options override each other and the 1084b88c807SRodney W. Grimescommand's actions are determined by the last one specified. 1094b88c807SRodney W. Grimes.Pp 1104b88c807SRodney W. GrimesOnly the owner of a file or the super-user is permitted to change 1114b88c807SRodney W. Grimesthe mode of a file. 11246be34b9SKris Kennaway.Sh DIAGNOSTICS 1134b88c807SRodney W. GrimesThe 114cbf6f7d3SPhilippe Charnier.Nm 1154b88c807SRodney W. Grimesutility exits 0 on success, and >0 if an error occurs. 1164b88c807SRodney W. Grimes.Sh MODES 1174b88c807SRodney W. GrimesModes may be absolute or symbolic. 118d5440753SJoseph KoshyAn absolute mode is an octal number constructed from the sum of 119d5440753SJoseph Koshyone or more of the following values: 1204b88c807SRodney W. Grimes.Pp 1214b88c807SRodney W. Grimes.Bl -tag -width 6n -compact -offset indent 1224b88c807SRodney W. Grimes.It Li 4000 123d5440753SJoseph Koshy(the set-user-ID-on-execution bit) Executable files with this bit set 124d5440753SJoseph Koshywill run with effective uid set to the uid of the file owner. 125d5440753SJoseph KoshyDirectories with the set-user-id bit set will force all files and 126d5440753SJoseph Koshysub-directories created in them to be owned by the directory owner 127d5440753SJoseph Koshyand not by the uid of the creating process, if the underlying file 128d5440753SJoseph Koshysystem supports this feature: see 12952bf64c7SJulian Elischer.Xr chmod 2 130d5440753SJoseph Koshyand the 131d5440753SJoseph Koshy.Ar suiddir 132d5440753SJoseph Koshyoption to 133cc056fafSChris Costello.Xr mount 8 . 1344b88c807SRodney W. Grimes.It Li 2000 135d5440753SJoseph Koshy(the set-group-ID-on-execution bit) Executable files with this bit set 136d5440753SJoseph Koshywill run with effective gid set to the gid of the file owner. 1374b88c807SRodney W. Grimes.It Li 1000 138d5440753SJoseph Koshy(the sticky bit) 139d5440753SJoseph KoshyWhen set on a directory, unprivileged users can delete and rename 140d5440753SJoseph Koshyonly those files in the directory that are owned by them, regardless of 141b5c508fbSRuslan Ermilovthe permissions on the directory. Under 142b5c508fbSRuslan Ermilov.Fx , 143b5c508fbSRuslan Ermilovthe sticky bit is 144d5440753SJoseph Koshyignored for executable files and may only be set for directories (see 145d5440753SJoseph Koshy.Xr sticky 8 ) . 1464b88c807SRodney W. Grimes.It Li 0400 147d5440753SJoseph KoshyAllow read by owner. 1484b88c807SRodney W. Grimes.It Li 0200 149d5440753SJoseph KoshyAllow write by owner. 1504b88c807SRodney W. Grimes.It Li 0100 151d5440753SJoseph KoshyFor files, allow execution by owner. For directories, allow the owner to 152d5440753SJoseph Koshysearch in the directory. 153d5440753SJoseph Koshy.It Li 0040 154d5440753SJoseph KoshyAllow read by group members. 155d5440753SJoseph Koshy.It Li 0020 156d5440753SJoseph KoshyAllow write by group members. 157d5440753SJoseph Koshy.It Li 0010 158d5440753SJoseph KoshyFor files, allow execution by group members. For directories, allow 159d5440753SJoseph Koshygroup members to search in the directory. 160d5440753SJoseph Koshy.It Li 0004 161d5440753SJoseph KoshyAllow read by others. 162d5440753SJoseph Koshy.It Li 0002 163d5440753SJoseph KoshyAllow write by others. 164d5440753SJoseph Koshy.It Li 0001 165d5440753SJoseph KoshyFor files, allow execution by others. For directories allow others to 166d5440753SJoseph Koshysearch in the directory. 1674b88c807SRodney W. Grimes.El 1684b88c807SRodney W. Grimes.Pp 169d5440753SJoseph KoshyFor example, the absolute mode that permits read, write and execute by 170d5440753SJoseph Koshythe owner, read and execute by group members, read and execute by 171d5440753SJoseph Koshyothers, and no set-uid or set-gid behaviour is 755 172d5440753SJoseph Koshy(400+200+100+040+010+004+001). 1734b88c807SRodney W. Grimes.Pp 1744b88c807SRodney W. GrimesThe symbolic mode is described by the following grammar: 1754b88c807SRodney W. Grimes.Bd -literal -offset indent 1764b88c807SRodney W. Grimesmode ::= clause [, clause ...] 177aa387b2dSBill Swingleclause ::= [who ...] [action ...] action 1784b88c807SRodney W. Grimesaction ::= op [perm ...] 1794b88c807SRodney W. Grimeswho ::= a | u | g | o 1804b88c807SRodney W. Grimesop ::= + | \- | = 1814b88c807SRodney W. Grimesperm ::= r | s | t | w | x | X | u | g | o 1824b88c807SRodney W. Grimes.Ed 1834b88c807SRodney W. Grimes.Pp 1844b88c807SRodney W. GrimesThe 1854b88c807SRodney W. Grimes.Ar who 1864b88c807SRodney W. Grimessymbols ``u'', ``g'', and ``o'' specify the user, group, and other parts 1874b88c807SRodney W. Grimesof the mode bits, respectively. 1884b88c807SRodney W. GrimesThe 1894b88c807SRodney W. Grimes.Ar who 1904b88c807SRodney W. Grimessymbol ``a'' is equivalent to ``ugo''. 1914b88c807SRodney W. Grimes.Pp 1924b88c807SRodney W. GrimesThe 1934b88c807SRodney W. Grimes.Ar perm 1944b88c807SRodney W. Grimessymbols represent the portions of the mode bits as follows: 1954b88c807SRodney W. Grimes.Pp 1964b88c807SRodney W. Grimes.Bl -tag -width Ds -compact -offset indent 1974b88c807SRodney W. Grimes.It r 1984b88c807SRodney W. GrimesThe read bits. 1994b88c807SRodney W. Grimes.It s 2004b88c807SRodney W. GrimesThe set-user-ID-on-execution and set-group-ID-on-execution bits. 2014b88c807SRodney W. Grimes.It t 2024b88c807SRodney W. GrimesThe sticky bit. 2034b88c807SRodney W. Grimes.It w 2044b88c807SRodney W. GrimesThe write bits. 2054b88c807SRodney W. Grimes.It x 2064b88c807SRodney W. GrimesThe execute/search bits. 2074b88c807SRodney W. Grimes.It X 2084b88c807SRodney W. GrimesThe execute/search bits if the file is a directory or any of the 2094b88c807SRodney W. Grimesexecute/search bits are set in the original (unmodified) mode. 2104b88c807SRodney W. GrimesOperations with the 2114b88c807SRodney W. Grimes.Ar perm 2124b88c807SRodney W. Grimessymbol ``X'' are only meaningful in conjunction with the 2134b88c807SRodney W. Grimes.Ar op 2144b88c807SRodney W. Grimessymbol ``+'', and are ignored in all other cases. 2154b88c807SRodney W. Grimes.It u 2164b88c807SRodney W. GrimesThe user permission bits in the mode of the original file. 2174b88c807SRodney W. Grimes.It g 2184b88c807SRodney W. GrimesThe group permission bits in the mode of the original file. 2194b88c807SRodney W. Grimes.It o 2204b88c807SRodney W. GrimesThe other permission bits in the mode of the original file. 2214b88c807SRodney W. Grimes.El 2224b88c807SRodney W. Grimes.Pp 2234b88c807SRodney W. GrimesThe 2244b88c807SRodney W. Grimes.Ar op 2254b88c807SRodney W. Grimessymbols represent the operation performed, as follows: 2264b88c807SRodney W. Grimes.Bl -tag -width 4n 2274b88c807SRodney W. Grimes.It + 2284b88c807SRodney W. GrimesIf no value is supplied for 2294b88c807SRodney W. Grimes.Ar perm , 2304b88c807SRodney W. Grimesthe ``+'' operation has no effect. 2314b88c807SRodney W. GrimesIf no value is supplied for 2324b88c807SRodney W. Grimes.Ar who , 2334b88c807SRodney W. Grimeseach permission bit specified in 2344b88c807SRodney W. Grimes.Ar perm , 2354b88c807SRodney W. Grimesfor which the corresponding bit in the file mode creation mask 2364b88c807SRodney W. Grimesis clear, is set. 2374b88c807SRodney W. GrimesOtherwise, the mode bits represented by the specified 2384b88c807SRodney W. Grimes.Ar who 2394b88c807SRodney W. Grimesand 2404b88c807SRodney W. Grimes.Ar perm 2414b88c807SRodney W. Grimesvalues are set. 2424b88c807SRodney W. Grimes.It \&\- 2434b88c807SRodney W. GrimesIf no value is supplied for 2444b88c807SRodney W. Grimes.Ar perm , 2454b88c807SRodney W. Grimesthe ``\-'' operation has no effect. 2464b88c807SRodney W. GrimesIf no value is supplied for 2474b88c807SRodney W. Grimes.Ar who , 2484b88c807SRodney W. Grimeseach permission bit specified in 2494b88c807SRodney W. Grimes.Ar perm , 2504b88c807SRodney W. Grimesfor which the corresponding bit in the file mode creation mask 2514b88c807SRodney W. Grimesis clear, is cleared. 2524b88c807SRodney W. GrimesOtherwise, the mode bits represented by the specified 2534b88c807SRodney W. Grimes.Ar who 2544b88c807SRodney W. Grimesand 2554b88c807SRodney W. Grimes.Ar perm 2564b88c807SRodney W. Grimesvalues are cleared. 2574b88c807SRodney W. Grimes.It = 2584b88c807SRodney W. GrimesThe mode bits specified by the 2594b88c807SRodney W. Grimes.Ar who 2604b88c807SRodney W. Grimesvalue are cleared, or, if no who value is specified, the owner, group 2614b88c807SRodney W. Grimesand other mode bits are cleared. 2624b88c807SRodney W. GrimesThen, if no value is supplied for 2634b88c807SRodney W. Grimes.Ar who , 2644b88c807SRodney W. Grimeseach permission bit specified in 2654b88c807SRodney W. Grimes.Ar perm , 2664b88c807SRodney W. Grimesfor which the corresponding bit in the file mode creation mask 2674b88c807SRodney W. Grimesis clear, is set. 2684b88c807SRodney W. GrimesOtherwise, the mode bits represented by the specified 2694b88c807SRodney W. Grimes.Ar who 2704b88c807SRodney W. Grimesand 2714b88c807SRodney W. Grimes.Ar perm 2724b88c807SRodney W. Grimesvalues are set. 2734b88c807SRodney W. Grimes.El 2744b88c807SRodney W. Grimes.Pp 2754b88c807SRodney W. GrimesEach 2764b88c807SRodney W. Grimes.Ar clause 2774b88c807SRodney W. Grimesspecifies one or more operations to be performed on the mode 2784b88c807SRodney W. Grimesbits, and each operation is applied to the mode bits in the 2794b88c807SRodney W. Grimesorder specified. 2804b88c807SRodney W. Grimes.Pp 2814b88c807SRodney W. GrimesOperations upon the other permissions only (specified by the symbol 2824b88c807SRodney W. Grimes``o'' by itself), in combination with the 2834b88c807SRodney W. Grimes.Ar perm 2844b88c807SRodney W. Grimessymbols ``s'' or ``t'', are ignored. 2854b88c807SRodney W. Grimes.Sh EXAMPLES 2864b88c807SRodney W. Grimes.Bl -tag -width "u=rwx,go=u-w" -compact 2874b88c807SRodney W. Grimes.It Li 644 2884b88c807SRodney W. Grimesmake a file readable by anyone and writable by the owner only. 2894b88c807SRodney W. Grimes.Pp 2904b88c807SRodney W. Grimes.It Li go-w 2914b88c807SRodney W. Grimesdeny write permission to group and others. 2924b88c807SRodney W. Grimes.Pp 2934b88c807SRodney W. Grimes.It Li =rw,+X 2944b88c807SRodney W. Grimesset the read and write permissions to the usual defaults, but 2954b88c807SRodney W. Grimesretain any execute permissions that are currently set. 2964b88c807SRodney W. Grimes.Pp 2974b88c807SRodney W. Grimes.It Li +X 2984b88c807SRodney W. Grimesmake a directory or file searchable/executable by everyone if it is 2994b88c807SRodney W. Grimesalready searchable/executable by anyone. 3004b88c807SRodney W. Grimes.Pp 3014b88c807SRodney W. Grimes.It Li 755 3024b88c807SRodney W. Grimes.It Li u=rwx,go=rx 3034b88c807SRodney W. Grimes.It Li u=rwx,go=u-w 3044b88c807SRodney W. Grimesmake a file readable/executable by everyone and writable by the owner only. 3054b88c807SRodney W. Grimes.Pp 3064b88c807SRodney W. Grimes.It Li go= 3074b88c807SRodney W. Grimesclear all mode bits for group and others. 3084b88c807SRodney W. Grimes.Pp 3094b88c807SRodney W. Grimes.It Li g=u-w 3104b88c807SRodney W. Grimesset the group bits equal to the user bits, but clear the group write bit. 3114b88c807SRodney W. Grimes.El 3124b88c807SRodney W. Grimes.Sh BUGS 3134b88c807SRodney W. GrimesThere's no 3144b88c807SRodney W. Grimes.Ar perm 3154b88c807SRodney W. Grimesoption for the naughty bits. 3165bb83b98SDavid E. O'Brien.Sh COMPATIBILITY 3175bb83b98SDavid E. O'BrienThe 3185bb83b98SDavid E. O'Brien.Fl v 3195bb83b98SDavid E. O'Brienoption is non-standard and its use in scripts is not recommended. 3204b88c807SRodney W. Grimes.Sh SEE ALSO 321825e82efSJoerg Wunsch.Xr chflags 1 , 3224b88c807SRodney W. Grimes.Xr install 1 , 3234b88c807SRodney W. Grimes.Xr chmod 2 , 3244b88c807SRodney W. Grimes.Xr stat 2 , 3254b88c807SRodney W. Grimes.Xr umask 2 , 3264b88c807SRodney W. Grimes.Xr fts 3 , 3274b88c807SRodney W. Grimes.Xr setmode 3 , 3284b88c807SRodney W. Grimes.Xr symlink 7 , 329d5440753SJoseph Koshy.Xr chown 8 , 330a84e119fSChris Costello.Xr mount 8 , 331d5440753SJoseph Koshy.Xr sticky 8 3324b88c807SRodney W. Grimes.Sh STANDARDS 3334b88c807SRodney W. GrimesThe 334cbf6f7d3SPhilippe Charnier.Nm 3351686b602SSteve Priceutility is expected to be 3361686b602SSteve Price.St -p1003.2 3374b88c807SRodney W. Grimescompatible with the exception of the 3384b88c807SRodney W. Grimes.Ar perm 3394b88c807SRodney W. Grimessymbols 3404b88c807SRodney W. Grimes.Dq t 3414b88c807SRodney W. Grimesand 3424b88c807SRodney W. Grimes.Dq X 3434b88c807SRodney W. Grimeswhich are not included in that standard. 344b8923d4cSWolfram Schneider.Sh HISTORY 345b8923d4cSWolfram SchneiderA 346b8923d4cSWolfram Schneider.Nm 347b8923d4cSWolfram Schneidercommand appeared in 348b8923d4cSWolfram Schneider.At v1 . 349