Настройка FTP-сервера в redhat

Я установил vsftpd в redhat. Все было до тех пор, пока я не зашел на ftp-сервер, используя:

ftp localhost

or fileZilla Я получаю следующие ошибки:

 ERROR: - 500 OOPS: cannot change directory:/foo 

Кроме того, когда я меняю каталог журнала с

 - /var/log/xferlog 

в

 - /usr/local/data 

Затем я получаю:

  500 OOPS: failed to open xferlog log file:/usr/local/data/vsftpd.log 

Из этой ссылки РЕШЕНИЕ выглядит следующим образом:

 This happens because SELinux isn't properly configured for your ftp service. Either disable SELinux or configure it for ftp. To disable SELinux, edit /etc/selinux/config and set “SELINUX=disabled”, then reboot. 

Как включить ftp без отключения SElinux?

  • vsftpd: используйте Явный SSL в другом порту, чем незашифрованный FTP
  • настроить пользователя и его корневой каталог в vsftpd, в Ubuntu
  • FTP Upload Hook
  • Ошибка VSFTPD FileZilla GnuTLS -15 (был получен неожиданный пакет TLS)
  • vsftpd закрывает соединение с кодом 421 при перечислении содержимого каталога
  • curl: (25) Ошибка загрузки FTP: 553 to vsftpd docker
  • Тюрьма только конкретный пользователь с vsftpd
  • Установка vsftpd на Ubuntu - не удалось связать прослушивание сокета IPv4?
  • 3 Solutions collect form web for “Настройка FTP-сервера в redhat”

    SELinux не позволит vsftpd обслуживать файлы из других мест, кроме /var/ftp или записывать журналы вне /var/log . SELinux – все о смягчении последствий стихийных бедствий. FTP в основном небезопасен. Запуск vsftpd под SELinux – хорошая идея, поскольку он минимизирует ущерб, который может нанести злоумышленник, если он решает атаковать ваш FTP-сервис.

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

    Если вы абсолютно должны перенастроить его так, вам нужно переписать политики SELinux, связанные с FTP, но это не тривиальное задание. Инструмент audit2allow может помочь .

    Если вы решите, что отключение SELinux слишком рискованно, а создание новой политики SELinux слишком сложно, я бы рекомендовал вместо этого использовать SFTP или scp . RHEL отправляется с настройкой и запуском sshd , поэтому вам не нужно ничего делать, чтобы это работало.

    Обычно вы можете найти отказ selinux в / var / log / messages. Попробуйте это (как root):

     grep avc /var/log/messages | grep ftp 

    Просмотрите результаты и определите, являются ли отклонения ошибочными, учитывая желаемую конфигурацию. Настройте команды grep, если необходимо, чтобы сводить информацию до только тех утверждений, которые вы хотите исправить. Часто бывает полезно временно перевести систему в разрешающий режим ( setenforce 0 ), а затем выполнить операции, которые вы ожидаете. /var/log/messages будет собирать список ошибок, которые должны быть исправлены в вашей политике SELinux. После того как вы удовлетворены списком опровержений, которые необходимо устранить, создайте новую политику, используя следующее:

     # ensure you have audit2allow which audit2allow # if no audit2allow, install it: yum install policycoreutils-python # replace the following with your tuned grep (if necessary) grep avc /var/log/message | grep ftp | audit2allow -M my_vsftp 

    В вашем текущем каталоге будут два новых файла: my_vsftp.te и my_vsftp.pp . *.te файл читается, *.pp скомпилирован. Просмотрите файл * .te, чтобы убедиться, что он уместен.

    Будьте осторожны, так как открытие слишком многих правил SELinux может оставить вас уязвимыми. Настоятельно рекомендуется читать SELinux.

     cat my_vsftp.te 

    Если политика выглядит подходящей, установите и активируйте ее:

     mkdir /usr/share/selinux/packages/my_vsftp mv my_vsftp.* /usr/share/selinux/packages/my_vsftp/ semodule -i /usr/share/selinux/packages/my_vsftp/my_vsftp.pp 

    Убедитесь, что система работает ( getenforce , setenforce 1 ) и проверяет ваш FTP-сервер, отслеживая /var/log/messages для отказов.

    Немного жесткое решение, позволяющее доступу vsftpd в любом месте, было бы:

     setsebool -P allow_ftpd_full_access=1 

    В этот момент vsftpd может работать практически в любой точке системы …

    Interesting Posts

    Как определить, какие возможности необходимы для команды?

    Не удается подключиться к Интернету, но может SSH в Solaris x86 (против 11)

    Ubuntu Server 16.04.3LTS Squashfs как root из Grub

    Как вы перемещаете файлы в файловую систему в памяти, установленную на / dev / shm

    Почему NetBSD является самой стабильной ОС здесь?

    libotify / notify-send: основной текст не печатается, если он содержит '<' или '>'

    Формат / etc / hosts в Linux (отличается от Windows?)

    Не удалось создать загрузочный USB-накопитель с использованием Linux Mint

    DNSCrypt, похоже, не шифрует запросы

    fdisk: не удалось определить размер сектора жесткого диска USB на FreeBSD

    Запустите команду Vim из сценария bash

    Замените точки символами подчеркивания в именах файлов, оставив неизменным

    Безопасное выход из цикла в bash

    Ключ не выпускается при очень коротких нажатиях клавиш

    Как получить сортировку, чтобы показать мне результаты в порядке, подобном человеку?

    Linux и Unix - лучшая ОС в мире.