|
|
1.1 ! root 1: .\" Copyright (c) 1989, 1990 The Regents of the University of California. ! 2: .\" All rights reserved. ! 3: .\" ! 4: .\" Redistribution and use in source and binary forms are permitted provided ! 5: .\" that: (1) source distributions retain this entire copyright notice and ! 6: .\" comment, and (2) distributions including binaries display the following ! 7: .\" acknowledgement: ``This product includes software developed by the ! 8: .\" University of California, Berkeley and its contributors'' in the ! 9: .\" documentation or other materials provided with the distribution and in ! 10: .\" all advertising materials mentioning features or use of this software. ! 11: .\" Neither the name of the University nor the names of its contributors may ! 12: .\" be used to endorse or promote products derived from this software without ! 13: .\" specific prior written permission. ! 14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 17: .\" ! 18: .\" @(#)chmod.1 6.10 (Berkeley) 7/24/90 ! 19: .\" ! 20: .Dd July 24, 1990 ! 21: .Dt CHMOD 1 ! 22: .Os BSD 4.4 ! 23: .Sh NAME ! 24: .Nm chmod ! 25: change file modes ! 26: .Sh SYNOPSIS ! 27: .Nm chmod ! 28: .Op Fl fR ! 29: .Ar mode ! 30: .Ar file ... ! 31: .Sh DESCRIPTION ! 32: The ! 33: .Nm chmod ! 34: utility modifies the file mode bits of the listed files ! 35: as specified by the ! 36: .Ar mode ! 37: operand. ! 38: .Pp ! 39: The options are as follows: ! 40: .Tw Ds ! 41: .Tp Fl f ! 42: .Nm chmod ! 43: will still exit 0 and not complain if it fails to change the mode ! 44: on a file. ! 45: .Tp Fl R ! 46: Traverse a file hierarchy. ! 47: For each file that is of type directory, ! 48: .Nm chmod ! 49: changes the mode of all files in the file hierarchy below it followed ! 50: by the mode of the directory itself. ! 51: .Tp ! 52: .Pp ! 53: Symbolic links are not indirected through, nor are their modes altered. ! 54: .Pp ! 55: Only the owner of a file or the super-user is permitted to change ! 56: the mode of a file. ! 57: .Pp ! 58: The ! 59: .Nm chmod ! 60: utility exits 0 on success, and >0 if an error occurs. ! 61: .Sh MODES ! 62: Modes may be absolute or symbolic. ! 63: An absolute mode is an octal number constructed by ! 64: .Cx Ar or ! 65: .Cx 'ing ! 66: .Cx ! 67: the following values: ! 68: .Df I ! 69: .Dw Fl ! 70: .Dp Li 4000 ! 71: set-user-ID-on-execution ! 72: .Dp Li 2000 ! 73: set-group-ID-on-execution ! 74: .Dp Li 1000 ! 75: sticky bit, see chmod(2) ! 76: .Dp Li 0400 ! 77: read by owner ! 78: .Dp Li 0200 ! 79: write by owner ! 80: .Dp Li 0100 ! 81: execute (or search for directories) by owner ! 82: .Dp Li 0070 ! 83: read, write, execute/search by group ! 84: .Dp Li 0007 ! 85: read, write, execute/search by others ! 86: .Dp ! 87: .De ! 88: .Pp ! 89: The read, write, and execute/search values for group and others ! 90: are encoded as described for owner. ! 91: .Pp ! 92: The symbolic mode is described by the following grammar: ! 93: .Dp Li mode ! 94: ::= clause ! 95: .Op \&, clause ! 96: ... ! 97: .Dp Li clause ! 98: ::= ! 99: .Op who ... ! 100: .Op action ... ! 101: last_action ! 102: .Dp Li action ! 103: ::= op perm ... ! 104: .Dp Li last_action ! 105: ::= op ! 106: .Op perm ... ! 107: .Dp Li who ! 108: .Li ::= a | u | g | o ! 109: .Dp Li op ! 110: .Li ::= + | - | = ! 111: .Dp Li perm ! 112: .Li ::= r | s | t | w | X | x ! 113: .Dp ! 114: .Pp ! 115: The ! 116: .Ar who ! 117: symbols ``u'', ``g'', and ``o'' specify the user, group, and other parts ! 118: of the mode bits, respectively. ! 119: The ! 120: .Ar who ! 121: symbol ``a'' is equivalent to ``ugo''. ! 122: .Pp ! 123: The ! 124: .Ar perm ! 125: symbols represent the portions of the mode bits as follows: ! 126: .Dw Ds ! 127: .Dp r ! 128: The read bits. ! 129: .Dp s ! 130: The set-user-ID-on-execution and set-group-ID-on-execution bits. ! 131: .Dp t ! 132: The sticky bit. ! 133: .Dp w ! 134: The write bits. ! 135: .Dp x ! 136: The execute/search bits. ! 137: .Dp X ! 138: The execute/search bits if the file is a directory or any of the ! 139: execute/search bits are set in the original (unmodified) mode. ! 140: Operations with the ! 141: .Ar perm ! 142: symbol ``X'' are only meaningful in conjunction with the ! 143: .Ar op ! 144: symbol ``+'', and it is ignored in all other cases. ! 145: .Dp ! 146: .Pp ! 147: The ! 148: .Ar op ! 149: symbols represent the operation performed, as follows: ! 150: .Tw Ds ! 151: .Tp \&+ ! 152: If no value is supplied for ! 153: .Ar perm , ! 154: the ``+'' operation has no effect. ! 155: If no value is supplied for ! 156: .Ar who , ! 157: each permission bit specified in ! 158: .Ar perm , ! 159: for which the corresponding bit in the file mode creation mask ! 160: is clear, is set. ! 161: Otherwise, the mode bits represented by the specified ! 162: .Ar who ! 163: and ! 164: .Ar perm ! 165: values are set. ! 166: .Tp \&- ! 167: If no value is supplied for ! 168: .Ar perm , ! 169: the ``-'' operation has no effect. ! 170: If no value is supplied for ! 171: .Ar who , ! 172: the mode bits represented by ! 173: .Ar perm ! 174: are cleared for the owner, group and other permissions. ! 175: Otherwise, the mode bits represented by the specified ! 176: .Ar who ! 177: and ! 178: .Ar perm ! 179: values are cleared. ! 180: .Tp \&= ! 181: The mode bits specified by the ! 182: .Ar who ! 183: value are cleared, or, if no who value is specified, the owner, group ! 184: and other mode bits are cleared. ! 185: Then, if no value is supplied for ! 186: .Ar who , ! 187: each permission bit specified in ! 188: .Ar perm , ! 189: for which the corresponding bit in the file mode creation mask ! 190: is clear, is set. ! 191: Otherwise, the mode bits represented by the specified ! 192: .Ar who ! 193: and ! 194: .Ar perm ! 195: values are set. ! 196: .Tp ! 197: .Pp ! 198: Each ! 199: .Ar clause ! 200: specifies one or more operations to be performed on the mode ! 201: bits, and each operation is applied to the mode bits in the ! 202: order specified. ! 203: .Pp ! 204: Operations upon the other permissions only (specified by the symbol ! 205: ``o'' by itself), in combination with the ! 206: .Ar perm ! 207: symbols ``s'' or ``t'', are ignored. ! 208: .Sh EXAMPLES ! 209: .Tw Ar ! 210: .Tp ``644'' ! 211: make a file readable by anyone and writable by the owner only. ! 212: .Tp ``go-w'' ! 213: deny write permission to group and others. ! 214: .Tp ``=rw,+X'' ! 215: set the read and write permissions to the usual defaults, but ! 216: retain any execute permissions that are currently set. ! 217: .Tp ``+X'' ! 218: make a directory or file searchable/executable by everyone if it is ! 219: already searchable/executable by anyone. ! 220: .Tp ``755'' or ``u=rwx,go=rx'' ! 221: make a file readable/executable by everyone and writeable by the owner only. ! 222: .Tp ``go='' ! 223: clear all mode bits for group and others. ! 224: .Tp ! 225: .Sh BUGS ! 226: There's no ! 227: .Ar perm ! 228: option for the naughty bits. ! 229: .Sh SEE ALSO ! 230: .Xr install 1 , ! 231: .Xr chmod 2 , ! 232: .Xr fts 2 , ! 233: .Xr stat 2 , ! 234: .Xr umask 2 , ! 235: .Xr setmode 3 , ! 236: .Xr chown 8 ! 237: .Sh STANDARDS ! 238: The ! 239: .Nm chmod ! 240: utility is expected to be POSIX 1003.2 compatible with the exception ! 241: of the ! 242: .Ar perm ! 243: symbols ``t'' and ``X'' which are not included in that standard.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.