|
|
|
|
3.4.2.5. Special modes
For the system admin to not be bothered solving permission
problems all the time, special access rights can be given to entire
directories, or to separate programs. There are three special
modes:
-
Sticky bit mode: After execution of a job, the command is kept
in the system memory. Originally this was a feature used a lot to
save memory: big jobs are loaded into memory only once. But these
days memory is inexpensive and there are better techniques to
manage it, so it is not used anymore for its optimizing
capabilities on single files. When applied to an entire directory,
however, the sticky bit has a different meaning. In that case, a
user can only change files in this directory when she is the user
owner of the file or when the file has appropriate permissions.
This feature is used on directories like /var/tmp, that have to be accessible for everyone,
but where it is not appropriate for users to change or delete each
other's data. The sticky bit is indicated by a t at the
end of the file permission field:
mark:~> ls -ld /var/tmp
drwxrwxrwt 19 root root 8192 Jan 16 10:37 /var/tmp/
|
The sticky bit is set using the command chmod
o+t directory. The historic origin of the
"t" is in UNIX' save Text
access feature.
-
SUID (set user ID) and SGID (set group ID): represented by the
character s in the user or group permission field. When
this mode is set on an executable file, it will run with the user
and group permissions on the file instead of with those of the user
issuing the command, thus giving access to system resources. We
will discuss this further in
Chapter 4.
-
SGID (set group ID) on a directory: in this special case every
file created in the directory will have the same group owner as the
directory itself (while normal behavior would be that new files are
owned by the users who create them). This way, users don't need to
worry about file ownership when sharing directories:
mimi:~> ls -ld /opt/docs
drwxrws--- 4 root users 4096 Jul 25 2001 docs/
mimi:~> ls -l /opt/docs
-rw-rw---- 1 mimi users 345672 Aug 30 2001-Council.doc
|
This is the standard way of sharing files in UNIX.
|
Existing files are left
unchanged! |
|
Files that are being moved to a SGID directory but were created
elsewhere keep their original user and group owner. This may be
confusing.
|
|
|
|