104 lines
3.8 KiB
Groff
104 lines
3.8 KiB
Groff
.\" $NetBSD: sticky.8,v 1.3 1994/11/30 19:36:27 jtc Exp $
|
|
.\"
|
|
.\" Copyright (c) 1980, 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)sticky.8 8.1 (Berkeley) 6/5/93
|
|
.\"
|
|
.Dd June 5, 1993
|
|
.Dt STICKY 8
|
|
.Os BSD 4
|
|
.Sh NAME
|
|
.Nm sticky
|
|
.Nd sticky text and append-only directories
|
|
.Sh DESCRIPTION
|
|
A special file mode, called the
|
|
.Em sticky bit
|
|
(mode S_ISVTX),
|
|
is used to indicate special treatment
|
|
for shareable executable files and directories.
|
|
See
|
|
.Xr chmod 2
|
|
or
|
|
the file
|
|
.Pa /usr/include/sys/stat.h
|
|
for an explanation of file modes.
|
|
.Sh STICKY TEXT EXECUTABLE FILES
|
|
An executable shareable file whose sticky bit is set
|
|
will not be immediately discarded from swap space after execution.
|
|
The kernel will hoard the text segment of the file for future
|
|
reuse and avoid having to reload the program.
|
|
Shareable text segments are normally placed
|
|
in a least-frequently-used cache after use,
|
|
and thus the `sticky bit' has little effect on commonly-used text images.
|
|
.Pp
|
|
Sharable executable files are created with the
|
|
.Fl n
|
|
and
|
|
.Fl z
|
|
options of
|
|
the loader
|
|
.Xr ld 1 .
|
|
.Pp
|
|
Only the super-user can set the sticky bit
|
|
on a sharable executable file.
|
|
.Sh STICKY DIRECTORIES
|
|
A directory whose `sticky bit' is set
|
|
becomes an append-only directory, or, more accurately,
|
|
a directory in which the deletion of files is restricted.
|
|
A file in a sticky directory may only be removed or renamed
|
|
by a user if the user has write permission for the directory and
|
|
the user is the owner of the file, the owner of the directory,
|
|
or the super-user.
|
|
This feature is usefully applied to directories such as
|
|
.Pa /tmp
|
|
which must be publicly writable but
|
|
should deny users the license to arbitrarily
|
|
delete or rename each others' files.
|
|
.Pp
|
|
Any user may create a sticky directory.
|
|
See
|
|
.Xr chmod 1
|
|
for details about modifying file modes.
|
|
.Sh BUGS
|
|
Since the text areas of sticky text executables are stashed in the swap area,
|
|
abuse of the feature can cause a system to run out of swap.
|
|
.Pp
|
|
Neither
|
|
.Xr open 2
|
|
nor
|
|
.Xr mkdir 2
|
|
will create a file with the sticky bit set.
|
|
.Sh HISTORY
|
|
A
|
|
.Nm
|
|
command appeared in Version 32V AT&T UNIX.
|