su(1)

Från Wiki.linux.se
Version från den 31 augusti 2025 kl. 16.40 av Admin (diskussion | bidrag) (Skapade sidan med '= su(1) = == NAMN == su — kör kommando som annan användare/grupp (substituerad identitet) == SYNOPS == <pre> su [flaggor] [-] [user [argument ...]] </pre> == BESKRIVNING == '''su''' byter till annan användare/grupp och kör skal (eller angivet kommando). Utan ''user'' startas ett interaktivt skal som '''root'''. Av kompatibilitetsskäl byter den normalt inte katalog och sätter bara vissa miljövariabler – använd helst '''--login''' (eller kortformen '''-''')...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

su(1)

NAMN

su — kör kommando som annan användare/grupp (substituerad identitet)

SYNOPS

su [flaggor] [-] [user [argument ...]]

BESKRIVNING

su byter till annan användare/grupp och kör skal (eller angivet kommando). Utan user startas ett interaktivt skal som root. Av kompatibilitetsskäl byter den normalt inte katalog och sätter bara vissa miljövariabler – använd helst --login (eller kortformen -) för ett rent inloggningsskal.

Denna version använder PAM för autentisering/konto/session. För skript som redan körs som root rekommenderas runuser(1) eller, om PAM-session inte behövs, setpriv(1).

Observera att su först applicerar dina flaggor (t.ex. --login/--preserve-environment) och därefter låter PAM justera miljön. Sedan v2.38 nollställer su vissa resursgränser (RLIMIT_NICE/RTPRIO/FSIZE/AS/NOFILE).

FLAGGOR

Flagga Betydelse
-c cmd, --command= Kör cmd via skalets -c.
-f, --fast Vidarebefordra -f till skalet (skalberoende nytta).
-g grp, --group= Primär grupp (endast root).
-G grp, --supp-group= Extra (supplementär) grupp; första blir primär om --group saknas (endast root).
-, -l, --login ”Rent” inloggningsskal: rensar miljön (utom TERM + ev. vitlista), sätter HOME/SHELL/USER/LOGNAME/PATH, byter till hemkatalog, sätter argv[0] till ”-”.
-m, -p, --preserve-environment Behåll hela miljön (ignoreras om --login används).
-P, --pty Kör via pseudoterminal (bättre isolering; motverkar TIOCSTI m.m.). Passar interaktivt bruk; eko stängs av om stdin är rör/pipe.
-s shell, --shell= Kör angivet skal. Ignoreras för begränsat skal (ej i /etc/shells) om inte anroparen är root. Urval: flagga → (om --preserve-environment) $SHELL → måluserns skal → /bin/sh.
--session-command= Som -c men utan ny session (avråds).
-T, --no-pty Tvinga bort PTY (mindre säkert; risk för TIOCSTI).
-w lista, --whitelist-environment= Komma-separerad lista av variabler som bevaras trots --login (gäller inte HOME/SHELL/USER/LOGNAME/PATH).
-h, --help Hjälptext.
-V, --version Versionsinfo.

SIGNALER

Vid SIGINT, SIGQUIT eller SIGTERM terminerar su först barnet med SIGTERM (och efter ~2 s med SIGKILL vid behov), och avslutar sedan självt med mottagen signal.

KONFIGURATION

su läser /etc/default/su och /etc/login.defs:

  • FAIL_DELAY (sek): fördröjning vid misslyckad inloggning.
  • ENV_PATH: PATH för vanliga användare (standard /usr/local/bin:/bin:/usr/bin).
  • ENV_ROOTPATH / ENV_SUPATH: PATH för root (ENV_SUPATH vinner; standard /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin).
  • ALWAYS_SET_PATH (yes/no): om --login och --preserve-environment inte används, initiera PATH ändå. Tänk på att PATH även kan påverkas av PAM (t.ex. pam_env) och systemets kataloglayout.

RETURKODER

  • Normalt: returvärdet från körd process (om den dödas av signal → 128 + signalnummer).
  • Från su själv: 1 (generiskt fel), 126 (kunde inte köra), 127 (kommando saknas).

FILER

  • /etc/pam.d/su – PAM för standard
  • /etc/pam.d/su-l – PAM när --login används
  • /etc/default/su – verktygsspecifika inställningar
  • /etc/login.defs – globala inloggningsinställningar

NOTISER

Misslyckade su-försök loggas alltid till btmp; lastlog uppdateras inte automatiskt. Vill du visa varningar via pam_lastlog(8) vid su så konfigurera modulen att även uppdatera lastlog (t.ex. session required pam_lastlog.so nowtmp).

HISTORIK

Denna su härstammar från coreutils’ su (David MacKenzie); util-linux-varianten har refaktoriserats av Karel Zak.

SE ÄVEN

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

TILLGÄNGLIGHET

su ingår i paketet util-linux (finns på kernel.org).


Sidslut

Orginalhemsidan på Engelska : https://www.man7.org/linux/man-pages/man1/su.1.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.