Linuxが独自にシンボリックリンクを許可するのはなぜですか?

Linuxが独自にシンボリックリンクを許可するのはなぜですか?

タイプミスのためにこれが許可されていることがわかりましたln -s useless useless

その後、期待どおりにls useless/*次のエラーメッセージが発生します。

ls: 'useless/*' にアクセスできません: シンボリックリンクレベルが多すぎます。

これが許可されln受け入れられるようにするには、どのような状況でこれが必要ですか?

私はそれをテストしていますSLES 12.4

ベストアンサー1

いいえ必要fr これは許可されます。シンボリックリンクが指しているものか、存在しないパス(またはシンボリックリンク自体)も関係ありません。

存在しないパスへのシンボリックリンクを無効にすることを想像できますが、いくつかの問題が発生する可能性があります。

  • シンボリックリンクへの逆参照がないため、ファイルへのシンボリックリンクを作成してからファイルを削除してシンボリックリンクを残すことは依然として可能です。
  • シンボリックリンクは、アンマウントされた他のファイルシステムを指すことがあります。
  • シンボリックリンクを含むファイルシステムは複数のマウントポイントに同時にマウントできます。一部のシンボリックリンクは既存のパスを指し、他のシンボリックリンクは存在しないパスを指します。
  • 絶対パスを指すシンボリックリンクは、一部のプロセスでは既存のパスを指し、他のプロセスでは吊り下げられたパスを指すことがあります。これは、プロセスごとにルートディレクトリが異なる可能性があるためです。

存在しないパスを指すシンボリックリンクがある場合は、シンボリックリンクの名前を自分を指すシンボリックリンクに変更できます。したがって、自分を指すシンボリックリンクを許可したくない場合は、名前の変更を制限する必要があります。

おすすめ記事