LINUX.ORG.RU
ФорумAdmin

тонкая настройка sshd


0

0

что есть и работает:
--------------------
Есть машина1 и машина2, система настроена так, что пользователь1 имеющий учетную запись на машина1 по ssh может исполнять любые команды на машина2 под учетной записью пользователь2.

что хочу:
---------------------
хочу ограничить число комманд, которые может выполнять пользователь1 на машина2 от учетной записи пользователь2 по средствам ssh, запуская ssh на машина1

Итак, все работает, только нужно ограничиться количество комманд, которые можно исполнять!!!


СПАСИБО!!!

anonymous

Ключ с ограничением на команды, которые можно запускать? Что-то я такое видел...

Zulu ★★☆☆
()
Ответ на: комментарий от sasha999

> средствами самого ssh это не реализуется.

не правда, реализуется.

man 8 sshd - раздел AUTHORIZED_KEYS FILE FORMAT, читаешь про параметр command="command"

man 1 ssh - читаешь про переменную SSH_ORIGINAL_COMMAND

Далее пишешь скрипт, который берёт переменную SSH_ORIGINAL_COMMAND, парсит её, и в случае, если пользователь хочет запустить разрешённую команду, запускает ей.

Название файла скрипта указываешь перед ключом пользователя в ~/.ssh/authorized_keys, например command="/usr/sbin/ssh_limited_dispatcher"

anonymous
()
Ответ на: комментарий от anonymous

Да, не забудь запретить пользователям писать в их $HOME, разреши только в отдельные подкаталоги. Иначе они могут довольно интересные штуки вытворять даже с restricted ssh.

Каталог ~/.ssh, файл ~/.bashrc и другие файлы, которые могут быть запущены шелом, должны быть под контролем. Потому как ssh на сервере выполнит $SHELL -c "command", а $SHELL первым делом запустит свои скрипты.

http://www.snailbook.com/faq/restricted-scp.auto.html

А в ~/.ssh/ вообще много всего интересного натворить можно: начиная от банального изменения authorized_keys, заканчивая изменением переменных окружения LD_*, которое закончится взломом ограничений на ssh.

http://www.securiteam.com/unixfocus/5JP0H2A7PW.html

anonymous
()

chroot в бин бинарники команд, которые хочешь юзать в либ - библиотеки, котоые эти команды юзают

anonymous
()
Ответ на: комментарий от anonymous

Вообще да, если ты хочешь давать пользователям именно шелл, то нужен chroot, а не то, что я выше написал.

Вышеописанные процедуры позволяют, например, раздавать всем доступ к CVS или Subversion по ssh, не давая при этом шела.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.