sbase/chmod.1
Michael Forney f3d05ffd0a chmod: Implement X perm symbol
Instead of clearing the format bits before calling parsemode, leave
them in so we can differentiate between directories and other files,
then clear the format bits in the result.
2020-01-06 13:47:26 -08:00

87 lines
1.2 KiB
Groff

.Dd 2015-10-08
.Dt CHMOD 1
.Os sbase
.Sh NAME
.Nm chmod
.Nd change file modes
.Sh SYNOPSIS
.Nm
.Oo
.Fl R
.Op Fl H | L | P
.Oc
.Ar mode
.Ar file ...
.Sh DESCRIPTION
.Nm
changes the file mode of each
.Ar file
to
.Ar mode .
.Pp
If
.Ar mode
is
.Em octal
"[sog]e"
.Bl -tag -width Ds
.It s
.Xr sticky 1 => s += 1
.Pp
.Xr setgid 2 => s += 2
.Pp
.Xr setuid 4 => s += 4
.It o|g|e
owner | group | everyone
.Pp
.Xr execute 1 => o|g|e += 1
.Pp
.Xr write 2 => o|g|e += 2
.Pp
.Xr read 4 => o|g|e += 4
.El
.Pp
Leading zeroes may be omitted.
.Pp
If
.Ar mode
is
.Em symbolic
"[ugoa]*[+-=][rwxXst]*"
.Bl -tag -width Ds
.It u|g|o|a
owner | group | other (non-group) | everyone
.It +|-|=
add | remove | set
.It r|w|x|s|t
read | write | execute | setuid and setgid | sticky
.It X
execute, if directory or at least one execute bit is already set
.El
.Sh OPTIONS
.Bl -tag -width Ds
.It Fl R
Change modes recursively.
.It Fl H
Dereference
.Ar file
if it is a symbolic link.
.It Fl L
Dereference all symbolic links.
.It Fl P
Preserve symbolic links. This is the default.
.El
.Sh SEE ALSO
.Xr chgrp 1 ,
.Xr umask 1
.Sh STANDARDS
The
.Nm
utility is compliant with the
.St -p1003.1-2013
specification.
.Pp
The
.Op Fl HLP
flags are an extension to that specification.