Створення облікового запису 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.