RUNUSER(1) | Команди користувача | RUNUSER(1) |
НАЗВА¶
runuser - запуск команди від імені іншого користувача та групи
КОРОТКИЙ ОПИС¶
runuser [options] -u user [[--] command [argument...]]
runuser [options] [-] [user [argument...]]
ОПИС¶
runuser can be used to run commands with a substitute user and group ID. If the option -u is not given, runuser falls back to su-compatible semantics and a shell is executed. The difference between the commands runuser and su is that runuser does not ask for a password (because it may be executed by the root user only) and it uses a different PAM configuration. The command runuser does not have to be installed with set-user-ID permissions.
Якщо сеанс PAM не є обов’язковим, рекомендованим рішенням є використання команди setpriv(1).
Якщо викликано без аргументів, типово, runuser буде запущено інтерактивну командну оболонку від імені root.
З метою забезпечення зворотної сумісності runuser, типово, не змінює поточного каталогу і встановлює лише змінні середовища HOME і SHELL (і USER та LOGNAME, якщо користувачем користувач не є root). У цій версії runuser для керування сеансом використано PAM.
Зауважте, що runuser в усіх випадках використовує PAM (pam_getenvlist()) для виконання остаточної модифікації середовища. Параметри командного рядка, зокрема --login і --preserve-environment застосовуються до середовища, перш ніж його буде змінено PAM.
Починаючи з версії 2.38, runuser скидає обмеження на ресурси процесу RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS і RLIMIT_NOFILE.
ПАРАМЕТРИ¶
-c, --command=команда
-f, --fast
-g, --group=група
-G, --supp-group=група
-, -l, --login
-m, -p, --preserve-environment
-P, --pty
Цю можливість, в основному, призначено для інтерактивних сеансів. Якщо стандартним джерелом вхідних даних є не термінал, а, наприклад, канал даних (приклад: echo "date" | runuser --pty -u користувач), прапорець ECHO для псевдотермінала буде вимкнено для того, щоб уникнути безладного виведення даних.
-s, --shell=оболонка
Якщо у користувача призначення командну оболонку обмежено (тобто її немає у списку /etc/shells), параметр --shell і змінні середовища SHELL буде проігноровано, якщо користувачем, який викликав програму, не є root.
--session-command=команда
-T, --no-pty*
-w, --whitelist-environment=_список>
-h, --help
-V, --version
ФАЙЛ НАЛАШТУВАНЬ¶
runuser reads the /etc/default/runuser and /etc/login.defs configuration files. The following configuration items are relevant for runuser:
ENV_PATH (рядок)
ENV_ROOTPATH (рядок), ENV_SUPATH (рядок)
ALWAYS_SET_PATH (булеве значення)
Значення змінної середовища PATH може бути різним у системах, де /bin і /sbin об’єднано у /usr. На цю змінну впливає також параметр командного рядка --login і параметри системи PAM (наприклад, pam_env(8)).
СТАН ВИХОДУ¶
runuser normally returns the exit status of the command it executed. If the command was killed by a signal, runuser returns the number of the signal plus 128.
Стан виходу, який створено самим runuser:
1
126
127
ФАЙЛИ¶
/etc/pam.d/runuser
/etc/pam.d/runuser-l
/etc/default/runuser
/etc/login.defs
ЖУРНАЛ¶
Ця команда runuser походить з su у coreutils, яку було засновано на реалізації David MacKenzie, і команди Fedora runuser, автором якої є Dan Walsh.
ТАКОЖ ПЕРЕГЛЯНЬТЕ¶
setpriv(1), su(1), login.defs(5), shells(5), pam(8)
ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ¶
Для звітування щодо вад скористайтеся системою стеження за вадами - <https://github.com/util-linux/util-linux/issues>.
ДОСТУП ДО ПРОГРАМИ¶
Програма runuser є частиною пакунка util-linux, який можна отримати з архіву ядра Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.
2024-12-06 | util-linux 2.40.2 |