Make internal section 7 too, use more markup, |fmt,
sort sections.
This commit is contained in:
parent
fa6c746b59
commit
193f31ef31
@ -1,4 +1,4 @@
|
|||||||
.\" $NetBSD: sticky.7,v 1.1 2004/01/30 15:27:07 christos Exp $
|
.\" $NetBSD: sticky.7,v 1.2 2004/01/30 15:38:18 wiz Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 1980, 1991, 1993
|
.\" Copyright (c) 1980, 1991, 1993
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
@ -30,68 +30,73 @@
|
|||||||
.\" @(#)sticky.8 8.1 (Berkeley) 6/5/93
|
.\" @(#)sticky.8 8.1 (Berkeley) 6/5/93
|
||||||
.\"
|
.\"
|
||||||
.Dd May 25, 1998
|
.Dd May 25, 1998
|
||||||
.Dt STICKY 8
|
.Dt STICKY 7
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
.Nm sticky
|
.Nm sticky
|
||||||
.Nd Description of the `sticky' (S_ISVTX) bit functionality.
|
.Nd Description of the `sticky' (S_ISVTX) bit functionality
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
A special file mode, called the
|
A special file mode, called the
|
||||||
.Em sticky bit
|
.Em sticky bit
|
||||||
(mode S_ISVTX),
|
(mode
|
||||||
|
.Dv S_ISVTX ) ,
|
||||||
is used to indicate special treatment for directories.
|
is used to indicate special treatment for directories.
|
||||||
See
|
See
|
||||||
.Xr chmod 2
|
.Xr chmod 2
|
||||||
or
|
or the file
|
||||||
the file
|
|
||||||
.Pa /usr/include/sys/stat.h
|
.Pa /usr/include/sys/stat.h
|
||||||
.Sh STICKY FILES
|
.Sh STICKY FILES
|
||||||
The use of mode S_ISVTX is reserved and can be set only by
|
The use of mode
|
||||||
the super-user.
|
.Dv S_ISVTX
|
||||||
|
is reserved and can be set only by the super-user.
|
||||||
.Sh STICKY DIRECTORIES
|
.Sh STICKY DIRECTORIES
|
||||||
A directory whose `sticky bit' is set
|
A directory whose
|
||||||
becomes an append-only directory, or, more accurately,
|
.Dq sticky bit
|
||||||
a directory in which the deletion of files is restricted.
|
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
|
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
|
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,
|
the user is the owner of the file, the owner of the directory,
|
||||||
or the super-user.
|
or the super-user.
|
||||||
This feature is usefully applied to directories such as
|
This feature is usefully applied to directories such as
|
||||||
.Pa /tmp
|
.Pa /tmp
|
||||||
which must be publicly writable but
|
which must be publicly writable but should deny users the license
|
||||||
should deny users the license to arbitrarily
|
to arbitrarily delete or rename each others' files.
|
||||||
delete or rename each others' files.
|
|
||||||
.Pp
|
.Pp
|
||||||
Any user may create a sticky directory.
|
Any user may create a sticky directory.
|
||||||
See
|
See
|
||||||
.Xr chmod 1
|
.Xr chmod 1
|
||||||
for details about modifying file modes.
|
for details about modifying file modes.
|
||||||
|
.Sh HISTORY
|
||||||
|
The sticky bit first appeared in
|
||||||
|
.Bx 4.1 .
|
||||||
|
Its initial use was to mark executables that were frequently used
|
||||||
|
so that their text would stay in virtual memory after the process
|
||||||
|
exited.
|
||||||
|
This is where the term
|
||||||
|
.Dq sticky
|
||||||
|
comes from - the text of the program would stick around in virtual
|
||||||
|
memory.
|
||||||
|
Such executables were compiled in a way that they would have their
|
||||||
|
read-only data loaded in the text segment to minimize the amount of
|
||||||
|
work needed to load the executable.
|
||||||
|
.Xr vi 1
|
||||||
|
was one such executable.
|
||||||
|
.Pp
|
||||||
|
Later, on SunOS 4, the sticky bit got an additional meaning for
|
||||||
|
files that had the bit set and were not executable: read and write
|
||||||
|
operations from and to those files would go directly to the disk
|
||||||
|
and bypass the buffer cache.
|
||||||
|
This was typically used on swap files for NFS clients on an NFS
|
||||||
|
server, so that swap I/O generated by the clients on the servers
|
||||||
|
would not evict useful data from the server's buffer cache.
|
||||||
|
.Pp
|
||||||
|
.Nx
|
||||||
|
currently does not treat plain files that have the sticky bit
|
||||||
|
specially, but this behavior might change in the future.
|
||||||
.Sh BUGS
|
.Sh BUGS
|
||||||
Neither
|
Neither
|
||||||
.Xr open 2
|
.Xr open 2
|
||||||
nor
|
nor
|
||||||
.Xr mkdir 2
|
.Xr mkdir 2
|
||||||
will create a file with the sticky bit set.
|
will create a file with the sticky bit set.
|
||||||
.Sh HISTORY
|
|
||||||
.Pp
|
|
||||||
The sticky bit first appeared in 4.1BSD.
|
|
||||||
It's initial use was to mark executables that were frequently used so that
|
|
||||||
their text would stay in virtual memory after the process exited.
|
|
||||||
This is where the term `sticky' comes from - the text of the program would
|
|
||||||
stick around in virtual memory.
|
|
||||||
Such executables were compiled in a way that they would have
|
|
||||||
their readonly data loaded in the text segment to minimize the amount of
|
|
||||||
work needed to load the executable.
|
|
||||||
.Xr vi 1
|
|
||||||
was one such executable.
|
|
||||||
.Pp
|
|
||||||
Later, on SunOS 4 the sticky bit got an additional meaning for files that
|
|
||||||
had the bit set and were not executable: read and write operations from and
|
|
||||||
to those files would go directly to the disk and bypass the buffer cache.
|
|
||||||
This was typically used on swap files for nfs clients on an nfs server,
|
|
||||||
so that swap I/O generated by the clients on the servers would not evict
|
|
||||||
useful data from the server's buffer cache.
|
|
||||||
.Pp
|
|
||||||
.Nx
|
|
||||||
currently does not treat plain files that have the sticky bit specially,
|
|
||||||
but this behavior might change in the future.
|
|
||||||
|
Loading…
Reference in New Issue
Block a user