LINUX.ORG.RU
решено ФорумAdmin

Недоверенный доступ к mysql cli


0

1

Есть задача - дать доступ вебмастеру к командной строке mysql через ssh. Разграничение доступа к собственно базам тривиально, но из коммандной строки mysql можно выполнить любую команду текущей оболочки, что неприемлемо. Получается, что нужно городить отдельное chroot-окружение для выполнения одной команды. А более простые способы в голову что-то не приходят пока.

Кто как решает такие задачи? Или может где-то есть руководство по засекьюриванию mysql, которое я не сумел найти в гугле?

★★

но из коммандной строки mysql можно выполнить любую команду текущей оболочки, что неприемлемо

Что конкретно неприемлемо? Создай ему отдельного огороженного юзера в системе

Harald ★★★★★
()

не запускать демон mysql от рута?

Shtsh ★★★★
()

cat ~/.ssh/authorized_keys

from="10.1.1.1",command="/home/remoteuser/cron/validate-rsync" ssh-dss AAAAB3Nza
<snip>
j2yBgN5cy8arlZ80q1Mcy763RjYGkR/FkLJ611HWIA= thisuser@thishost
(вместо рсинк сам догадаешься, что поставить)
или sudo с NOEXEC
угу? ;)

aol ★★★★★
()
Ответ на: комментарий от Harald

Паранойя мучает. Из-за одной команды пускать пользователя в систему - моё чувство прекрасного ломает. А чрут делать - тоже ломает. Вот и спрашиваю - может существует более простой способ, типа возможности запретить команды оболочки из mysql, или уже изобрели более простой способ изготовления чрут-окружений, а я не в курсе.

cache ★★
() автор топика

cache

Получается, что нужно городить отдельное chroot-окружение для выполнения одной команды.

man sudo

drBatty ★★
()
Ответ на: комментарий от aol

Ммм… Про noexec проглядел. Спасибо, этого, кажется, должно хватить.

cache ★★
() автор топика
Ответ на: комментарий от cache

сервер mysqld, я так понимаю, на той же машине, на которую собираешься давать доступ? Почему бы не открыть файерволом порт mysql только для его IP и пусть запускает клиента mysql на своей машине и оттуда делает свои дела. Можно даже дополнительно авторизацию по сертификатам сделать, mysql её умеет

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

Этот путь подразумевает, что пользователь не идиот. Вероятно, так оно и есть, но всё равно придётся объяснять, где взять клиента под Win (я сам не знаю пока, где, если что), да как его настроить.

И «только для его IP» - сейчас не реализуемо, поскольку человек может работать из нескольких мест и с динамическим IP.

cache ★★
() автор топика
Ответ на: комментарий от cache

Вероятно, так оно и есть, но всё равно придётся объяснять, где взять клиента под Win (я сам не знаю пока, где, если что), да как его настроить.

с официального сайта

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

Да ну его. Лишний раз с Win-софтом дела иметь не хочется.

cache ★★
() автор топика

Всем спасибо, всё настроил. Пришлось повозиться с тем, чтобы пользователь вводил пароль только один раз, но теперь всё как и хотелось - после ввода пароля пользователь попадает прямо в mysql, где может рулить ограниченным списком баз, и не может при этом вывалиться в консоль.

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