Intereting Posts
Как добавить отображение имен хостов в VIM statusline в Linux? seq -w эквивалент в os-x bash Как отключить клиентскую часть шифрования в Linux при установке доли Azure с помощью mount.cifs с помощью SMBv3? Добавить открытый ключ к авторизованным ключам удаленного сервера и выполнить некоторые команды Макросы командной строки в комментариях с использованием SLURM Установите Git на CentOS 5.5 Я случайно удалил своего пользователя из нескольких групп, как узнать, какими они были? Получить последнее сообщение фиксации, автор и хеш с помощью git ls-remote, как команда Как RPM обрабатывает местоположения файлов? Список всех допустимых макетов kbd, вариантов и вариантов переключения (для использования с setxkbmap) Как изменить цвет фона приложений curses? Особая проблема с ping Есть ли вариант gnu-as для установки 64-битного кода из 32-битной системы? Скрипт для переключения дорожки для ноутбука Игнорировать переменную GET из ссылок, при загрузке веб-сайта в автономном режиме

Настройка 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?

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 может работать практически в любой точке системы …