Я пытаюсь настроить сервер sftp, и у меня возникают проблемы с тем, чтобы он работал так, как мне нравится.
Мой сервер имеет два жестких диска, первый используется для ОС, и он содержит все домашние каталоги пользователей. Мой второй диск содержит все данные, которыми я хотел бы поделиться с конкретными пользователями.
Я хочу, чтобы пользователи (кроме меня) не могли подключаться к серверу по протоколу ssh, и я хотел бы, чтобы все пользователи могли использовать sftp для передачи данных на мой диск с данными и с него.
Ограничить доступ по SSH было легко. Я создал группу "ssh_users", добавил к ней свою учетную запись и добавил AllowGroups ssh_users в файл sshd_config.
Заставить sftp работать так, как я хочу, было проблемой. Я думал, что привязка пользователей к диску данных будет работать, но, возможно, у меня неправильно настроены разрешения?
Что я могу сделать, чтобы это работало? Благодаря
Я написал статью об этом некоторое время назад: 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 каталог должны принадлежать корню и не записываемые пользователями. Это - ограничение безопасности от разработчиков OpenSSH.
Кроме того, тщательно проверьте /var/log/auth.log
для проблем соединений SSH.
Если у вас есть локальные пользователи, которые могут использовать ftps, вы можете смонтировать диск с данными в их домашние каталоги, а затем изменить их домашний каталог.
mount --bind /data/drive /home/user/data
chroot_local_user=YES
При этой настройке пользователи имеют доступ к диску данных, но не могут перечислить файловую систему на основном диске.
Если вы хотите, вы можете ограничить разрешения пользователей ftp, добавив их в новую группу и дать этой группе определенные разрешения на диске данных.
Проверьте эту статью и объедините ее с групповыми разрешениями для папок, которыми вы хотите поделиться. Это поможет.