Linux豆知識 178

「/etc/nsswitch.conf」ファイル

このエントリーをはてなブックマークに追加
今回は、「/etc/nsswitch.conf」ファイルについて見ていきましょう。

「/etc/nsswitch.conf」ファイルは、名前解決を行う優先順位を指定するファイルです。具体的に、/etc/nsswitch.confファイルの設定例を見てみましょう。


hosts: files dns

この設定は、「ホスト名に関する名前解決を行う順が、ローカルにあるファイル→DNSサーバ」ということを表します。具体的には、何らかの名前解決を行う際、まずfilesの指定によりローカルにあるファイル(/etc/hostsなど)が参照され、これに失敗するとdnsの指定により「/etc/resolv.conf」に指定したDNSサーバに問い合わせが行われる、という順になります。

この順番が大きな意味を持つのは、問い合わせた情報に対する応答が異なる場合です。たとえば、「/etc/hosts」には「www.example.com」のIPアドレスが「192.168.1.1」と記してあり、DNSサーバで問い合わせると「192.168.254.254」と返ってくる場合です。この場合、上記の設定では、名前解決の結果、「www.example.com」のIPアドレスは「192.168.1.1」が得られるということになります。

さて、実際の「/etc/resolv.conf」を見てみると、「passwd:」「shadow:」などで始まる行が存在することに気づくでしょうか。実はこのファイル、名前解決だけでなく、ユーザアカウント情報、シャドウパスワードなど、さまざまな情報を参照する際の優先順位を指定するために利用されるのです。
たとえば上記のpasswd:やshadow:は、OpenLDAPに認証情報を格納する場合などに書き換えることになります。

システムを動かすための情報の参照先を切り替えるnsswitch.conf、しっかりと覚えておきましょう。

ページトップへ