/etc/nsswitch.confファイルのdbとは何ですか?このDBを編集するには?

/etc/nsswitch.confファイルのdbとは何ですか?このDBを編集するには?

私のnsswitchファイルには次の内容が含まれています

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

DB値の意味は何ですか?たとえば、プロトコルセクションでデータベースを見ると、一種のデータベースを意味すると思いますが、このデータベースはどこにありますか?ただプレーンテキスト設定ファイルですか?ただ設定ファイルであれば、なぜ単純なファイルではないのですか?データベースの場合、どのように編集できますか?

答え1

dblibnss_db使用する原因になります。通常、次の場所に保存されているBerkeley DBファイルからデータを読み込みます/var/db/var/lib/miscDebian で)大規模なNSSデータベースの場合、これは通常プレーンテキストファイルを読むよりも高速です。

Berkeley DBクライアントを使用してデータベースを変更できる必要がありますが、通常は関連ソースデータから大量に構築されます。上記の構成では、データソースは参照/etc用にのみ使用されるテキストファイルです。 DBファイルは速度のためのバリエーションであり、バッチを使用して構築されており、デフォルトのmakedbストレージとしては使用されません。ここにあるテキストファイルは、/etc/protocolsプロトコル、/etc/servicesサービス、/etc/ethersイーサネットアドレス、/etc/rpcRPCプロシージャ番号用です。

リモートでホストされている大規模なユーザーデータベース(通常はLDAPを使用)のローカルキャッシュとして、データベースでより一般的に使用されdbます。passwdgroup

関連情報