RUNUSER(1) | Команди користувача | RUNUSER(1) |
НАЗВА¶
runuser — запуск команди від імені іншого користувача та групи
КОРОТКИЙ ОПИС¶
runuser [параметри] -u користувач [[--] команда [аргумент...]]
runuser [параметри] [-] [користувач [аргумент...]]
ОПИС¶
runuser можна скористатися для запуску команд із підставлянням ідентифікаторів користувача і групи. Якщо не вказано параметр -u, runuser повертається до сумісної із su семантики і виконує командну оболонку. Відмінності між командами runuser і su полягають у тому, що runuser не питає про пароль (оскільки програму можна запустити лише від імені користувача root) і використовує інші налаштування PAM. Команду runuser не потрібно встановлювати з правами доступу set-user-ID.
Якщо сеанс 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
-P, --pty
Цю можливість, в основному, призначено для інтерактивних сеансів. Якщо стандартним джерелом вхідних даних є не термінал, а, наприклад, канал даних (приклад: echo "date" | runuser --pty -u користувач), прапорець ECHO для псевдотермінала буде вимкнено для того, щоб уникнути безладного виведення даних.
-m, -p, --preserve-environment
-s, --shell=оболонка
Якщо у користувача призначення командну оболонку обмежено (тобто її немає у списку /etc/shells), параметр --shell і змінні середовища SHELL буде проігноровано, якщо користувачем, який викликав програму, не є root.
--session-command=команда
-w, --whitelist-environment=список
-h, --help
-V, --version
ФАЙЛ НАЛАШТУВАНЬ¶
runuser читає файли налаштувань /etc/default/runuser і /etc/login.defs. runuser стосуються такі записи налаштувань:
ENV_PATH (рядок)
ENV_ROOTPATH (рядок), ENV_SUPATH (рядок)
ALWAYS_SET_PATH (булеве значення)
Значення змінної середовища PATH може бути різним у системах, де /bin і /sbin об'єднано у /usr. На цю змінну впливає також параметр командного рядка --login і параметри системи PAM (наприклад, pam_env(8)).
СТАН ВИХОДУ¶
runuser, зазвичай, повертає стан виходу виконаної команди. Якщо команду буде перервано сигналом, runuser поверне номер сигналу плюс 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 Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
ПЕРЕКЛАД¶
Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>
Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3. НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.
Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.
11 травня 2022 року | util-linux 2.38.1 |