テキスト文字列を検索しようとしています。ファイル内で私のサーバーで次のコマンドを使用します。
grep -iRl "database_password" /
しかし!サフィックスディレクトリを検索して停止したようです。
これが私が画面で見た最後のものです。
grep: /var/spool/postfix/private/relay: No such device or addressgrep: /var/spool/postfix/private/policyd-spf: No such device or address
grep: /var/spool/postfix/private/discard: No such device or address
grep: /var/spool/postfix/private/proxywrite: No such device or address
grep: /var/spool/postfix/private/virtual: No such device or address
grep: /var/spool/postfix/public/qmgr: No such device or address
grep: /var/spool/postfix/public/cleanup: No such device or address
grep: /var/spool/postfix/public/flush: No such device or address
grep: /var/spool/postfix/public/postlog: No such device or address
grep: /var/spool/postfix/public/pickup: No such device or addressgrep: /var/spool/postfix/public/showq: No such device or address
それから何も.. Ctrl-Cを使って停止できます。
だから2つのことが気になります。なぜ止まるように見えますか? (2時間以上待ってから)grepが報告するのはなぜですか?対応するデバイスまたはアドレスがありません。「このディレクトリだけですか?他のディレクトリについては何も教えてくれませんか?
答え1
...grepがこのディレクトリに「デバイスまたはアドレスがない」と報告するのはなぜですか?
これはディレクトリではなく、Unixドメインソケットです。
# file /var/spool/postfix/public/pickup
/var/spool/postfix/public/pickup: socket
これらのファイルを読み取ろうとしたときに表示されるメッセージは予期しないものではなく、考えているgrep
「停止」とは関係がないようです。
...サフィックスディレクトリを検索した後、それ自体がハングするようです。
考慮すべき1つのことは、以下のファイルが/
無限のバイトストリーム(たとえば/dev/urandom
)を返すことです。grep
パターンを見つけるためにこれらのファイルの1つを読み込んでいる可能性があります。
たとえば、次のことを考えてみましょう。
# grep $(uuidgen) /dev/urandom
これを実行することができます本物長期。
ターゲット検索ディレクトリに対して、より選択的に選択することをお勧めします。