Створення облікового запису UNIX, який виконує лише одну команду


13

Чи є спосіб створити обліковий запис користувача в Solaris, який дозволяє користувачам виконувати лише одну команду? Ні оболонки для входу, ні іншого. Я міг би зробити це з /usr/bin/falseв /etc/passwdі просто отримати від користувача ssh <hostname> <command>, але є краще спосіб зробити це?

Відповіді:


15

Ви можете використовувати примусову команду, якщо користувачі можуть підключитися лише через ssh. По суті, кожен раз, коли користувач з'єднується через ssh з певним ключем та певним ім'ям користувача, ви змушуєте його виконувати команду (або скрипт або), яку ви визначили у .ssh / санкціонованих_кеях. Команди, видані користувачами, будуть ігноровані.

Наприклад:

# in .ssh/authorized_keys
command="cd /foo/bar && /path/to/scripts/my_script.sh arg1 arg2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa public_key

Ну ви обидва мали рацію. Що я зробив, було створено скрипт, який постачає меню в підказці і використовував команду примусової перевірки в .ssh / pooblasti_keys на сервері перед ключем для авторизованого користувача. Це дозволяє йому перейти на сервер, і при появі підказки надається гарне меню з кількома командами для виконання. Більше нічого не можна запустити. Щасливі дні!
— Вілл Даулінг

2
Відредаговано; вам потрібні ці параметри для забезпечення вимушеної команди: "перенаправлення без порту, пересилання без переходу на X11, переадресація без агента, жодне значення".
— Тобу

11

Ви можете встановити оболонку цього користувача на сценарій, який просто виконує команду, яку ви хочете дозволити: Кожен раз, коли користувач увійде в систему, команда виконується, тоді користувач виходить з системи. А оскільки немає "повної оболонки", вам не доведеться мати справу з користувачем, який пробує фанкі;)


0

Мені цікаво, чи можна було б це зробити за допомогою RBAC та надання користувачеві привілейованої оболонки (pfsh, pfcsh або pfksh) та створення профілю для команд, яким користувачі (и) дозволять запускати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.