selinux блокирует список каталогов vsftpd

Я пытаюсь лучше понять selinux и настройку локального ftp-репозитория на Centos7.

Я установил vsftpd на свой хост.

Я создал репозиторий на своем хосте:

/var/ftp/pub/centos7
  EFI
  EULA
  GPL
  images
  isolinux
  LiveOS
  Packages
  repodata
  RPM-GPG-KEY-CentOS-7
  RPM-GPG-KEY-CentOS-Testing-7
  TRANS.TBL

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

# yum repolist
Loaded plugins: fastestmirror
ftp://X.X.X.X/pub/centos7/repodata/repomd.xml: [Errno] FTP Error 550 - Server denied you to change to the given directory
Trying other mirror/
ftp://X.X.X.X/pub/centos7/repodata/repomd.xml: [Errno] FTP Error 550 - Server denied you to change to the given directory
Trying other mirror/

repo id     repo name            status
local-repo  Centos7 Repository   0
repolist: 0

Однако, если я setenforce 0 или setsebool ftpd_full_access 1 мой репозиторий работает.

repo id     repo name            status
local-repo  Centos7 Repository   3,723
repolist: 3,723

Очевидно, что оставлять setenforce на 0 не рекомендуется, но оставляет setsebool ftpd_full_access установленным на 1 , чтобы правильно настроить локальный ftp репозиторий? Я спрашиваю, есть ли правильный способ настроить репозиторий ftp с запущенным selinux?

Если кто-нибудь может указать мне правильное направление, я буду очень признателен.

0
15.06.2016, 04:22
2 ответа

У меня была такая же проблема. [ftp://192.168.122.1/repodata/repomd.xml:[Errno 14] Ошибка FTP 550 -Сервер отказал вам в переходе в указанный каталог]

Первоначально думал, что это связано с разрешением или какой-то проблемой безопасности, но это не так.

Когда я попытался загрузить файл repomd.xml с клиентского компьютера с помощью wget [wgetftp://192.168.122.1/repodata/repomd.xml] , он сказал, что файл не найден.

В моем случае проблема заключалась в том, что в файле конфигурации /etc/vsftp.conf мой каталог реподанных должен был быть /var/ftp(anon _root=/var/ftp/pub ), но я хранил под /var/ftp/. Ожидается, что «repodata/repomd.xml» будет помещен в «/var/ftp» в соответствии с настройками в vsftp.conf

.

Затем я просто переместил свои подкаталоги внутрь /var/ftp::

root@uday-linux:/var/ftp# pwd
/var/ftp
root@uday-linux:/var/ftp# ls
openstack-queens-rdo-repo
root@uday-linux:/var/ftp# ls openstack-queens-rdo-repo/
openstack-queens  rdo-qemu-ev  repodata  rhel-7-server-extras-rpms  rhel-7-server-optional-rpms  rhel-7-server-rh-common-rpms  rhel-7-server-rpms
root@uday-linux:/var/ftp# ls
openstack-queens-rdo-repo
root@uday-linux:/var/ftp# mv openstack-queens-rdo-repo/*.
root@uday-linux:/var/ftp# rmdir openstack-queens-rdo-repo
root@uday-linux:/var/ftp# ls
openstack-queens  rdo-qemu-ev  repodata  rhel-7-server-extras-rpms  rhel-7-server-optional-rpms  rhel-7-server-rh-common-rpms  rhel-7-server-rpms
root@uday-linux:/var/ftp# 
root@uday-linux:/var/ftp# 
0
28.01.2020, 04:50

У меня была та же проблема после того, как я перепутал метки моего ftp-каталога, и мне пришлось вручную устанавливать типы SELinux, чтобы пользователи FTP могли видеть файлы:

sudo chcon -Rt public_content_t /var/ftp/
1
11.03.2020, 19:02

Теги

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