SU(1) Anvandarkommandon SU(1) NAMN su - kor ett kommando med ersattande anvandar- och grupp-ID SYNOPSIS su [flaggor] [-] [anvandare|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 Skicka kommando till skalet med flaggan -c. Skapar en ny session via setsid(2). Se --session-command for att behalla samma 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. Alternativet ar bara tillgangligt for root-anvandaren. -G, --supp-group grupp Ange en kompletterande grupp. Alternativet ar bara 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. Observera att pa system baserade pa systemd(1) kan en ny session definieras som en verklig ingangspunkt till systemet. Ur det perspektivet skapar su ingen riktig session (via PAM). Anvand verktyg som systemd-run(1) eller machinectl(1) for att starta en fullstandig, riktig 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 Skapa en pseudoterminal for sessionen. Den oberoende terminalen ger battre sakerhet eftersom anvandaren inte delar terminal med den ursprungliga sessionen. Se sakerhetsraden om TIOCSTI-sarbarheten nedan. Hela sessionen kan ocksa flyttas till bakgrunden (t.ex. su --pty - anvandare -c program &). Om pseudoterminalen ar aktiverad fungerar su som en mellanhand mellan sessionerna (synkroniserar standard in och standard ut). 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 Samma som -c, men skapa inte en ny session. (Avrads.) Se sakerhetsraden om TIOCSTI-sarbarheten nedan. -T, --no-pty Skapa inte en pseudoterminal; motsatsen till --pty och -P. Se sakerhetsraden om TIOCSTI-sarbarheten nedan. -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 global logindef konfigurationsfil SAKERHETSANMARKNINGAR Om su delar terminal med den ursprungliga sessionen kan programmet vara sarbart for utokade privilegier genom kommandoinjektion via ioctl-anropen TIOCSTI/TIOCLINUX. Det finns tva inbyggda satt att forhindra detta: anvand su med flaggan -c, som startar en ny session via setsid(2) utan styrande terminal. Om anvandningsfallet kraver en styrande terminal, exempelvis en interaktiv session, kan du i stallet lata su anvanda en pseudoterminal med flaggan --pty eller -P. 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 required 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.4 2026-09-21 SU(1)