SU(1) SysV SU(1)
NAME
su - become super-user or another user
SYNOPSIS
su [ - ] [ name [ arg ... ] ]
DESCRIPTION
su allows you to be recognized as another user without logging off. The
default user name is root (i.e., super-user).
su requires that you supply the appropriate password (unless you are
already root). If the password is correct, su executes a new shell with
the real and effective user ID set to that of the specified user. The
new shell is determined in the same manner as that used by the login(1)
command (See login(1) for more information). To restore normal user ID
privileges, type an 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(1), an
argument of the form -c string executes string via the shell, and an
argument such as -r gives you 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(1). If the first argument to su is a dash (-), the environment is
changed to what would be expected if you actually logged in as the
specified user. This is done by invoking the program used as the shell
with an argument 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 USER and PATH.
PATH is set to /bin:/etc:/usr/bin:/usr/apollo/bin for root. The dash (-)
option must be followed by a space if specified with another option.
Note that if the optional program used as the shell is /bin/sh, your
.profile can check arg0 for -sh or -su to determine if it was invoked by
login(1) or su respectively. If your program is other than /bin/sh, then
.profile is invoked with an arg0 of -program by both login(1) and su.
All attempts to become another user using su are logged in the log file
/usr/adm/sulog.
EXAMPLES
To become user bin while retaining your previously exported environment,
execute the following:
su bin
To become user bin but change the environment to what would be expected
if bin had originally logged in, execute:
su - bin
To execute command with the temporary environment and permissions of user
bin, type:
su - bin -c command args
FILES
/etc/profile System's profile
$HOME.profile User's profile
/usr/adm/sulog Log file
SEE ALSO
env(1), login(1), sh(1), passwd(4), environ(5), passwd_override(5).