Home Explore Blog CI



man-pages

3rd chunk of `su.man`
b1f390c49d23be1bdf2b7256087eb78cc19088f4e78fb8e70000000100000e9c
   Same as -c, but do not create a new session. (Discouraged.)

       -w, --whitelist-environment=list
           Don’t reset the environment variables specified in the
           comma-separated list when clearing the environment for --login. The
           whitelist is ignored for the environment variables HOME, SHELL,
           USER, LOGNAME, and PATH.

       -h, --help
           Display help text and exit.

       -V, --version
           Print version and exit.

SIGNALS
       Upon receiving either SIGINT, SIGQUIT or SIGTERM, su terminates its
       child and afterwards terminates itself with the received signal. The
       child is terminated by SIGTERM, after unsuccessful attempt and 2 seconds
       of delay the child is killed by SIGKILL.

CONFIG FILES
       su reads the /etc/default/su and /etc/login.defs configuration files.
       The following configuration items are relevant for su:

       FAIL_DELAY (number)
           Delay in seconds in case of an authentication failure. The number
           must be a non-negative integer.

       ENV_PATH (string)
           Defines the PATH environment variable for a regular user. The
           default value is /usr/local/bin:/bin:/usr/bin.

       ENV_ROOTPATH (string), ENV_SUPATH (string)
           Defines the PATH environment variable for root. ENV_SUPATH takes
           precedence. The default value is
           /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

       ALWAYS_SET_PATH (boolean)
           If set to yes and --login and --preserve-environment were not
           specified su initializes PATH.

           The environment variable PATH may be different on systems where /bin
           and /sbin are merged into /usr; this variable is also affected by
           the --login command-line option and the PAM system setting (e.g.,
           pam_env(8)).

EXIT STATUS
       su normally returns the exit status of the command it executed. If the
       command was killed by a signal, su returns the number of the signal plus
       128.

       Exit status generated by su itself:

       1
           Generic error before executing the requested command

       126
           The requested command could not be executed

       127
           The requested command was not found

FILES
       /etc/pam.d/su
           default PAM configuration file

       /etc/pam.d/su-l
           PAM configuration file if --login is specified

       /etc/default/su
           command specific logindef config file

       /etc/login.defs
           global logindef config file

NOTES
       For security reasons, su always logs failed log-in attempts to the btmp
       file, but it does not write to the lastlog file at all. This solution
       can be used to control su behavior by PAM configuration. If you want to
       use the pam_lastlog(8) module to print warning message about failed
       log-in attempts then pam_lastlog(8) has to be configured to update the
       lastlog file as well. For example by:

          session required pam_lastlog.so nowtmp

HISTORY
       This su command was derived from coreutils' su, which was based on an
       implementation by David MacKenzie. The util-linux version has been
       refactored by Karel Zak.

SEE ALSO
       setpriv(1), login.defs(5), shells(5), pam(8), runuser(1)

REPORTING BUGS
       For bug reports, use the issue tracker at
       https://github.com/util-linux/util-linux/issues.

AVAILABILITY
       The su command is part of the util-linux package which can be downloaded
       from Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.39.1                  2023‐06‐14                             SU(1)

Title: su Command Details: Signals, Configuration, Exit Status, and Files
Summary
This section outlines how `su` handles signals, reads configuration files like `/etc/default/su` and `/etc/login.defs` (including settings for `FAIL_DELAY`, `ENV_PATH`, and `ALWAYS_SET_PATH`), and reports exit statuses. It lists relevant files like PAM configuration files and logindef config files. It also details the logging behavior of failed login attempts and provides historical context, related commands, bug reporting information, and availability details for the `su` command.