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

Настройка сайта дампа файлов sftp openssh или другого sftpd?

В прежние времена мы могли легко настроить ftp-сервер с анонимным доступом для загрузки, тогда как после загрузки файла пользователь не мог видеть, удалять или изменять загруженные файлы.

Я пытаюсь установить что-то подобное сейчас в CentOS 6.2 или ubuntu 11.10, но мы передаем конфиденциальные данные, которые должны быть через соединение sftp / scp / ftps. Я пробовал использовать chrooted sftp-соединение, однако из-за того, как работают права доступа к папке и файлам linux, если у пользователя есть доступ на запись в папку, он может удалить файл в этой папке, несмотря ни на что.

Кто-нибудь еще настраивал аналогичную среду? Я бы хотел, чтобы у них было имя пользователя или комбинация имени пользователя / пароля, которая будет регистрироваться, чтобы мы знали, кто какой файл загрузил, однако после загрузки файла у них больше не будет доступа для удаления или изменения файла.

Спасибо!

* Edit: Я писал чепуху, так как я не прочитал вопрос должным образом, в этом посте была идиотэктомия в полевых условиях, теперь, надеюсь, это немного относится к вопросу .. ;-)

Я думаю, что рекомендуемыми шагами было бы использование некоторого традиционного ftp-сервера активного / пассивного типа с портом 21, который обеспечивает уровень SSL / TLS поверх стандартного пользовательского ftp dropbox старой школы.

vsftpd это пример ftp-сервера, который может быть настроен на использование ssl и поддерживает низкоуровневая конфигурация прав пользователей позволяя создать аутентифицированную ftp-систему в стиле Dropbox.

Я бы создал отдельных пользователей для этого ftp-проекта с помощью shell / sbin / nologin и добавил их в текстовый файл, который можно было бы передать vsftpd как разрешенным локальным пользователям.

вы также можете установить следующие параметры, чтобы ограничить пользователей в соответствии с вашими требованиями

 #If set to NO, all directory list commands will give permission denied.   
 dirlist_enable NO  
 #If set to NO, all download requests will give permission denied.   
 download_enable NO  
 #If activated, all non-anonymous logins are forced to use a secure SSL connection  
 force_local_data_ssl YES  
 #If activated, all non-anonymous logins are forced to use a secure SSL  
 force_local_logins_ssl YES  
 #obfusciate, probably not needed given directory listing restrictions  
 hide_ids YES  
 # allow users with no shell to access ftp, but you have to disable these users via the   
 #vsftpd local permitted users list, not via /etc/passwd  
 check_shell NO  

Вам также необходимо будет использовать некоторые конфигурации для принудительного выполнения требования только для записи, без удаления, для этого, вероятно, потребуется указать список соответствующих команд, используя параметры конфигурации cmds_allowed и cmds_denied.

Есть список команд ftp с кратким объяснение здесь;, возможно, вам придется попробовать метод проб и ошибок, поскольку они не тестируются в полевых условиях ...

 #
 chmod_enable No
 #something like the following...
 #cmds_allowed=PASV,RETR,QUIT,PUT,USER,PORT,SYST,QUIT,STOR,CWD,PWD
 #add any other commands that allow READ or DELETE, or rename, etc.
 cmds_denied=DELE,GET,LIST,MDTM,MKD,NLST,RETR,RMD,RNFR,RNTO,APPE

доступны различные документы, в которых обсуждаются возможные настройки vsftpd здесь - http://viki.brainsware.org/?en/cmds_allowed

Вы можете полностью настроить команды, доступные из полного списка здесь; https://calomel.org/vsftpd.html

объяснение команд здесь; http://www.nsftools.com/tips/RawFTP.htm

Никогда не использовал его, но в ProFTPD есть модуль sftp. Видеть http://www.proftpd.org/docs/contrib/mod_sftp.html#Usage который показывает, как вы можете ограничить его, как и FTP (например, Limit DELE пункты для предотвращения удаления).