Scroll to navigation

RUNUSER(1) Корисничке наредбе RUNUSER(1)

НАЗИВ

runuser - покреће наредбу са заменским корисником и ИД-ом групе

УВОД

runuser [опције] -u корисник [[--] наредба [аргумент...]]

runuser [опције] [-] [корисник [аргумент...]]

ОПИС

runuser се може користити за покретање наредби са заменским ИД-ом корисника и групе. Ако опција -u није дата, runuser се пребацује на su-сагласну семантику а шкољка се извршава. Разлика између наредби runuser и su је та да runuser не тражи лозинку (јер је може извршити само администратор) и користи другачије PAM подешавање. Наредба runuser не мора бити инсталирана са овлашћењима „постави-ИД-корисника“.

Ако ПАМ сесија није захтевана, тада је препоручљиво решење коришћење наредбе setpriv(1).

Када је позвана без аргумената, runuser подразумева покретање међудејствене шкољке као администратор.

За повратну сагласност, runuser подразумева да не мења текући директоријум и да постави само променљиве окружења HOME и SHELL (плус USER и LOGNAME ако циљни корисник није администратор). Ово издање runuser користи PAM за управљање сесијом.

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.

Од издања 2.38 runuser поново поставља ограничења изворишта процеса RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS и RLIMIT_NOFILE.

ОПЦИЈЕ

-c, --command=наредба

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

Прослеђује -f шкољци, што може или не мора бити корисно, у зависности од шкољке.

-g, --group=група

Примарна група за коришћење. Ова опција је допуштена само за администраторе.

-G, --supp-group=група

Наводи додатну групу. Ова опција је доступна само администратору. Прва наведена додатна група се такође користи као примарна група ако опција --group није наведена.

-, -l, --login

Покреће шкољку као пријавну шкољку са окружењем сличном стварном пријављивању:

•clears all the environment variables except for TERM, COLORTERM, NO_COLOR and variables specified by --whitelist-environment

•покреће променљиве окружења ЛИЧНА, ШКОЉКА, КОРИСНИК, ПРИЈАВНО-ИМЕ, и ПУТАЊА

•прелази у циљни кориснички лични директоријум

•поставља „argv[0]“ шкољке на - да би шкољку учинио пријавном шкољком

-m, -p, --preserve-environment

Очувава читаво окружење, тј. не поставља ЛИЧНА, ШКОЉКА, КОРИСНИК или ПРИЈАВНО-ИМЕ. Опција се занемарује ако је опција --login наведена.

-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).

Ова функција је углавном осмишљена за међудејствене сесије. Ако стандардни улаз није терминал, већ на пример спојка (нпр., echo "датум" | runuser --pty -u корисник), тада је заставица ECHO за псеудотерминал искључена да би се избегао неуредан излаз.

-s, --shell=шкољка

Покреће наведену шкољку уместо основне. Шкољка за покретање се бира у складу са следећим правилима, овим редом:

•шкољка наведена опцијом --shell

•шкољка наведена у променљивој окружења ШКОЉКА ако се користи опција --preserve-environment

•шкољка која се налази на списку уноса лозинке крајњег корисника

•/bin/sh

Ако циљни корисник има ограничену шкољку (тј. није на списку у /etc/shells), тада се опција --shell и променљиве окружења ШКОЉКА занемарују осим ако корисник позивар није администратор.

--session-command=наредба

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=корисник

Извршава наредбу са стварним ИД-ом корисника и ИД-ом групе корисника под именом корисник.

-w, --whitelist-environment=списак

Не поставља поново променљиве окружења наведене на зарезом раздвојеном списку приликом чишћења окружења за --login. Празан списак се занемарује за променљиве окружења ЛИЧНА, ШКОЉКА, КОРИСНИК, ПРИЈАВНО-ИМЕ и ПУТАЊА.

-h, --help

Приказује текст помоћи и излази.

-V, --version

Исписује издање и излази.

ДАТОТЕКЕ ПОДЕШАВАЊА

runuser чита /etc/default/runuser и /etc/login.defs датотеке подешавања. Следеће ставке подешавања су значајне за runuser:

ENV_PATH (ниска)

Дефинише променљиве окружења „ПУТАЊА“ за обичног корисника. Основна вредност је /usr/local/bin:/bin:/usr/bin.

ENV_ROOTPATH (ниска), ENV_SUPATH (ниска)

Дефинише променљиве окружења ПУТАЊА за корисника администратора. ENV_SUPATH има предност. Основна вредност је /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

ALWAYS_SET_PATH (логичка)

Ако је постављено на yes и --login и --preserve-environment нису наведене runuser покреће ПУТАЊУ.

Променљива окружења ПУТАЊА може бити другачија на системима где су /bin и /sbin спојене у /usr; на ову променљиву такође утиче --login опција линије наредби и ПАМ системска поставка (нпр., pam_env(8)).

ИЗЛАЗНО СТАЊЕ

runuser обично даје излазно стање наредбе коју извршава. Ако је наредба убијена сигналом, runuser резултира бројем сигнала плус 128.

Излазно стање које ствара сама runuser:

1

Општа грешка пре извршавања захтеване наредбе

126

Захтевана наредба се не може извршити

127

Захтевана наредба није нађена

ДАТОТЕКЕ

/etc/pam.d/runuser

основна датотека ПАМ подешавања

/etc/pam.d/runuser-l

датотека ПАМ подешавања ако је --login наведено

/etc/default/runuser

„runuser“-у специфична датотека подешавања дефиниција пријављивања

/etc/login.defs

општа датотека „logindef“ подешавања

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.

ИСТОРИЈАТ

Ова runuser наредба је проистекла из su „coreutils“-а, која је заснована на примени од стране Дејвида Мек Кензија, и Федорине runuser наредбе од стране Дан Валша.

ПОГЛЕДАЈТЕ ТАКОЂЕ

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

ПРИЈАВЉИВАЊЕ ГРЕШАКА

За пријављивање грешака, користите „https://github.com/util-linux/util-linux/issues[issue tracker]“.

ДОСТУПНОСТ

Наредба runuser је део „util-linux“ пакета који се може преузети са Архиве Линукс кернела <https://www.kernel.org/pub/linux/utils/util-linux/>.

2026-02-28 util-linux 2.42-rc1