Scroll to navigation

SU(1) Корисничке наредбе SU(1)

НАЗИВ

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

УВОД

su [options] [-] [user [argument...]]

ОПИС

su allows commands to be run with a substitute user and group ID.

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

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

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

su is mostly designed for unprivileged users, the recommended solution for privileged users (e.g., scripts executed by root) is to use non-set-user-ID command runuser(1) that does not require authentication and provides separate PAM configuration. If the PAM session is not required at all then the recommended solution is to use command 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

Start the shell as a login shell with an environment similar to a real login.

Note that on systemd-based systems, a new session may be defined as a real entry point to the system. However, su does not create a real session (by PAM) from this point of view. You need to use tools like systemd-run or machinectl to initiate a complete, real session.

su does:

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

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

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

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

-m, -p, --preserve-environment

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

-P, --pty

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

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

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

Run the specified shell instead of the default. If the target user has a restricted shell (i.e., not listed in /etc/shells), the --shell option and the SHELL environment variables are ignored unless the calling user is root.

The shell to run is selected according to the following rules, in order:

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

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

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

•/bin/sh

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

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

-T, --no-pty*

Do not create a pseudo-terminal, opposite of --pty and -P. Note that running without a pseudo-terminal opens the security risk of privilege escalation through TIOCSTI/TIOCLINUX ioctl command injection.

-w, --whitelist-environment=списак

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

-h, --help

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

-V, --version

Исписује издање и излази.

СИГНАЛИ

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

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

su reads the /etc/default/su and /etc/login.defs configuration files. The following configuration items are relevant for 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 normally returns the exit status of the command it executed. If the command was killed by a signal, su returns the number of the signal plus 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/>.

2024-10-01 util-linux 2.40.2