'\" t .\" Title: su .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-09-21 .\" Manual: Användarkommandon .\" Source: util-linux 2.42.4 .\" Language: English .\" .TH "SU" "1" "2026-09-21" "util\-linux 2.42.4" "Användarkommandon" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NAMN" su \- kör ett kommando med ersättande användar\- och grupp\-ID .SH "SYNOPSIS" .sp \fBsu\fP [flaggor] [\fB\-\fP] [\fIanvändare\fP|\fIUID\fP [\fIargument\fP.\|.\|.]] .SH "BESKRIVNING" .sp \fBsu\fP gör att kommandon kan köras med ett ersättande användar\- och grupp\-ID. .sp När \fBsu\fP anropas utan att \fIanvändare\fP har angetts körs ett interaktivt skal som standard som \fIroot\fP. När \fIanvändare\fP har angetts kan ytterligare \fIargument\fP anges, och i så fall skickas de till skalet. .sp För bakåtkompatibilitet är \fBsu\fP standardinställningen att inte ändra den aktuella katalogen och att endast ställa in miljövariablerna \fBHOME\fP och \fBSHELL\fP (plus \fBUSER\fP och \fBLOGNAME\fP om målets \fIanvändare\fP inte är root). Det rekommenderas att alltid använda flaggan \fB\-\-login\fP (i stället för dess genväg \fB\-\fP) för att undvika biverkningar som orsakas av blandade miljöer. .sp Den här versionen av \fBsu\fP använder PAM för autentisering, konto\- och sessionshantering. Vissa konfigurationsflaggor som finns i andra \fBsu\fP\-implementationer, t.ex. stöd för en wheel\-grupp, måste konfigureras via PAM. .sp \fBsu\fP är främst avsett för icke\-privilegierade användare, och den rekommenderade lösningen för privilegierade användare (t.ex. skript som körs av root) är att använda kommandot \fBrunuser\fP(1), som inte kräver autentisering och ger separat PAM\-konfiguration. Om PAM\-sessionen inte krävs alls är den rekommenderade lösningen att använda kommandot \fBsetpriv\fP(1). .sp Observera att \fBsu\fP i samtliga fall använder PAM (\fBpam_getenvlist\fP(3)) för att göra den slutliga miljömodifieringen. Kommandoradsflaggor som \fB\-\-login\fP och \fB\-\-preserve\-environment\fP påverkar miljön innan den modifieras av PAM. .sp Sedan version 2.38 återställer \fBsu\fP processresursgränserna RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS och RLIMIT_NOFILE. .SH "FLAGGOR" .sp \fB\-c\fP, \fB\-\-command\fP \fIkommando\fP .RS 4 Skicka \fIkommando\fP till skalet med flaggan \fB\-c\fP. Skapar en ny session via \fBsetsid\fP(2). Se \fB\-\-session\-command\fP för att behålla samma session. .RE .sp \fB\-f\fP, \fB\-\-fast\fP .RS 4 Skicka \fB\-f\fP till skalet, vilket kan vara användbart eller inte beroende på vilket skal det är. .RE .sp \fB\-g\fP, \fB\-\-group\fP \fIgrupp\fP .RS 4 Ange den primära gruppen. Alternativet är bara tillgängligt för root\-användaren. .RE .sp \fB\-G\fP, \fB\-\-supp\-group\fP \fIgrupp\fP .RS 4 Ange en kompletterande grupp. Alternativet är bara tillgängligt för root\-användaren. Den första angivna tilläggsgruppen används också som primärgrupp om flaggan \fB\-\-group\fP inte anges. .RE .sp \fB\-\fP, \fB\-l\fP, \fB\-\-login\fP .RS 4 Starta skalet som ett inloggningsskal med en miljö som liknar en riktig inloggning. .sp Observera att på system baserade på \fBsystemd\fP(1) kan en ny session definieras som en verklig ingångspunkt till systemet. Ur det perspektivet skapar \fBsu\fP ingen riktig session (via PAM). Använd verktyg som \fBsystemd\-run\fP(1) eller \fBmachinectl\fP(1) för att starta en fullständig, riktig session. .sp \fBsu\fP gör det: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} clear all the environment variables except \fBTERM\fP, \fBCOLORTERM\fP, \fBNO_COLOR\fP and variables specified by \fB\-\-whitelist\-environment\fP .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} initialize the environment variables \fBHOME\fP, \fBSHELL\fP, \fBUSER\fP, \fBLOGNAME\fP, and \fBPATH\fP .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} change to the target user\(cqs home directory .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} set argv[0] of the shell to \*(Aq\fB\-\fP\*(Aq in order to make the shell a login shell .RE .RE .sp \fB\-m\fP, \fB\-p\fP, \fB\-\-preserve\-environment\fP .RS 4 Bevara hela miljön, d.v.s. ange inte \fBHOME\fP, \fBSHELL\fP, \fBUSER\fP eller \fBLOGNAME\fP. Denna flagga ignoreras om flaggan \fB\-\-login\fP har angetts. .RE .sp \fB\-P\fP, \fB\-\-pty\fP .RS 4 Skapa en pseudoterminal för sessionen. Den oberoende terminalen ger bättre säkerhet eftersom användaren inte delar terminal med den ursprungliga sessionen. Se säkerhetsråden om TIOCSTI\-sårbarheten nedan. .sp Hela sessionen kan också flyttas till bakgrunden (t.ex. \fBsu \-\-pty\fP \fB\-\fP \fIanvändare\fP \fB\-c\fP \fIprogram\fP \fB&\fP). Om pseudoterminalen är aktiverad fungerar \fBsu\fP som en mellanhand mellan sessionerna (synkroniserar standard in och standard ut). .sp Den här funktionen är främst avsedd för interaktiva sessioner. Om standardinmatningen inte är en terminal, utan t.ex. en pipe (t.ex. \fBecho "date" | su \-\-pty\fP), inaktiveras flaggan \fBECHO\fP för pseudoterminalen för att undvika röriga utdata. .RE .sp \fB\-s\fP, \fB\-\-shell\fP \fIskal\fP .RS 4 Kör det angivna \fIskal\fP i stället för standardinställningen. Om målanvändaren har ett begränsat skal (dvs. inte listat i \fI/etc/shells\fP) ignoreras flaggan \fB\-\-shell\fP och miljövariablerna \fBSHELL\fP om inte den anropande användaren är root. .sp Det skal som ska köras väljs enligt följande regler, i tur och ordning: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} det skal som anges med \fB\-\-shell\fP .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} det skal som anges i miljövariabeln \fBSHELL\fP, om flaggan \fB\-\-preserve\-environment\fP används .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} det shell som anges i passwd\-posten för målanvändaren .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} /bin/sh .RE .RE .sp \fB\-\-session\-command=\fP\fIkommando\fP .RS 4 Samma som \fB\-c\fP, men skapa inte en ny session. (Avråds.) Se säkerhetsråden om TIOCSTI\-sårbarheten nedan. .RE .sp \fB\-T\fP, \fB\-\-no\-pty\fP .RS 4 Skapa inte en pseudoterminal; motsatsen till \fB\-\-pty\fP och \fB\-P\fP. Se säkerhetsråden om TIOCSTI\-sårbarheten nedan. .RE .sp \fB\-w\fP, \fB\-\-whitelist\-environment\fP \fIlista\fP .RS 4 Återställ inte de miljövariabler som anges i den kommaseparerade \fIlista\fP när du rensar miljön för \fB\-\-login\fP. Vitlistan ignoreras för miljövariablerna \fBHOME\fP, \fBSHELL\fP, \fBUSER\fP, \fBLOGNAME\fP och \fBPATH\fP. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Visa hjälptext och avsluta. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Visa version och avsluta. .RE .SH "SIGNALER" .sp Efter att ha mottagit antingen \fBSIGINT\fP, \fBSIGQUIT\fP eller \fBSIGTERM\fP avslutar \fBsu\fP sitt barn och avslutar därefter sig själv med den mottagna signalen. Barnet avslutas med \fBSIGTERM\fP, efter ett misslyckat försök och 2 sekunders fördröjning dödas barnet med \fBSIGKILL\fP. .SH "KONFIGURATIONSFILER" .sp \fBsu\fP läser konfigurationsfilerna \fI/etc/default/su\fP och \fI/etc/login.defs\fP. Följande konfigurationsobjekt är relevanta för \fBsu\fP: .sp \fBFAIL_DELAY\fP (nummer) .RS 4 Fördröjning i sekunder om autentiseringen misslyckas. Talet måste vara ett icke\-negativt heltal. .RE .sp \fBENV_PATH\fP (sträng) .RS 4 Definierar miljövariabeln \fBPATH\fP för en vanlig användare. Standardvärdet är \fI/usr/local/bin:/bin:/usr/bin\fP. .RE .sp \fBENV_ROOTPATH\fP (sträng), \fBENV_SUPATH\fP (sträng) .RS 4 Definierar miljövariabeln \fBPATH\fP för root. \fBENV_SUPATH\fP har företräde. Standardvärdet är \fI/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\fP. .RE .sp \fBALWAYS_SET_PATH\fP (boolean) .RS 4 Om värdet är \fIyes\fP och \fB\-\-login\fP och \fB\-\-preserve\-environment\fP inte har angetts initierar \fBsu\fP \fBPATH\fP. .sp Miljövariabeln \fBPATH\fP kan vara annorlunda på system där \fI/bin\fP och \fI/sbin\fP är sammanslagna till \fI/usr\fP; denna variabel påverkas också av kommandoradsflaggan \fB\-\-login\fP och PAM\-systeminställningen (t.ex. \fBpam_env\fP(8)). .RE .SH "AVSLUTSSTATUS" .sp \fBsu\fP returnerar normalt utgångsstatusen för det kommando som det utförde. Om kommandot stoppades av en signal returnerar \fBsu\fP signalens nummer plus 128. .sp Exitstatus genereras av \fBsu\fP själv: .sp 1 .RS 4 Generiskt fel innan det begärda kommandot utfördes .RE .sp 126 .RS 4 Det begärda kommandot kunde inte utföras .RE .sp 127 .RS 4 Det begärda kommandot hittades inte .RE .SH "FILER" .sp \fI/etc/pam.d/su\fP .RS 4 standardkonfigurationsfil för PAM .RE .sp \fI/etc/pam.d/su\-l\fP .RS 4 PAM\-konfigurationsfil om \fB\-\-login\fP anges .RE .sp \fI/etc/default/su\fP .RS 4 kommandospecifik logindef\-konfigurationsfil .RE .sp \fI/etc/login.defs\fP .RS 4 global logindef konfigurationsfil .RE .SH "SÄKERHETSANMÄRKNINGAR" .sp Om \fBsu\fP delar terminal med den ursprungliga sessionen kan programmet vara sårbart för utökade privilegier genom kommandoinjektion via ioctl\-anropen TIOCSTI/TIOCLINUX. Det finns två inbyggda sätt att förhindra detta: använd \fBsu\fP med flaggan \fB\-c\fP, som startar en ny session via \fBsetsid\fP(2) utan styrande terminal. Om användningsfallet kräver en styrande terminal, exempelvis en interaktiv session, kan du i stället låta \fBsu\fP använda en pseudoterminal med flaggan \fB\-\-pty\fP eller \fB\-P\fP. .sp Av säkerhetsskäl loggar \fBsu\fP alltid misslyckade inloggningsförsök till filen \fIbtmp\fP, men den skriver inte alls till filen \fIlastlog\fP. Den här lösningen kan användas för att kontrollera \fBsu\fP beteende genom PAM\-konfiguration. Om du vill använda modulen \fBpam_lastlog\fP(8) för att skriva ut varningsmeddelanden om misslyckade inloggningsförsök måste \fBpam_lastlog\fP(8) konfigureras så att den även uppdaterar filen \fIlastlog\fP. Till exempel genom att: .RS 3 .ll -.6i .sp session required pam_lastlog.so nowtmp .br .RE .ll .SH "HISTORIK" .sp Detta \fBsu\fP\-kommando härstammar från coreutils \fBsu\fP, som baserades på en implementation av David MacKenzie. Util\-linux\-versionen har omarbetats av Karel Zak. .SH "SE ÄVEN" .sp \fBsetpriv\fP(1), \fBlogin.defs\fP(5), \fBshells\fP(5), \fBpam\fP(8), \fBrunuser\fP(1) .SH "FELRAPPORTERING" .sp För felrapporter, använd \c .URL "https://github.com/util\-linux/util\-linux/issues" "felhanteraren" "." .SH "TILLGÄNGLIGHET" .sp Kommandot \fBsu\fP ingår i paketet util\-linux som kan hämtas från \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Linux Kernel Archive" "."