Scroll to navigation

SU(1) Корисничке наредбе 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

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

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

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

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

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

-m, -p, --preserve-environment

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

-P, --pty

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

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

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

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

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

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

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

•/bin/sh

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

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

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

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

ДОСТУПНОСТ

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

2023-07-24 util-linux 2.39.1