Какими средствами у хостеров производится закрытие пользователя в его домашней директории при доступе через ssh? Chroot, rbash или как-то еще?
Хочу понять, как заблокировать 100 пользователей в домашней директории без возможности видеть директории других пользователей и без возможности запускать бинарники.
в timeweb я мог просматривать конфигурационные файлы. Возможность появлялась так: cd… && cd…
Я писал в саппорт, что у них дыра, но они ответили, что полностью закрыть доступ не получится. Важные конфиги были недоступны для чтения.
Почти оно. Правда уже давно не надо патчить ssh-сервер. Но у меня пока остается проблема, как скрыть от одних пользователей факт наличия других.
Пока что единственное решение, которое вижу, создавать раздел в файле, монтировать его с noexec, nosuid и чрутить туда. Но если один юзверь захочет увеличить дисковую квоту, что тогда?
Может создать для каждого пользователя не виртуальную ФС в файле, а отдельную директорию, в которую он будет chroot'иться, и назначить квоту конкретно для этого пользователя средствами линукса? Раз, два, три
И опять-таки, как один пользователь сможет получить информацию о других, если он будет в chroot'е и не будет иметь доступа к командам или файлам, которые могут вывести список пользователей?
На отдельную директорию не получится, т.к. noexec указывается при монтировании.
Если делать окружение в /chroot и хранить папку пользователя в /chroot/home/%u, то после chroot'a он будет видеть все что есть в /chroot/*, он элементарно сможет сделать ls -l /home и увидит директории всех пользователей. Да, зайти в них и что-то сделать с ними он не сможет, но он не должен их видеть.
А разве он увидит не /chroot/home/%u/home?
На крайняк, можно монтировать файл с ФС, а при желании увеличить квоту — увеличить размер файла через dd и затем увеличить размер ФС внутри, не?
В том-то и проблема, что он увидит все, что идет от /chroot. Иначе как бы он мог запустить сам шелл.
В целом да, идея c dd и подгонкой фс внутри нее выглядит как более-менее приемлемая. В дополнение к ней я еще рассматриваю lvm (пока еще не приходилось использовать).
фтп-сервер чрутится нормально в домашний каталог, тут даже не о чём писать.
Что касается ssh, то во Фре для этого есть jail, в современных версиях OpenSSH из коробки хорошо работает chroot — надёжно закрывает в домашнем каталоге