私のnsswitchファイルには次の内容が含まれています
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
DB値の意味は何ですか?たとえば、プロトコルセクションでデータベースを見ると、一種のデータベースを意味すると思いますが、このデータベースはどこにありますか?ただプレーンテキスト設定ファイルですか?ただ設定ファイルであれば、なぜ単純なファイルではないのですか?データベースの場合、どのように編集できますか?
答え1
db
libnss_db
使用する原因になります。通常、次の場所に保存されているBerkeley DBファイルからデータを読み込みます/var/db
。/var/lib/misc
Debian で)大規模なNSSデータベースの場合、これは通常プレーンテキストファイルを読むよりも高速です。
Berkeley DBクライアントを使用してデータベースを変更できる必要がありますが、通常は関連ソースデータから大量に構築されます。上記の構成では、データソースは参照/etc
用にのみ使用されるテキストファイルです。 DBファイルは速度のためのバリエーションであり、バッチを使用して構築されており、デフォルトのmakedb
ストレージとしては使用されません。ここにあるテキストファイルは、/etc/protocols
プロトコル、/etc/services
サービス、/etc/ethers
イーサネットアドレス、/etc/rpc
RPCプロシージャ番号用です。
リモートでホストされている大規模なユーザーデータベース(通常はLDAPを使用)のローカルキャッシュとして、データベースでより一般的に使用されdb
ます。passwd
group