aboutsummaryrefslogtreecommitdiff
path: root/coreutils-5.3.0-bin/man/cat1p/chmod.1p.txt
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils-5.3.0-bin/man/cat1p/chmod.1p.txt')
-rw-r--r--coreutils-5.3.0-bin/man/cat1p/chmod.1p.txt462
1 files changed, 462 insertions, 0 deletions
diff --git a/coreutils-5.3.0-bin/man/cat1p/chmod.1p.txt b/coreutils-5.3.0-bin/man/cat1p/chmod.1p.txt
new file mode 100644
index 0000000..fcc36ee
--- /dev/null
+++ b/coreutils-5.3.0-bin/man/cat1p/chmod.1p.txt
@@ -0,0 +1,462 @@
+chmod(P) chmod(P)
+
+
+
+
+
+NAME
+ chmod - change the file modes
+
+SYNOPSIS
+ chmod [-R] mode file ...
+
+DESCRIPTION
+ The chmod utility shall change any or all of the file
+ mode bits of the file named by each file operand in the
+ way specified by the mode operand.
+
+ It is implementation-defined whether and how the chmod
+ utility affects any alternate or additional file access
+ control mechanism (see the Base Definitions volume of
+ IEEE Std 1003.1-2001, Section 4.4, File Access Permis-
+ sions) being used for the specified file.
+
+ Only a process whose effective user ID matches the user
+ ID of the file, or a process with the appropriate privi-
+ leges, shall be permitted to change the file mode bits
+ of a file.
+
+OPTIONS
+ The chmod utility shall conform to the Base Definitions
+ volume of IEEE Std 1003.1-2001, Section 12.2, Utility
+ Syntax Guidelines.
+
+ The following option shall be supported:
+
+ -R Recursively change file mode bits. For each file
+ operand that names a directory, chmod shall
+ change the file mode bits of the directory and
+ all files in the file hierarchy below it.
+
+
+OPERANDS
+ The following operands shall be supported:
+
+ mode Represents the change to be made to the file mode
+ bits of each file named by one of the file oper-
+ ands; see the EXTENDED DESCRIPTION section.
+
+ file A pathname of a file whose file mode bits shall
+ be modified.
+
+
+STDIN
+ Not used.
+
+INPUT FILES
+ None.
+
+ENVIRONMENT VARIABLES
+ The following environment variables shall affect the
+ execution of chmod:
+
+ LANG Provide a default value for the internationaliza-
+ tion variables that are unset or null. (See the
+ Base Definitions volume of IEEE Std 1003.1-2001,
+ Section 8.2, Internationalization Variables for
+ the precedence of internationalization variables
+ used to determine the values of locale cate-
+ gories.)
+
+ LC_ALL If set to a non-empty string value, override the
+ values of all the other internationalization
+ variables.
+
+ LC_CTYPE
+ Determine the locale for the interpretation of
+ sequences of bytes of text data as characters
+ (for example, single-byte as opposed to multi-
+ byte characters in arguments).
+
+ LC_MESSAGES
+ Determine the locale that should be used to
+ affect the format and contents of diagnostic mes-
+ sages written to standard error.
+
+ NLSPATH
+ Determine the location of message catalogs for
+ the processing of LC_MESSAGES .
+
+
+ASYNCHRONOUS EVENTS
+ Default.
+
+STDOUT
+ Not used.
+
+STDERR
+ The standard error shall be used only for diagnostic
+ messages.
+
+OUTPUT FILES
+ None.
+
+EXTENDED DESCRIPTION
+ The mode operand shall be either a symbolic_mode expres-
+ sion or a non-negative octal integer. The symbolic_mode
+ form is described by the grammar later in this section.
+
+ Each clause shall specify an operation to be performed
+ on the current file mode bits of each file. The opera-
+ tions shall be performed on each file in the order in
+ which the clauses are specified.
+
+ The who symbols u, g, and o shall specify the user,
+ group, and other parts of the file mode bits, respec-
+ tively. A who consisting of the symbol a shall be equiv-
+ alent to ugo.
+
+ The perm symbols r, w, and x represent the read, write,
+ and execute/ search portions of file mode bits, respec-
+ tively. The perm symbol s shall represent the set-user-
+ ID-on-execution (when who contains or implies u) and
+ set-group-ID-on-execution (when who contains or implies
+ g) bits.
+
+ The perm symbol X shall represent the execute/search
+ portion of the file mode bits if the file is a directory
+ or if the current (unmodified) file mode bits have at
+ least one of the execute bits (S_IXUSR, S_IXGRP, or
+ S_IXOTH) set. It shall be ignored if the file is not a
+ directory and none of the execute bits are set in the
+ current file mode bits.
+
+ The permcopy symbols u, g, and o shall represent the
+ current permissions associated with the user, group, and
+ other parts of the file mode bits, respectively. For the
+ remainder of this section, perm refers to the non-termi-
+ nals perm and permcopy in the grammar.
+
+ If multiple actionlists are grouped with a single
+ wholist in the grammar, each actionlist shall be applied
+ in the order specified with that wholist. The op symbols
+ shall represent the operation performed, as follows:
+
+ + If perm is not specified, the '+' operation shall
+ not change the file mode bits.
+
+ If who is not specified, the file mode bits represented
+ by perm for the owner, group, and other permissions,
+ except for those with corresponding bits in the file
+ mode creation mask of the invoking process, shall be
+ set.
+
+ Otherwise, the file mode bits represented by the speci-
+ fied who and perm values shall be set.
+
+ - If perm is not specified, the '-' operation shall
+ not change the file mode bits.
+
+ If who is not specified, the file mode bits represented
+ by perm for the owner, group, and other permissions,
+ except for those with corresponding bits in the file
+ mode creation mask of the invoking process, shall be
+ cleared.
+
+ Otherwise, the file mode bits represented by the speci-
+ fied who and perm values shall be cleared.
+
+ = Clear the file mode bits specified by the who
+ value, or, if no who value is specified, all of
+ the file mode bits specified in this volume of
+ IEEE Std 1003.1-2001.
+
+ If perm is not specified, the '=' operation shall make
+ no further modifications to the file mode bits.
+
+ If who is not specified, the file mode bits represented
+ by perm for the owner, group, and other permissions,
+ except for those with corresponding bits in the file
+ mode creation mask of the invoking process, shall be
+ set.
+
+ Otherwise, the file mode bits represented by the speci-
+ fied who and perm values shall be set.
+
+
+ When using the symbolic mode form on a regular file, it
+ is implementation-defined whether or not:
+
+ Requests to set the set-user-ID-on-execution or
+ set-group-ID-on-execution bit when all execute
+ bits are currently clear and none are being set
+ are ignored.
+
+ Requests to clear all execute bits also clear the
+ set-user-ID-on-execution and set-group-ID-on-exe-
+ cution bits.
+
+ Requests to clear the set-user-ID-on-execution or
+ set-group-ID-on-execution bits when all execute
+ bits are currently clear are ignored. However, if
+ the command ls -l file writes an s in the posi-
+ tion indicating that the set-user-ID-on-execution
+ or set-group-ID-on-execution is set, the commands
+ chmod u-s file or chmod g-s file, respectively,
+ shall not be ignored.
+
+ When using the symbolic mode form on other file types,
+ it is implementation-defined whether or not requests to
+ set or clear the set-user-ID-on-execution or set-group-
+ ID-on-execution bits are honored.
+
+ If the who symbol o is used in conjunction with the perm
+ symbol s with no other who symbols being specified, the
+ set-user-ID-on-execution and set-group-ID-on-execution
+ bits shall not be modified. It shall not be an error to
+ specify the who symbol o in conjunction with the perm
+ symbol s.
+
+ The perm symbol t shall specify the S_ISVTX bit. When
+ used with a file of type directory, it can be used with
+ the who symbol a, or with no who symbol. It shall not be
+ an error to specify a who symbol of u, g, or o in con-
+ junction with the perm symbol t, but the meaning of
+ these combinations is unspecified. The effect when
+ using the perm symbol t with any file type other than
+ directory is unspecified.
+
+ For an octal integer mode operand, the file mode bits
+ shall be set absolutely.
+
+ For each bit set in the octal number, the corresponding
+ file permission bit shown in the following table shall
+ be set; all other file permission bits shall be cleared.
+ For regular files, for each bit set in the octal number
+ corresponding to the set-user-ID-on-execution or the
+ set-group-ID-on-execution, bits shown in the following
+ table shall be set; if these bits are not set in the
+ octal number, they are cleared. For other file types, it
+ is implementation-defined whether or not requests to set
+ or clear the set-user-ID-on-execution or set-group-ID-
+ on-execution bits are honored.
+Octal Mode Bit Octal Mode Bit Octal Mode Bit Octal Mode Bit
+4000 S_ISUID 0400 S_IRUSR 0040 S_IRGRP 0004 S_IROTH
+2000 S_ISGID 0200 S_IWUSR 0020 S_IWGRP 0002 S_IWOTH
+1000 S_ISVTX 0100 S_IXUSR 0010 S_IXGRP 0001 S_IXOTH
+
+ When bits are set in the octal number other than those
+ listed in the table above, the behavior is unspecified.
+
+ Grammar for chmod
+ The grammar and lexical conventions in this section
+ describe the syntax for the symbolic_mode operand. The
+ general conventions for this style of grammar are
+ described in Grammar Conventions . A valid symbolic_mode
+ can be represented as the non-terminal symbol sym-
+ bolic_mode in the grammar. This formal syntax shall take
+ precedence over the preceding text syntax description.
+
+ The lexical processing is based entirely on single char-
+ acters. Implementations need not allow <blank>s within
+ the single argument being processed.
+
+
+ %start symbolic_mode
+ %%
+
+
+ symbolic_mode : clause
+ | symbolic_mode ',' clause
+ ;
+
+
+ clause : actionlist
+ | wholist actionlist
+ ;
+
+
+ wholist : who
+ | wholist who
+ ;
+
+
+ who : 'u' | 'g' | 'o' | 'a'
+ ;
+
+
+ actionlist : action
+ | actionlist action
+ ;
+
+
+ action : op
+ | op permlist
+ | op permcopy
+ ;
+
+
+ permcopy : 'u' | 'g' | 'o'
+ ;
+
+
+ op : '+' | '-' | '='
+ ;
+
+
+ permlist : perm
+ | perm permlist
+ ;
+
+
+
+ perm : 'r' | 'w' | 'x' | 'X' | 's' | 't'
+ ;
+
+EXIT STATUS
+ The following exit values shall be returned:
+
+ 0 The utility executed successfully and all
+ requested changes were made.
+
+ >0 An error occurred.
+
+
+CONSEQUENCES OF ERRORS
+ Default.
+
+ The following sections are informative.
+
+APPLICATION USAGE
+ Some implementations of the chmod utility change the
+ mode of a directory before the files in the directory
+ when performing a recursive ( -R option) change; others
+ change the directory mode after the files in the direc-
+ tory. If an application tries to remove read or search
+ permission for a file hierarchy, the removal attempt
+ fails if the directory is changed first; on the other
+ hand, trying to re-enable permissions to a restricted
+ hierarchy fails if directories are changed last. Users
+ should not try to make a hierarchy inaccessible to them-
+ selves.
+
+ Some implementations of chmod never used the process'
+ umask when changing modes; systems conformant with this
+ volume of IEEE Std 1003.1-2001 do so when who is not
+ specified. Note the difference between:
+
+
+ chmod a-w file
+
+ which removes all write permissions, and:
+
+
+ chmod -- -w file
+
+ which removes write permissions that would be allowed if
+ file was created with the same umask.
+
+ Conforming applications should never assume that they
+ know how the set-user-ID and set-group-ID bits on direc-
+ tories are interpreted.
+
+EXAMPLES
+Mode Results
+a+= Equivalent to a+, a=; clears all file mode bits.
+go+-w Equivalent to go+, go- w; clears group and other write bits.
+g=o-w Equivalent to g= o, g- w; sets group bit to match other bits and then clears group write bit.
+g-r+w Equivalent to g- r, g+ w; clears group read bit and sets group write bit.
+uo=g Sets owner bits to match group bits and sets other bits to match group bits.
+
+RATIONALE
+ The functionality of chmod is described substantially
+ through references to concepts defined in the System
+ Interfaces volume of IEEE Std 1003.1-2001. In this way,
+ there is less duplication of effort required for
+ describing the interactions of permissions. However, the
+ behavior of this utility is not described in terms of
+ the chmod() function from the System Interfaces volume
+ of IEEE Std 1003.1-2001 because that specification
+ requires certain side effects upon alternate file access
+ control mechanisms that might not be appropriate,
+ depending on the implementation.
+
+ Implementations that support mandatory file and record
+ locking as specified by the 1984 /usr/group standard
+ historically used the combination of set-group-ID bit
+ set and group execute bit clear to indicate mandatory
+ locking. This condition is usually set or cleared with
+ the symbolic mode perm symbol l instead of the perm sym-
+ bols s and x so that the mandatory locking mode is not
+ changed without explicit indication that that was what
+ the user intended. Therefore, the details on how the
+ implementation treats these conditions must be defined
+ in the documentation. This volume of
+ IEEE Std 1003.1-2001 does not require mandatory locking
+ (nor does the System Interfaces volume of
+ IEEE Std 1003.1-2001), but does allow it as an exten-
+ sion. However, this volume of IEEE Std 1003.1-2001 does
+ require that the ls and chmod utilities work consis-
+ tently in this area. If ls -l file indicates that the
+ set-group-ID bit is set, chmod g-s file must clear it
+ (assuming appropriate privileges exist to change modes).
+
+ The System V and BSD versions use different exit status
+ codes. Some implementations used the exit status as a
+ count of the number of errors that occurred; this prac-
+ tice is unworkable since it can overflow the range of
+ valid exit status values. This problem is avoided here
+ by specifying only 0 and >0 as exit values.
+
+ The System Interfaces volume of IEEE Std 1003.1-2001
+ indicates that implementation-defined restrictions may
+ cause the S_ISUID and S_ISGID bits to be ignored. This
+ volume of IEEE Std 1003.1-2001 allows the chmod utility
+ to choose to modify these bits before calling chmod()
+ (or some function providing equivalent capabilities) for
+ non-regular files. Among other things, this allows
+ implementations that use the set-user-ID and set-group-
+ ID bits on directories to enable extended features to
+ handle these extensions in an intelligent manner.
+
+ The X perm symbol was adopted from BSD-based systems
+ because it provides commonly desired functionality when
+ doing recursive ( -R option) modifications. Similar
+ functionality is not provided by the find utility. His-
+ torical BSD versions of chmod, however, only supported X
+ with op+; it has been extended in this volume of
+ IEEE Std 1003.1-2001 because it is also useful with op=.
+ (It has also been added for op- even though it dupli-
+ cates x, in this case, because it is intuitive and eas-
+ ier to explain.)
+
+ The grammar was extended with the permcopy non-terminal
+ to allow historical-practice forms of symbolic modes
+ like o= u -g (that is, set the "other" permissions to
+ the permissions of "owner" minus the permissions of
+ "group").
+
+FUTURE DIRECTIONS
+ None.
+
+SEE ALSO
+ ls , umask , the System Interfaces volume of
+ IEEE Std 1003.1-2001, chmod()
+
+COPYRIGHT
+ Portions of this text are reprinted and reproduced in
+ electronic form from IEEE Std 1003.1, 2003 Edition,
+ Standard for Information Technology -- Portable Operat-
+ ing System Interface (POSIX), The Open Group Base Speci-
+ fications Issue 6, Copyright (C) 2001-2003 by the Insti-
+ tute of Electrical and Electronics Engineers, Inc and
+ The Open Group. In the event of any discrepancy between
+ this version and the original IEEE and The Open Group
+ Standard, the original IEEE and The Open Group Standard
+ is the referee document. The original Standard can be
+ obtained online at http://www.open-
+ group.org/unix/online.html .
+
+
+
+POSIX 2003 chmod(P)