На моем компьютере с сервером Ubunut 12.04 LTS я пытаюсь добавить пользователя только с доступом по sFTP или FTP. Давайте назовем его «Джим» сейчас. Джиму нужен только доступ к каталогу /var/www/example.com.
До сих пор я пробовал как vsftpd, так и openSSH, но оба безрезультатно.
У меня установлен OpenSSH правильно, и я могу использовать sFTP для своей учетной записи. Но я могу добраться до всех каталогов и использовать SSH, что не должно быть возможным для Джима.
Я пробовал несколько учебных пособий, в том числе:
На данном этапе у меня есть учетная запись пользователя для Джима, и он не может получить доступ по SSH. Я изменил его домашний каталог на /var/www/example.com. Что из www-data: users, Jim является частью группы users и sftponly. В sshd_config не было внесено никаких изменений, чтобы ограничить параметры Джима.
Когда я пытаюсь добавить Match User jim
или Match Group sftponly
и указать любую опцию, например ChrootDirectory
, SSH не сможет перезапуститься. При перезапуске службы я не получаю никакого уведомления, но при просмотре с помощью ps -ae | grep ssh
ssh не отображается в списке. Если я удалю директиву Match
, SSH перезапустится правильно. Кто-нибудь может подсказать, как мне завершить настройку sFTP или FTP?
Я бы предпочел, чтобы пользователи ftp были не локальными пользователями, а отдельными управляемыми виртуальными пользователями.
Вы идете об этом довольно .... неправильно. Не сказать, что это не сработает, но это не будет легко. Вы боретесь с довольно серьезными дефолтами.
Я бы порекомендовал две вещи. Сначала создайте домашний каталог пользователей с нуля, используя adduser или любой другой, вы можете указать домашний каталог с флагом -d. Таким образом, вы можете сделать adduser jim -d /var/www/jim
Совместное использование домашнего каталога несколькими пользователями не будет работать без огромных усилий.
Далее, чтобы ограничиться scp / sftp, измените только свой логин на / bin / nologin. Это остановит затем sshing или войти в систему локально.
Наконец, решительно подумайте, почему вы хотите использовать chroot. Для того, чтобы выполнить chroot, вам понадобится установить базовую систему для каждого домашнего каталога вместе с некоторыми вещами в ~ / bin ~ / lib и ~ / etc, а также, вероятно, со многими другими. Если вы действительно хотите изменить ssh-сессию, вы можете посмотреть по этой ссылке , однако я настоятельно рекомендую не делать этого, кроме общедоступного ssh-сервера. Даже тогда я хотел бы иметь действительно вескую причину сделать это лично. Имейте в виду, что если вы не хотите, чтобы они обращались к каталогу, вы можете просто chmod o-r
его (это то, что предлагает ваша первая ссылка).
Если вы даже рассматриваете chroot, тогда держитесь подальше от FTP. FTP, как правило, привязан к папке, но FTP небезопасен, поэтому, если вы пытаетесь что-то защитить, не беспокойтесь о FTP. Дверь банковского хранилища толщиной 90 футов с лазерами и охранными роботами не будет приседать, если остальная часть хранилища сделана из картона.