Настройка ssh и sftp для нескольких пользователей
Я пытаюсь настроить сервер sftp, и у меня возникают проблемы с тем, чтобы он работал так, как мне нравится.
Мой сервер имеет два жестких диска, первый используется для ОС, и он содержит все домашние каталоги пользователей. Мой второй диск содержит все данные, которыми я хотел бы поделиться с конкретными пользователями.
Я хочу, чтобы пользователи (кроме меня) не могли подключиться к серверу через ssh, и я бы хотел, чтобы все пользователи могли использовать sftp для передачи данных на мой диск с данными и с него.
Ограничить доступ по SSH было легко. Я создал группу "ssh_users", добавил к ней свою учетную запись и добавил AllowGroups ssh_users в файл sshd_config.
Заставить sftp работать так, как я хочу, было проблемой. Я думал, что привязка пользователей к диску будет работать, но, возможно, у меня неправильно настроены разрешения?
Что я могу сделать, чтобы заставить это работать? Спасибо
3 ответа
Я написал статью об этом некоторое время назад: http://en.positon.org/post/SFTP-chroot-rsync
Я думаю, что вам нужно в /etc/ssh/sshd_config
является:
# we use openssh internal sftp
# because /usr/lib/openssh/sftp-server won't be available in chroot
Subsystem sftp internal-sftp
Match group sftp
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Вы можете изменить ChrootDirectory по своему усмотрению, однако каталог chroot должен принадлежать пользователю root и недоступен для записи пользователям. Это ограничение безопасности от разработчиков OpenSSH.
Также внимательно проверяйте /var/log/auth.log
для проблем с подключением SSH.
Когда у вас есть локальные пользователи, которые могут использовать ftps, вы можете смонтировать диск с данными в эти домашние каталоги, а затем изменить их домашний каталог.
mount --bind /data/drive /home/user/data
chroot_local_user=YES
С этой настройкой пользователи имеют доступ к диску данных, но не могут перечислить файловую систему на главном диске.
Если вы хотите, вы можете ограничить разрешения пользователей ftp, добавив их в новую группу и дать этой группе определенные разрешения на диске данных.
Прочтите эту статью и объедините ее с групповыми разрешениями для папок, которыми вы хотите поделиться. Это поможет.