aboutsummaryrefslogtreecommitdiffstats
path: root/man1/chmod.1
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2004-11-03 13:51:07 +0000
committerMichael Kerrisk <mtk.manpages@gmail.com>2004-11-03 13:51:07 +0000
commitfea681dafb1363a154b7fc6d59baa83d2a9ebc5c (patch)
tree8ea275c0f242af739617d0afc3e1b16c4eff3dc2 /man1/chmod.1
downloadman-pages-fea681dafb1363a154b7fc6d59baa83d2a9ebc5c.tar.gz
Import of man-pages 1.70man-pages-1.70
Diffstat (limited to 'man1/chmod.1')
-rw-r--r--man1/chmod.1160
1 files changed, 160 insertions, 0 deletions
diff --git a/man1/chmod.1 b/man1/chmod.1
new file mode 100644
index 0000000000..4f047aad70
--- /dev/null
+++ b/man1/chmod.1
@@ -0,0 +1,160 @@
+.\" Copyright Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998.
+.\"
+.\" This file may be copied under the conditions described
+.\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998
+.\" that should have been distributed together with this file.
+.\"
+.\" Modified 2004-06-17, Michael Kerrisk
+.\"
+.TH CHMOD 1 2004-06-17 "GNU fileutils 4.0"
+.SH NAME
+chmod \- change access permissions of files
+.SH SYNOPSIS
+.BI "chmod [" options "] " "mode file..."
+.sp
+POSIX options:
+.B "[\-R] [\-\-]"
+.sp
+GNU mode denotation:
+.BI [\-\-reference= rfile ]
+.sp
+GNU options (shortest form):
+.B [\-cfvR]
+.B "[\-\-help] [\-\-version] [\-\-]"
+.SH DESCRIPTION
+.B chmod
+changes the permissions of each given
+.I file
+according to
+.IR mode ,
+which can be either a symbolic representation of changes to make, or
+an octal number representing the bit pattern for the new permissions.
+.PP
+The format of a symbolic mode change argument is
+.br
+\&`[ugoa...][[+\-=][rwxXstugo...]...][,...]'.
+.PP
+Such an argument is a list of symbolic mode change commands,
+separated by commas.
+Each symbolic mode change command starts with zero or more
+of the letters `ugoa'; these control which users' access to
+the file will be changed: the user who owns it (u), other users in the
+file's group (g), other users not in the file's group (o), or all
+users (a). Thus, `a' is here equivalent to `ugo'.
+If none of these are given, the effect is as if `a' were
+given, but bits that are set in the umask are not affected.
+.PP
+The operator `+' causes the permissions selected to be added to the
+existing permissions of each file; `\-' causes them to be removed;
+and `=' causes them to be the only permissions that the file has.
+.PP
+The letters `rwxXstugo' select the new permissions for the affected
+users: read (r), write (w), execute (or access for directories) (x),
+execute only if the file is a directory or already has execute
+permission for some user (X), set user or group ID on execution (s),
+sticky bit (t), the permissions that the user
+who owns the file currently has for it (u), the permissions that other
+users in the file's group have for it (g), and the permissions that
+other users not in the file's group have for it (o).
+(Thus, `chmod g\-s file' removes the set-group-ID (sgid) bit,
+\&`chmod ug+s file' sets both the suid and sgid bits, while
+\&`chmod o+s file' does nothing.)
+.PP
+The name of the `sticky bit' derives from the original meaning:
+keep program text on swap device.
+These days, when set for a directory, it means that
+only the owner of the file and the owner of that directory
+may remove the file from that directory.
+(This is commonly used on directories like /tmp that have
+general write permission.)
+.PP
+A numeric mode is from one to four octal digits (0-7), derived by
+adding up the bits with values 4, 2, and 1. Any omitted digits are
+assumed to be leading zeros. The first digit selects the set user ID
+(4) and set group ID (2) and save text image [`sticky'] (1) attributes.
+The second digit selects permissions for the user who owns the file: read
+(4), write (2), and execute (1); the third selects permissions for
+other users in the file's group, with the same values; and the fourth
+for other users not in the file's group, with the same values.
+.PP
+.B chmod
+never changes the permissions of symbolic links, since the
+.B chmod
+system call cannot change their permissions. This is not a problem
+since the permissions of symbolic links are never used. However, for
+each symbolic link listed on the command line,
+.B chmod
+changes the permissions of the pointed-to file. In contrast,
+.B chmod
+ignores symbolic links encountered during recursive directory traversals.
+.SH "POSIX OPTIONS"
+.TP
+.B "\-R"
+Recursively change permissions of directories and their contents.
+.TP
+.B "\-\-"
+Terminate option list.
+.SH "ADDITIONAL GNU DESCRIPTION"
+A GNU extension (new in fileutils 4.0) allows one to use
+.BI "\-\-reference=" "rfile"
+as a mode description: the same mode as that of
+.IR rfile .
+.SH "GNU OPTIONS"
+.TP
+.B "\-c, \-\-changes"
+Verbosely describe the action for each
+.I file
+whose permissions actually changes.
+.TP
+.B "\-f, \-\-silent, \-\-quiet"
+Do not print error messages about files whose permissions cannot be changed.
+.TP
+.B "\-v, \-\-verbose"
+Verbosely describe the action or non-action taken for every
+.IR file .
+.TP
+.B "\-R, \-\-recursive"
+Recursively change permissions of directories and their contents.
+.SH "GNU STANDARD OPTIONS"
+.TP
+.B "\-\-help"
+Print a usage message on standard output and exit successfully.
+.TP
+.B "\-\-version"
+Print version information on standard output, then exit successfully.
+.TP
+.B "\-\-"
+Terminate option list.
+.SH ENVIRONMENT
+The variables LANG, LC_ALL, LC_CTYPE and LC_MESSAGES have the
+usual meaning. For an XSI-conforming system: NLSPATH has the
+usual meaning.
+.SH "CONFORMING TO"
+POSIX 1003.2 only requires the \-R option. Use of other options
+may not be portable. This standard does not describe the 't' permission
+bit. This standard does not specify whether \fBchmod\fP must preserve
+consistency by clearing or refusing to set the suid and sgid
+bits, e.g., when all execute bits are cleared, or whether \fBchmod\fP
+honors the `s' bit at all.
+.SH "NONSTANDARD MODES"
+Above we described the use of the `t' bit on directories.
+Various systems attach special meanings to otherwise
+meaningless combinations of mode bits.
+In particular, Linux, following System V (see
+System V Interface Definition (SVID) Version 3),
+lets the sgid bit for files without group execute permission
+mark the file for mandatory locking. For more details, see
+the file
+.IR /usr/src/linux/Documentation/mandatory.txt .
+.SH NOTES
+This page describes
+.B chmod
+as found in the fileutils-4.0 package;
+other versions may differ slightly.
+.SH "SEE ALSO"
+.BR chattr (1),
+.BR chown (1),
+.BR install (1),
+.BR chmod (2),
+.BR stat (2),
+.BR umask (2)