RUNUSER(1) Anvandarkommandon RUNUSER(1) NAMN runuser - kor ett kommando med ersattarens anvandar- och grupp-ID SYNOPSIS runuser [flaggor] -u anvandare [[--] kommando [argument...]] runuser [flaggor] [-] [anvandare [argument...]] BESKRIVNING runuser kan anvandas for att kora kommandon med ett ersattande anvandar- och grupp-ID. Om flaggan -u inte anges, faller runuser tillbaka till su-kompatibel semantik och ett skal kors. Skillnaden mellan kommandona runuser och su ar att runuser inte ber om nagot losenord (eftersom det endast far koras av root-anvandaren) och att det anvander en annan PAM-konfiguration. Kommandot runuser behover inte installeras med set-user-ID-behorigheter. Om PAM-sessionen inte behovs ar den rekommenderade losningen att anvanda kommandot setpriv(1). Nar runuser anropas utan argument ar standardinstallningen att ett interaktivt skal kors som root. Av bakatkompatibilitetsskal andrar runuser som standard inte den aktuella katalogen och anger endast miljovariablerna HOME och SHELL (plus USER och LOGNAME om malets anvandare inte ar root). Den har versionen av runuser anvander PAM for sessionshantering. Note that runuser in all cases use PAM (pam_getenvlist(3)) to do the final environment modification. Command-line options such as --login and --preserve-environment affect the environment before it is modified by PAM. Sedan version 2.38 aterstaller runuser 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 Den primara grupp som ska anvandas. Denna flagga ar endast tillatet 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: o clears all the environment variables except for TERM, COLORTERM, NO_COLOR and variables specified by --whitelist-environment o initierar miljovariablerna HOME, SHELL, USER, LOGNAME och PATH o andringar i malanvandarens hemkatalog o satter argv[0] i skalet till '-' for att gora skalet till ett inloggningsskal -m, -p, --preserve-environment Bevara hela miljon, d.v.s. ange inte HOME, SHELL, USER eller LOGNAME. Flaggan 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., runuser --pty -u user -- command &). If the pseudo-terminal is enabled, then runuser 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" | runuser --pty -u anvandare), inaktiveras flaggan ECHO for pseudoterminalen for att undvika rorig utmatning. -s, --shell=skal Kor det angivna skal i stallet for standardinstallningen. 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 Om malanvandaren har ett begransat skal (d.v.s. inte listat i /etc/shells) ignoreras flaggan --shell och miljovariablerna SHELL om inte den anropande anvandaren ar root. --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. -u, --user=anvandare Kor kommando med det effektiva anvandar-ID:t och grupp-ID:t for anvandarnamnet anvandare. -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. KONFIGURATIONSFILER runuser laser konfigurationsfilerna /etc/default/runuser och /etc/login.defs. Foljande konfigurationsobjekt ar relevanta for runuser: 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 runuser 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 runuser returnerar normalt utgangsstatusen for det kommando som kordes. Om kommandot dodades av en signal returnerar runuser signalens nummer plus 128. Avslutningsstatus genereras av runuser 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/runuser standardkonfigurationsfil for PAM /etc/pam.d/runuser-l PAM-konfigurationsfil om --login anges /etc/default/runuser runuser-specifik logindef-konfigurationsfil /etc/login.defs _/etc/login.defs global logindef konfigurationsfil SECURITY NOTES If runuser 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 runuser 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 runuser to use a pseudo terminal with the --pty or -P option. HISTORIK Detta runuser-kommando harstammar fran coreutils su, som baserades pa en implementering av David MacKenzie, och Fedora runuser-kommandot av Dan Walsh. SE AVEN setpriv(1), su(1), login.defs(5), shells(5), pam(8) FELRAPPORTERING For felrapporter, anvand felhanteraren . TILLGANGLIGHET Kommandot runuser ingar i paketet util-linux som kan hamtas fran Linux Kernel Archive . util-linux 2.42.1 2026-05-18 RUNUSER(1)