f3d05ffd0a
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.
87 lines
1.2 KiB
Groff
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.
|