SU(1)

НАЗИВ
su - покреће наредбу са заменским корисником и ИД-ом групе

УВОД

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

ОПИС

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

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

Зарад повратне сагласности, su подразумева да не промени текући директоријум и да постави само променљиве окружења HOME и SHELL (плус USER и LOGNAME ако циљни корисник није администратор). Препоручује се да се увек користи опција --login (уместо њене скраћенице -) да би се избегли споредна дејства изазвана мешањем окружења.

Ово издање su користи PAM за управљање потврђивањем идентитета, налогом и сесијом. Неке опције подешавања нађене у другим su применама, као што је подршка за групу точка, треба да се подесе путем PAM-а.

su је углавном осмишљена за кориснике без привилегија, препоручено решење за привилеговане кориснике (нпр., скрипте које изврши администратор) је да користе „non-set-user-ID“ наредбу runuser(1) која не захтева потврђивање идентитета и обезбеђује засебно PAM подешавање. Ако PAM сесија није уопште потребна тада је препоручено решење да се користи наредба setpriv(1).

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

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

ОПЦИЈЕ

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

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

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

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

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

    Знајте да на systemd-заснованим системима, нова сесија се може дефинисати као тачка стварног уноса у систем. Међутим, su не ствара стварну сесију (PAM-ом) са те тачке гледишта. Треба да користите алате као што су systemd-run или machinectl да покренете потпуну, стварну сесију.

    su ради:

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

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

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

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

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

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

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

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

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

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

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

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

        • /bin/sh

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

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

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

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

-V, --version
    Исписује издање и излази.

СИГНАЛИ

Након што прими SIGINT, SIGQUIT или SIGTERM, su окончава свој пород и након тога окончава саму себе примљеним сигналом. Пород се окончава SIGTERM-ом, након неуспелог покушаја и 2 секунде застоја пород се убија SIGKILL-ом.

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

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

FAIL_DELAY (број)
    Застој у секундама у случају неуспеха потврђивања идентитета. Број мора бити не-негативан цео број.

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

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

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

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

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

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

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

ДАТОТЕКЕ

/etc/pam.d/su
    основна датотека ПАМ подешавања

/etc/pam.d/su-l
    датотека ПАМ подешавања ако је --login наведено

/etc/default/su
    наредби специфична „logindef“ датотека подешавања

/etc/login.defs
    општа датотека „logindef“ подешавања

БЕЛЕШКЕ

Из безбедносних разлога, su увек бележи неуспеле покушаје пријављивања у btmp датотеку, али уопште не пише у lastlog датотеку. Ово решење се може користити за контролу su понашања PAM подешавањем. Ако желите да користите pam_lastlog(8) модул да испишете поруку упозорења о неуспелим покушајима пријављивања тада pam_lastlog(8) треба да се подеси да такође освежи lastlog датотеку. На пример са:

    session required pam_lastlog.so nowtmp

ИСТОРИЈАТ

Ова su наредба је проистекла из su „coreutils“-а, која је заснована на примени од стране Дејвида Мек Кензија. Издање „util-linux“-а је поново обрађено од стране Карела Зака.

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

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

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

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

ДОСТУПНОСТ

Наредба su је део „util-linux“ пакета који се може преузети са