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 за управљање сесијом.

Знајте да runuser у свим случајевима користи PAM (pam_getenvlist()) да одради крајњу измену окружења. Опције линије наредби --login и --preserve-environment утичу на окружење пре него ли се измени са PAM-ом.

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

ОПЦИЈЕ

-c, --command=наредба
    Прослеђује наредбу шкољци опцијом -c.

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

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

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

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

        • чисти све променљиве окружења изузев за TERM и променљиве које наводи опција --whitelist-environment

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

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

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

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

-P, --pty
    Ствара псеудо-терминал за сесију. Независни терминал пружа бољу безбедност јер корисник не дели терминал са оригиналном сесијом. Ово се може користити да се избегну убризгавање „TIOCSTI ioctl“ терминала и други безбедносни напади на описнике датотека терминала. Цела сесија се такође може преместити у позадину (нпр. runuser --pty -u корисник -- наредба &). Ако је псеудотерминал укључен, тада runuser ради као посредник између сесија (усклађује стандардни улаз и стандардни излаз).

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

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

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

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

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

        • /bin/sh

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

--session-command=наредба
    Исто као -c, али не прави нову сесију. (Не препоручује се.)

-T, --no-pty
    Не ствара привидни терминал, супротно од --pty и -P. Знајте да рад без привидног терминала отвара безбедносни ризик ескалације привилегије кроз убацивање наредбе „TIOCSTI/TIOCLINUX ioctl“.

-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“ подешавања

ИСТОРИЈАТ

Ова 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“ пакета који се може преузети са