Ограничьте *.exe или любой другой исполняемый файл, который будет загружен на учетной записи ftp на vsftpd сервере

Я понял, что некоторые мои пользователи FTP загружают *.exe файл на учетную запись пользователя FTP, которая, как просто предполагается, имеет *.MXF и весь вид Формата данных.

Я ищу способ отклонить весь вид загрузки файла кроме ***.mxf, *.mp4 *.mov и так далее. ограничьте учетную запись ftp для принятия только медиа-файлов и не exe's

у кого-либо есть идея об этом, как я могу управлять им с сервером VSFTPD.

Огромное спасибо заранее.

1
задан 7 July 2017 в 01:16

1 ответ

Вы могли бы хотеть рассмотреть раздел man vsftpd.conf, конкретно отклонять раздел файла строковых опций, который указывает.

deny_file

Эта опция может использоваться для установки шаблона для имен файлов (и имена каталогов и т.д.), который не должен быть доступным всегда. Затронутые объекты не скрыты, но никакая попытка сделать, что-либо им (загрузка, изменение в каталог, для влияния на что-то в рамках каталога и т.д.) будет отклонено. Эта опция очень проста, и не должна использоваться для серьезного управления доступом - полномочия файловой системы должны использоваться в предпочтении. Однако эта опция может быть полезной в определенных установках виртуального пользователя. В особенности зная, что, если имя файла доступно множеством имен (возможно, из-за символьных ссылок или жестких ссылок), то заботьтесь, должен быть взят для запрета доступа ко всем именам. Доступ будет запрещен к объектам, если их имя будет содержать строку, данную hide_file, или если они соответствуют регулярному выражению, указанному hide_file. Обратите внимание, что код соответствия регулярного выражения vsftpd является простой реализацией, которая является подмножеством полной функциональности регулярного выражения. Из-за этого необходимо будет тщательно и исчерпывающе протестировать любое приложение этой опции. И Рекомендуется использовать полномочия файловой системы для любой важной политики безопасности из-за их большей надежности. Поддерживаемый regex синтаксис является каким-либо количеством *? и невложенный {} операторы. Regex, соответствующий, только поддерживается на последнем компоненте пути, например, a/b/? поддерживается, но/?/c не.

    Example: deny_file={*.exe,*.sh,.private} 

Я не протестировал это, это будет явно отрицать загружать .exe файлов, однако предположение - то, что люди загружают их так, другие могут загрузить их. Когда это прекратит работать, возможно, действие загрузки их прекратится также. Как предложено в этом комментарии Вы могли также записать сценарий для освобождения пространства в каталоге загрузки rm /youruploaddir/*.exe где/youruploaddir/является каталогом, на который Ваши пользователи загружают и используют крон для планирования его для выполнения в определенное время или частоту.

Так как расширение файла никоим образом не гарантирует содержание, как упомянуто @CharlesGreen в этом комментарии, Вы могли бы рассмотреть вариацию на этот сценарий, который я разработал для нахождения фактически всех видеофайлов в моей системе. Можно легко изменить его для включения .mxf (Материальный Формат обмена) контейнеры. Или как альтернатива просто определяют фактические .exe файлы путем использования grep соответствовать "исполняемому файлу" в выводе от file

Пример определения исполняемого файла:

file *.* | grep "executable"| cut -d':' -f1

Распечатает имена файлов файлов в текущем каталоге, которые являются на самом деле исполняемым файлом (таким как Windows .exe файлы)

Примечание: Файлы являются только исполняемым файлом в Вашей системе, если Вам установили полномочия для разрешения этого. Посмотрите это для более подробной информации.

1
ответ дан 7 December 2019 в 15:33

Другие вопросы по тегам:

Похожие вопросы: