Назад | Перейти на главную страницу

Загружать только SFTP с OpenSSH и Linux?

Я хотел бы настроить chrooted SFTP-сервер с привилегиями только загрузки.

Я знаю, что когда-то делал это с FTP на FreeBSD с помощью SETUID. Все загруженные файлы автоматически принадлежали пользователю root, а остальные имели разрешение только на запись. Я узнал, что этот метод не работает в Linux (поправьте меня, если я ошибаюсь).

Я также встречал некоторые демоны FTP, позволяющие это, устанавливая umask для загружаемых файлов и запрещая использование chmod.

Ближе всего я подошел к следующему:

Я запускаю RHEL 6 с OpenSSH 5.3p1.

Смысл этого в том, чтобы иметь одну учетную запись SFTP, которую можно безопасно разделить между 50 людьми для доставки файлов на сервер, а не создавать 50 учетных записей SFTP.

ProFTPd определенно поддерживает режим эмуляции ssh для использования sftp, и я почти уверен, что он будет иметь обычный набор параметров конфигурации ftpd-normal для принудительного владения, управления загрузками и т. Д. Я думаю, что вам определенно стоит взглянуть на него. Я не могу помочь с конфигурацией только для загрузки ftpd, но вот мой код конфигурации для получения поддержки SFTP:

LoadModule mod_sftp.c

<VirtualHost 12.34.56.78>
  SFTPEngine            on
  Port                  443
  SFTPLog               /var/tmp/proftpd-sftp.log
  SFTPHostKey           /etc/ssh/ssh_host_rsa_key
  SFTPHostKey           /etc/ssh/ssh_host_dsa_key
  DefaultRoot           /home/testuser
<Limit LOGIN>
  AllowGroup            sftponly
  DenyAll
</Limit>
</VirtualHost>

В Port 443 потому что у нас уже было sshd работающий на порту 22, плюс нам пришлось поддерживать группу клиентов за множеством глубоко глупых брандмауэров, а порт 443 - это единственное место назначения, которое почти все сайты допускают без нагрузки. Там есть еще кое-что об ограничении доступа для одной группы пользователей и их перемещении в одно и то же место, которое вам, вероятно, не понадобится, но я включаю его, потому что могу подтвердить, что эта конфигурация работает как есть.