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“-а је поново обрађено од стране Карела Зака.
За пријављивање грешака, користите пратиоца грешака на <https://github.com/util-linux/util-linux/issues>.
Наредба su је део пакета „util-linux“ који се може преузети са Архиве Линукс кернела <https://www.kernel.org/pub/linux/utils/util-linux/>.