vsftpd не перечисляет содержание каталога

Я соглашаюсь с Michael, но одно место, где оно может иметь значение, $0 параметр.

Я видел сценарии, которые исследуют название $0 и сделайте разные вещи, основанные на том, какое символьное имя используется.

4
09.10.2016, 19:40
9 ответов

Два предложения:

  1. Любой идентификатор пользователя, который будет работать, FTP имеют полномочия "записи" на "корневом" каталоге, который vsftpd будет использовать в качестве своего текущего рабочего каталога? vsftpd не хочет перезаписываемый рабочий каталог.

  2. vsftpd.conf файл может иметь a hide_file директива. В зависимости от регулярного выражения, указанного той директивой, анонимным пользователям нельзя было бы разрешить видеть файлы.

У меня была эта проблема с vsftpd в прошлом, и я вспоминаю наличие установки vsftpd.conf, которая вызвала его, таким образом прочитайте тот файл конфигурации тесно, поймите все параметрические усилители и их значения.

5
27.01.2020, 20:47
  • 1
    Спасибо за предложения. Да, что каталог имеет разрешение записи. Когда я ограничиваю разрешение записи владельцем, я отклонил разрешение при загрузке, таким образом, я сделал его миром перезаписываемый. И я проверил hide_file, это не установлено в файле конфигурации, который согласно странице справочника Unix vsftd.conf не должен быть установлен ни на (один). –  saeedn 02.02.2012, 08:49

Вы рассмотрели добавление hide_file=NO?

1
27.01.2020, 20:47
  • 1
    Да, я попробовал его, но это не помогло –  saeedn 04.02.2012, 11:19

Я просто заставил свой VSFTPD работать только в активный режим, и это, казалось, работал для меня. Для этого введите следующую строку в вашем файле конфигурации:

pasv_enable=NO

То, что я оказался, хотя и включил пассивный режим, что и для некоторых приложений, которые оказалось требованием. Похоже, VSFTPD не играет с использованием по умолчанию, чтобы лучше указать ваши предпочтения явно:

pasv_enable=YES

Также важно получить правильные настройки iptables, если вы запустите брандмауэр. Вот мои, извлеченные из моего / etc / sysconfig / iptables :

# FTP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1024:65535 -j ACCEPT
2
27.01.2020, 20:47

Если ваша конфигурация верна и это не проблема брандмауэра, это вполне может быть SELinux, в моем случае это было, и ответ был:

setsebool -P allow_ftpd_full_access 1

Со страницы man:

Если вы хотите разрешить FTP-серверам входить в систему локальным пользователям и чтение/запись всех файлов в системе, управляемой DAC, необходимо включить allow_ftpd_full_access boolean

2
27.01.2020, 20:47

Благодарность user81029 за указание

sudo setsebool -P allow_ftpd_full_access 1

решает проблему с пустым каталогом ftp после mount --bind папку в / var / ftp / на SELinux

3
27.01.2020, 20:47

Если вы пытались составить список каталогов с помощью таких команд, как ls, dir, это не поможет.

Если вы используете любой FTP-клиент с графическим интерфейсом, например filezilla, будут показаны все каталоги.

-3
27.01.2020, 20:47

, если SELinux включен, пробовали ли вы команду setenforce 0? Обратите внимание, он временно переходит в разрешительный режим.

-1
27.01.2020, 20:47

В /etc/vsftpd.confзадаватьseccomp_sandbox=NO

Исправлено для меня, сообщается какhttps://bugzilla.opensuse.org/show_bug.cgi?id=1173275

1
23.06.2020, 14:31

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

В моем случае мне пришлось разрешить ОБА порта 20 и 21

ufw allow ftp

И

ufw allow 20/tcp
-1
29.11.2021, 09:45

Теги

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