selinux は vsftpd ディレクトリのリストをブロックします。

selinux は vsftpd ディレクトリのリストをブロックします。

私はselinuxをよりよく理解し、Centos7でローカルのftpリポジトリを設定しようとしています。

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

利用可能なリポジトリを一覧表示しようとすると、ゲスト仮想マシンでエラーが発生します。

# 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保存を設定することがローカルFTPリポジトリを設定する正しい方法ですか?私が尋ねたいのは、selinuxを実行するftpリポジトリを設定する正しい方法はありますか?0setsebool ftpd_full_access1

誰もが私を正しい方向に指すことができればとても感謝します。

答え1

ftpディレクトリのラベルを台無しにした後も同じ問題が発生し、FTPユーザーがファイルを表示できるようにSELinuxタイプを手動で設定する必要がありました。

sudo chcon -Rt public_content_t /var/ftp/

答え2

私は同じ問題に直面しました。 [ftp://192.168.122.1/repodata/repomd.xml:[Errno 14] FTPエラー550 - サーバーは指定されたディレクトリへの変更を拒否しました]

最初はライセンス問題やセキュリティの問題の一種だと思いましたが、そうではありません。

wget [wget]を使用してクライアントシステムから repomd.xml ファイルをダウンロードしようとするとftp://192.168.122.1/repodata/repomd.xml]ファイルが見つからないと表示されます。

私の場合、問題は設定ファイル/etc/vsftp.confで私のrepodataディレクトリが/var/ftp(anon_root=/var/ftp/pub)しかし、私はいつも/var/ftp/に保存しました。 vsftp.confの設定によっては、「repodata / repomd.xml」が「/ var / ftp」の下に配置されると予想されます。

その後、サブディレクトリを/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# 

関連情報