Man page - runuser(1)
Packages contains this manual
- getopt(1)
- x86_64(8)
- zramctl(8)
- findfs(8)
- blockdev(8)
- ipcmk(1)
- linux64(8)
- ldattach(8)
- findmnt(8)
- unshare(1)
- uclampset(1)
- partx(8)
- lscpu(1)
- flock(1)
- fallocate(1)
- setterm(1)
- terminal-colors.d(5)
- setsid(1)
- setarch(8)
- lsns(8)
- adjtime_config(5)
- chcpu(8)
- runuser(1)
- rtcwake(8)
- rev(1)
- lsipc(1)
- blkdiscard(8)
- nsenter(1)
- whereis(1)
- dmesg(1)
- fsck(8)
- blkid(8)
- ipcs(1)
- mcookie(1)
- lsblk(8)
- readprofile(8)
- switch_root(8)
- wdctl(8)
- mountpoint(1)
- lsmem(1)
- fsfreeze(8)
- i386(8)
- pivot_root(8)
- swaplabel(8)
- scols-filter(5)
- getty(8)
- chmem(8)
- chrt(1)
- agetty(8)
- blkzone(8)
- more(1)
- choom(1)
- mkswap(8)
- wipefs(8)
- taskset(1)
- lslocks(8)
- linux32(8)
- ionice(1)
- isosize(8)
- su(1)
- rename.ul(1)
- prlimit(1)
- namei(1)
- lslogins(1)
- ipcrm(1)
- fstrim(8)
- mkfs(8)
- hardlink(1)
- sulogin(8)
- setpriv(1)
apt-get install util-linux
Available languages:
en fr pl uk ro sr deManual
RUNUSER
НАЗВАКОРОТКИЙ ОПИС
ОПИС
ПАРАМЕТРИ
ФАЙЛ НАЛАШТУВАНЬ
СТАН ВИХОДУ
ФАЙЛИ
ЖУРНАЛ
ТАКОЖ ПЕРЕГЛЯНЬТЕ
ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ
ДОСТУП ДО ПРОГРАМИ
НАЗВА
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 = команда
Передати команду командній оболонці за допомогою параметра -c .
-f , --fast
Передати оболонці -f , може бути як корисним, так і недоречним, залежно від оболонки.
-g , --group = група
Основна група, яку слід використати. Цей параметр можна використовувати лише від імені користувача root.
-G , --supp-group = група
Визначити додаткову групу. Цей параметр доступний лише користувачу root. Першу вказану додаткову групу також буде використано як основну групу, якщо не вказано параметр --group .
- , -l , --login
Запустити командну оболонку як оболонку входу до системи із середовищем, подібним для звичайної оболонки для входу:
• очищає усі змінні середовища, окрім TERM і змінних, які вказано --whitelist-environment
• ініціалізує змінні середовища HOME , SHELL , USER , LOGNAME і PATH
• змінює домашній каталог користувача призначення
• встановлює для argv[0] командної оболонки значення « - » з метою зробити оболонку оболонкою входу до системи
-m , -p , --preserve-environment
Зберегти усе середовище, тобто не встановлювати значення HOME , SHELL , USER та LOGNAME . Цей параметр буде проігноровано, якщо вказано параметр --login .
-P , --pty
Створити псевдотермінал для сеансу Незалежний термінал надає кращий захист, оскільки користувач не використовує спільний термінал із початковим сеансом. Цим можна скористатися для запобігання втручанню у керування введенням-виведення термінала TIOCSTI та іншим атакам на дескриптори файлів термінала. Також можна перемкнути увесь сеанс у фоновий режим (наприклад, runuser --pty -u користувач -- команда & ). Якщо увімкнено псевдотермінал, runuser працює як проксі-сервер між сеансами (синхронізує stdin і stdout).
Цю можливість, в основному, призначено для інтерактивних сеансів. Якщо стандартним джерелом вхідних даних є не термінал, а, наприклад, канал даних (приклад: echo "date" | runuser --pty -u користувач ), прапорець ECHO для псевдотермінала буде вимкнено для того, щоб уникнути безладного виведення даних.
-s , --shell = оболонка
Запустити вказану командну оболонку замість типової. Запущену оболонку буде вибрано за такими правилами, за порядком:
• командна оболонка, яку вказано за допомогою --shell .
• командна оболонка, яку вказано у змінній середовища SHELL , якщо використано параметр --preserve-environment
• командна оболонка зі списку у запису passwd користувача призначення
• /bin/sh
Якщо у користувача призначення командну оболонку обмежено (тобто її немає у списку /etc/shells ), параметр --shell і змінні середовища SHELL буде проігноровано, якщо користувачем, який викликав програму, не є root.
--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.
-u , --user = користувач
Run command with the effective user ID and group ID of the user name user .
-w , --whitelist-environment =_список>
Не відновлювати початкові значення змінних середовища, який вказано у списку відокремлених комами значень список при очищенні середовища для --login . «Білий» список буде проігноровано для змінних середовища HOME , SHELL , USER , LOGNAME і PATH .
-h , --help
Вивести текст довідки і завершити роботу.
-V , --version
Показати дані щодо версії і завершити роботу.
ФАЙЛ НАЛАШТУВАНЬ
runuser читає файли налаштувань /etc/default/runuser і /etc/login.defs . runuser стосуються такі записи налаштувань:
ENV_PATH (рядок)
Визначає змінну середовища PATH для звичайного користувача Типовим значенням є /usr/local/bin:/bin:/usr/bin .
ENV_ROOTPATH (рядок), ENV_SUPATH (рядок)
Визначає змінну середовища PATH для root. ENV_SUPATH має пріоритет. Типовим значенням є /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin .
ALWAYS_SET_PATH (булеве значення)
Якщо встановлено значення yes і не вказано параметрів --login і --preserve-environment , runuser ініціалізує PATH .
Значення змінної середовища PATH може бути різним у системах, де /bin і /sbin об’єднано у /usr . На цю змінну впливає також параметр командного рядка --login і параметри системи PAM (наприклад, pam_env (8)).
СТАН ВИХОДУ
runuser , зазвичай, повертає стан виходу виконаної команди. Якщо команду буде перервано сигналом, runuser поверне номер сигналу плюс 128.
Стан виходу, який створено самим runuser :
1
Загальна помилка перед виконанням потрібної команди
126
Потрібну команду не вдалося виконати
127
Потрібну команду не знайдено
ФАЙЛИ
/etc/pam.d/runuser
типовий файл налаштувань PAM
/etc/pam.d/runuser-l
Файл налаштувань PAM, якщо вказано --login
/etc/default/runuser
специфічний для команди runuser файл налаштувань logindef
/etc/login.defs
загальний файл налаштувань logindef
ЖУРНАЛ
Ця команда 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/>.