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 command

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

-f, --fast

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

-g, --group group

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

-G, --supp-group group

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

-, -l, --login

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

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

su ради:

•чисти све променљиве окружења изузев TERM и променљиве које наводи опција --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. This can be used to avoid TIOCSTI ioctl terminal injection and other security attacks against terminal file descriptors. The entire session can also be moved to the background (e.g., su --pty - user -c application &). If the pseudo-terminal is enabled, then su works as a proxy between the sessions (sync stdin and stdout).

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

-s, --shell shell

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

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

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

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

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

•/bin/sh

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

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

-T, --no-pty*

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

-w, --whitelist-environment list

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

-h, --help

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

-V, --version

Display version and exit.

СИГНАЛИ

Након што прими 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)

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

For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>.

ДОСТУПНОСТ

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

2025-03-06 util-linux 2.41-rc2