検索:ファイルシステムループが検出されました。

検索:ファイルシステムループが検出されました。

ファイル検索を使用しようとするとfind -name "filename"エラーが発生します。

./var/named/chroot/var/named' is part of the same file system loop as `./var/named'

コマンドを実行しましたが、ls -ldi /var/named/chroot/var/named/ /var/namedinode番号は同じです。研究によると、修正方法は/var/named/chroot/var/named/ハードリンクを削除しrm -fてディレクトリに再作成することですが、これはすでにディレクトリなので削除できないという話を聞きました。どうすれば解決できますか?私はCentos 6とPlesk 11を実行しています。

mount コマンドは、次の情報を提供します。

/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type tmpfs (rw,relatime)
none on /dev/pts type devpts (rw,relatime)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
/etc/named on /var/named/chroot/etc/named type none (rw,bind)
/var/named on /var/named/chroot/var/named type none (rw,bind)
/etc/named.rfc1912.zones on /var/named/chroot/etc/named.rfc1912.zones type none (rw,bind)
/etc/rndc.key on /var/named/chroot/etc/rndc.key type none (rw,bind)
/usr/lib64/bind on /var/named/chroot/usr/lib64/bind type none (rw,bind)
/etc/named.iscdlv.key on /var/named/chroot/etc/named.iscdlv.key type none (rw,bind)
/etc/named.root.key on /var/named/chroot/etc/named.root.key type none (rw,bind)

答え1

named、DNSサーバーはchrootで実行されます。設定ファイルにアクセスするために、起動スクリプトはmount --bind設定ディレクトリをchroot内に表示するようにします。など/var/named/と同じ意味です。これは再帰的なディレクトリ構造なので、ナビゲーションを試みても実行は終了しないため、両方のディレクトリが実際に同じであることを認識し、そのメッセージを印刷して警告します。/var/named/chroot/var/named/var/named/chroot/var/named/chroot/var/namedfind

これは、以前に既に見た他のディレクトリと同じであることを認識しているため、find内部的に検索しないことを意味します。/var/named/chroot/var/namedこれは完全に無害なメッセージなので無視しても構いません。ジョブをスキップすると、/var/named/chroot/var/namedジョブはfind正常に続行されます。

答え2

このメッセージは戻りコード 1 をトリガーし、無視できず、リダイレクトも発生しません。

findutils findutils-4.4.2-6.el6.x86_64の使用

対応するバグレポートのようです。

Linuxカーネルを実行しているシステムでは、「find -printf%F」は「mount --bind」を使用して別の場所に再マウントされたファイルシステム上のファイルに対する誤った応答を生成しません。 (サバンナのバグ#14921)。

影響を受けたスクリプトを変更できない場合(つまり、サードパーティが作成したため)、セキュリティ上の問題に対する解決策は、少なくとも一時的にバインディング-chrootパッケージを削除することです。

答え3

私はこれが難しいリンクだとは思わない。通常、ディレクトリのハードリンクは禁止されます。ソフトリンクかもしれませんが、インストールループのようです。再インストールしているように見えたり、インストールして/var/namedいる可能性があります。おそらく、バインドインストール()または通常のインストールです。/var/var/named/chrootmount -o bind

mountコマンドの出力を公開できますか?また、おそらくこれはchroot刑務所に必要なインストールなので、そのままにしておくことをお勧めします。

答え4

問題はディレクトリをにnamedマウントすることによって発生します。この問題に対する解決策はinitスクリプトにもあります。/var/named/var/named/chroot

mount_chroot_conf()
{
   # Mount source is a directory. Mount it only if directory in chroot is
   # empty.

上記のように、このmount機能はディレクトリが空の場合にのみ機能します。したがって、次の解決策を使用してください。

  1. 止めるnamed
  2. ディレクトリの作成/var/named/chroot/var/named
  3. このディレクトリに空のファイルを作成します。
  4. スタートnamed

関連情報