SU(1) SU(1) su - su [] [-] [I<> [I<>...]] su , su root. , , . su HOME SHELL ( USER LOGNAME, root). --login ( -), , . su PAM , . , su, wheel, PAM. su . (, , root), non-set-user-ID runuser(1). PAM. PAM , setpriv(1). , su PAM (pam_getenvlist(3)) . , --login --preserve-environment , PAM. 2.38, su RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS RLIMIT_NOFILE. -c, --command -c. -f, --fast -f, , , . -g, --group . root. -G, --supp-group . root. , --group. -, -l, --login , . , systemd . , , su (PAM). , systemd-run machinectl , . su : o , TERM , --whitelist-environment o HOME, SHELL, USER, LOGNAME PATH o o argv[0] <<->> -m, -p, --preserve-environment , HOME, SHELL, USER LOGNAME. , --login. -P, --pty , . - TIOCSTI . (, su --pty - -c &). , su - ( stdin stdout). , , . , , , (: echo "date" | su --pty), ECHO , . -s, --shell . ( /etc/shells), --shell SHELL , , , root. , : o , --shell. o , SHELL, --preserve-environment o passwd o /bin/sh --session-command= , -c, . ( .) -T, --no-pty Do not create a pseudo-terminal, opposite of --pty and -P. Note that running without a pseudo-terminal opens the security risk of privilege escalation through TIOCSTI/TIOCLINUX ioctl command injection. -w, --whitelist-environment , --login. <<>> HOME, SHELL, USER, LOGNAME PATH. -h, --help . -V, --version . - , SIGINT, SIGQUIT SIGTERM, su , . SIGTERM; 2 SIGKILL. su /etc/default/su /etc/login.defs. su : FAIL_DELAY () . ' . ENV_PATH () PATH /usr/local/bin:/bin:/usr/bin. ENV_ROOTPATH (), ENV_SUPATH () PATH root. ENV_SUPATH . /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin. ALWAYS_SET_PATH ( ) yes --login --preserve-environment, su PATH. PATH , /bin /sbin ' /usr. --login PAM (, pam_env(8)). su, , . , su 128. , su: 1 126 127 /etc/pam.d/su PAM /etc/pam.d/su-l PAM, --login /etc/default/su logindef /etc/login.defs logindef su btmp, lastlog. su PAM. pam_lastlog(8) - , pam_lastlog(8) lastlog. : session required pam_lastlog.so nowtmp su su coreutils, David MacKenzie. util-linux Karel Zak. setpriv(1), login.defs(5), shells(5), pam(8), runuser(1) su util-linux, Linux . util-linux 2.41 2025-03-29 SU(1)