summaryrefslogtreecommitdiffstats
path: root/man/chmod.x
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 16:11:47 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 16:11:47 +0000
commit758f820bcc0f68aeebac1717e537ca13a320b909 (patch)
tree48111ece75cf4f98316848b37a7e26356e00669e /man/chmod.x
parentInitial commit. (diff)
downloadcoreutils-758f820bcc0f68aeebac1717e537ca13a320b909.tar.xz
coreutils-758f820bcc0f68aeebac1717e537ca13a320b909.zip
Adding upstream version 9.1.upstream/9.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man/chmod.x')
-rw-r--r--man/chmod.x118
1 files changed, 118 insertions, 0 deletions
diff --git a/man/chmod.x b/man/chmod.x
new file mode 100644
index 0000000..3ab8ed0
--- /dev/null
+++ b/man/chmod.x
@@ -0,0 +1,118 @@
+'\" Copyright (C) 1998-2022 Free Software Foundation, Inc.
+'\"
+'\" This is free software. You may redistribute copies of it under the terms
+'\" of the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
+'\" There is NO WARRANTY, to the extent permitted by law.
+[NAME]
+chmod \- change file mode bits
+[DESCRIPTION]
+This manual page
+documents the GNU version of
+.BR chmod .
+.B chmod
+changes the file mode bits of each given 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 mode bits.
+.PP
+The format of a symbolic mode is [\c
+\fBugoa\fP.\|.\|.][[\fB-+=\fP][\fIperms\fP.\|.\|.].\|.\|.],
+where
+.I "perms"
+is either zero or more letters from the set
+\fBrwxXst\fP, or a single letter from the set \fBugo\fP.
+Multiple symbolic
+modes can be given, separated by commas.
+.PP
+A combination of the letters \fBugoa\fP controls which users' access
+to the file will be changed: the user who owns it (\fBu\fP), other
+users in the file's group (\fBg\fP), other users not in the file's
+group (\fBo\fP), or all users (\fBa\fP). If none of these are given,
+the effect is as if (\fBa\fP) were
+given, but bits that are set in the umask are not affected.
+.PP
+The operator \fB+\fP causes the selected file mode bits to be added to
+the existing file mode bits of each file; \fB-\fP causes them to be
+removed; and \fB=\fP causes them to be added and causes unmentioned
+bits to be removed except that a directory's unmentioned set user and
+group ID bits are not affected.
+.PP
+The letters \fBrwxXst\fP select file mode bits for the affected users:
+read (\fBr\fP), write (\fBw\fP), execute (or search for directories)
+(\fBx\fP), execute/search only if the file is a directory or already
+has execute permission for some user (\fBX\fP), set user or group ID
+on execution (\fBs\fP), restricted deletion flag or sticky bit
+(\fBt\fP). Instead of one or more of these letters, you can specify
+exactly one of the letters \fBugo\fP: the permissions granted to the
+user who owns the file (\fBu\fP), the permissions granted to other
+users who are members of the file's group (\fBg\fP),
+and the permissions granted to users that are in neither of the two preceding
+categories (\fBo\fP).
+.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. Omitted digits are
+assumed to be leading zeros.
+The first digit selects the set user ID (4) and set group ID (2) and
+restricted deletion or 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; 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 "SETUID AND SETGID BITS"
+.B chmod
+clears the set-group-ID bit of a
+regular file if the file's group ID does not match the user's
+effective group ID or one of the user's supplementary group IDs,
+unless the user has appropriate privileges. Additional restrictions
+may cause the set-user-ID and set-group-ID bits of
+.I MODE
+or
+.I RFILE
+to be ignored. This behavior depends on the policy and
+functionality of the underlying
+.B chmod
+system call. When in
+doubt, check the underlying system behavior.
+.PP
+For directories
+.B chmod
+preserves set-user-ID and set-group-ID bits unless you
+explicitly specify otherwise. You can set or clear the bits with
+symbolic modes like
+.B u+s
+and
+.BR g\-s .
+To clear these bits for directories with a numeric mode requires
+an additional leading zero like
+.BR 00755 ,
+leading minus like
+.BR \-6000 ,
+or leading equals like
+.BR =755 .
+.SH "RESTRICTED DELETION FLAG OR STICKY BIT"
+The restricted deletion flag or sticky bit is a single bit, whose
+interpretation depends on the file type. For directories, it prevents
+unprivileged users from removing or renaming a file in the directory
+unless they own the file or the directory; this is called the
+.I "restricted deletion flag"
+for the directory, and is commonly found on world-writable directories
+like \fB/tmp\fP. For regular files on some older systems, the bit
+saves the program's text image on the swap device so it will load more
+quickly when run; this is called the
+.IR "sticky bit" .
+.SH OPTIONS
+[SEE ALSO]
+chmod(2)