SU(C) XENIX System V SU(C)
Name
su - Makes the user a super-user or another user.
Syntax
su [ - ] [ name [ arg ... ] ]
Description
su allows you to become another user without logging off.
The default user name is root (i.e., super-user).
To use su, the appropriate password must be supplied (unless
you are already a super-user). If the password is correct,
su will execute a new shell with the real and effective user
ID set to that of the specified user. The new shell will be
the optional program named in the shell field of the
specified user's password file (/bin/sh if none is specified
(see sh(C)). To restore normal user ID privileges, press
EOF (Ctrl-D) to the new shell.
Any additional arguments given on the command line are
passed to the program invoked as the shell. When using
programs like sh(C), an arg of the form -c string executes
string via the shell and an arg of -r gives the user a
restricted shell.
The following statements are true only if the optional
program named in the shell field of the specified user's
password file entry is like sh(C). If the first argument to
su is a -, the environment is changed to what would be
expected if the user actually logged in as the specified
user. This is done by invoking the program used as the
shell with an arg0 value whose first character is -, thus
causing first the system's profile (/etc/profile) and then
the specified user's profile (.profile in the new HOME
directory) to be executed. Otherwise, the environment is
passed along with the possible exception of $PATH, which is
set to /bin:/etc:/usr/bin for root. Note that if the
optional program used as the shell is /bin/sh, the user's
.profile can check arg0 for -sh or -su to determine if it
was invoked by login(M) or su(C), respectively. If the
user's program is other than /bin/sh, then .profile is
invoked with an arg0 of -program by both login(M) and su(C).
If you want to log all attempts by users to become root,
create the file /etc/default/su. In this file, plase a
string similar to: SULOG=/usr/adm/sulog This causes all
attempts by any user to switch user id's to be recorded in
the file /usr/adm/sulog. This can be any arbitrary
filename. The su logfile records the original user, the UID
of the su attempt, and the time of the attempt. If the
attempt is successful, a plus sign (+) is placed on the line
describing the attempt. A minus sign (-) indicates an
Page 1 (printed 8/7/87)
SU(C) XENIX System V SU(C)
unsuccessful attempt.
Examples
To become user bin while retaining your previously exported
environment, enter:
su bin
To become user bin but change the environment to what would
be expected if bin had originally logged in, enter:
su - bin
To execute command with the temporary environment and
permissions of user bin, enter:
su - bin -c ``command args''
Files
/etc/passwd The system password file
/etc/default/su Optional file giving location of
sulog.
/etc/profile The system profile
$HOME/.profile The user profile
See Also
env(C), environ(M), login(M), passwd(M), profile(M), sh(C)
Page 2 (printed 8/7/87)