SU(1) Anvandarkommandon SU(1) NAMN su - kor ett kommando med ersattande anvandar- och grupp-ID SYNOPSIS su [options] [-] [user|UID [argument...]] BESKRIVNING su gor att kommandon kan koras med ett ersattande anvandar- och grupp-ID. Nar su anropas utan att anvandare har angetts kors ett interaktivt skal som standard som root. Nar anvandare har angetts kan ytterligare argument anges, och i sa fall skickas de till skalet. For bakatkompatibilitet ar su standardinstallningen att inte andra den aktuella katalogen och att endast stalla in miljovariablerna HOME och SHELL (plus USER och LOGNAME om malets anvandare inte ar root). Det rekommenderas att alltid anvanda flaggan --login (i stallet for dess genvag -) for att undvika biverkningar som orsakas av blandade miljoer. Den har versionen av su anvander PAM for autentisering, konto- och sessionshantering. Vissa konfigurationsflaggor som finns i andra su-implementationer, t.ex. stod for en wheel-grupp, maste konfigureras via PAM. su ar framst avsett for icke-privilegierade anvandare, och den rekommenderade losningen for privilegierade anvandare (t.ex. skript som kors av root) ar att anvanda kommandot runuser(1), som inte kraver autentisering och ger separat PAM-konfiguration. Om PAM-sessionen inte kravs alls ar den rekommenderade losningen att anvanda kommandot setpriv(1). Observera att su i samtliga fall anvander PAM (pam_getenvlist(3)) for att gora den slutliga miljomodifieringen. Kommandoradsflaggor som --login och --preserve-environment paverkar miljon innan den modifieras av PAM. Sedan version 2.38 aterstaller su processresursgranserna RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS och RLIMIT_NOFILE. FLAGGOR -c, --command kommando Pass command to the shell with the -c option. Creates a new session via setsid(2). Refer to --session-command to keep the same session. -f, --fast Skicka -f till skalet, vilket kan vara anvandbart eller inte beroende pa vilket skal det ar. -g, --group grupp Ange den primara gruppen. Denna flagga ar endast tillgangligt for root-anvandaren. -G, --supp-group grupp Ange en kompletterande grupp. Denna flagga ar endast tillgangligt for root-anvandaren. Den forsta angivna tillaggsgruppen anvands ocksa som primargrupp om flaggan --group inte anges. -, -l, --login Starta skalet som ett inloggningsskal med en miljo som liknar en riktig inloggning. Note that on systemd(1)-based systems, a new session may be defined as a real entry point to the system. However, su does not create a real session (by PAM) from this point of view. You need to use tools like systemd-run(1) or machinectl(1) to initiate a complete, real session. su gor det: o clear all the environment variables except TERM, COLORTERM, NO_COLOR and variables specified by --whitelist-environment o initialize the environment variables HOME, SHELL, USER, LOGNAME, and PATH o change to the target user's home directory o set argv[0] of the shell to '-' in order to make the shell a login shell -m, -p, --preserve-environment Bevara hela miljon, d.v.s. ange inte HOME, SHELL, USER eller LOGNAME. Denna flagga ignoreras om flaggan --login har angetts. -P, --pty Create a pseudo-terminal for the session. The independent terminal provides better security as the user does not share a terminal with the original session. Please note security advice about TIOCSTI vulnerability below. The entire session can also be moved to the background (e.g., su --pty - user -c application &). If the pseudo-terminal is enabled, then su works as a proxy between the sessions (sync stdin and stdout). Den har funktionen ar framst avsedd for interaktiva sessioner. Om standardinmatningen inte ar en terminal, utan t.ex. en pipe (t.ex. echo "date" | su --pty), inaktiveras flaggan ECHO for pseudoterminalen for att undvika roriga utdata. -s, --shell skal Kor det angivna skal i stallet for standardinstallningen. Om malanvandaren har ett begransat skal (dvs. inte listat i /etc/shells) ignoreras flaggan --shell och miljovariablerna SHELL om inte den anropande anvandaren ar root. Det skal som ska koras valjs enligt foljande regler, i tur och ordning: o det skal som anges med --shell o det skal som anges i miljovariabeln SHELL, om flaggan --preserve-environment anvands o det shell som anges i passwd-posten for malanvandaren o /bin/sh --session-command=kommando Same as -c, but do not create a new session. (Discouraged.) Please note security advice about TIOCSTI vulnerability below. -T, --no-pty Do not create a pseudo-terminal, opposite of --pty and -P. Please note security advice about TIOCSTI vulnerability below. -w, --whitelist-environment lista Aterstall inte de miljovariabler som anges i den kommaseparerade lista nar du rensar miljon for --login. Vitlistan ignoreras for miljovariablerna HOME, SHELL, USER, LOGNAME och PATH. -h, --help Visa hjalptext och avsluta. -V, --version Visa version och avsluta. SIGNALER Efter att ha mottagit antingen SIGINT, SIGQUIT eller SIGTERM avslutar su sitt barn och avslutar darefter sig sjalv med den mottagna signalen. Barnet avslutas med SIGTERM, efter ett misslyckat forsok och 2 sekunders fordrojning dodas barnet med SIGKILL. KONFIGURATIONSFILER su laser konfigurationsfilerna /etc/default/su och /etc/login.defs. Foljande konfigurationsobjekt ar relevanta for su: FAIL_DELAY (nummer) Fordrojning i sekunder om autentiseringen misslyckas. Talet maste vara ett icke-negativt heltal. ENV_PATH (strang) Definierar miljovariabeln PATH for en vanlig anvandare. Standardvardet ar /usr/local/bin:/bin:/usr/bin. ENV_ROOTPATH (strang), ENV_SUPATH (strang) Definierar miljovariabeln PATH for root. ENV_SUPATH har foretrade. Standardvardet ar /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin. ALWAYS_SET_PATH (boolean) Om vardet ar yes och --login och --preserve-environment inte har angetts initierar su PATH. Miljovariabeln PATH kan vara annorlunda pa system dar /bin och /sbin ar sammanslagna till /usr; denna variabel paverkas ocksa av kommandoradsflaggan --login och PAM-systeminstallningen (t.ex. pam_env(8)). AVSLUTSSTATUS su returnerar normalt utgangsstatusen for det kommando som det utforde. Om kommandot stoppades av en signal returnerar su signalens nummer plus 128. Exitstatus genereras av su sjalv: 1 Generiskt fel innan det begarda kommandot utfordes 126 Det begarda kommandot kunde inte utforas 127 Det begarda kommandot hittades inte FILER /etc/pam.d/su standardkonfigurationsfil for PAM /etc/pam.d/su-l PAM-konfigurationsfil om --login anges /etc/default/su kommandospecifik logindef-konfigurationsfil /etc/login.defs _/etc/login.defs global logindef konfigurationsfil SECURITY NOTES If su shares a terminal with the original session, it is potentially vulnerable to privilege escalation through TIOCSTI/TIOCLINUX ioctl command injection. There are two built-in ways to prevent this: Either you can use su with the -c option, which starts a new session via setsid(2) without a controlling terminal. Or, if your use case requires a controlling terminal, for example an interactive session, you can instruct su to use a pseudo terminal with the --pty or -P option. Av sakerhetsskal loggar su alltid misslyckade inloggningsforsok till filen btmp, men den skriver inte alls till filen lastlog. Den har losningen kan anvandas for att kontrollera su beteende genom PAM-konfiguration. Om du vill anvanda modulen pam_lastlog(8) for att skriva ut varningsmeddelanden om misslyckade inloggningsforsok maste pam_lastlog(8) konfigureras sa att den aven uppdaterar filen lastlog. Till exempel genom att: session kravs pam_lastlog.so nowtmp HISTORIK Detta su-kommando harstammar fran coreutils su, som baserades pa en implementation av David MacKenzie. Util-linux-versionen har omarbetats av Karel Zak. SE AVEN setpriv(1), login.defs(5), shells(5), pam(8), runuser(1) FELRAPPORTERING For felrapporter, anvand felhanteraren . TILLGANGLIGHET Kommandot su ingar i paketet util-linux som kan hamtas fran Linux Kernel Archive . util-linux 2.42.1 2026-05-18 SU(1)