こんにちはユキトモです。
今回は「/etc/nsswtich.conf」ファイルについて解説していきます。
この記事でわかること
- 「/etc/nsswtich.conf」ファイルの概要が分かります。
「/etc/nsswtich.conf」ファイル
ひとことで言うと
「名前解決を行う優先順位を指定するファイル」
です。
筆者の環境の例を記すと
/etc/nsswtich.conf
 
shadow: files sss
hosts: files dns myhostname
aliases: files
ethers: files
gshadow: files
# Allow initgroups to default to the setting for group.
# initgroups: files
networks: files dns
protocols: files
publickey: files
rpc: files
このように設定されています。
hosts: files dns myhostname
この設定は、「ホスト名に関する名前解決を行う順番が、
ローカルにあるファイル→DNSサーバ」ということをあらわしています。
何らかの名前解決を行う場合、
まず「files」の指定によりローカルにあるファイル(/etc/hostsなど)が参照されます。
このファイルの参照に失敗するとdnsの指定により「/etc/nsswitch.conf」に
指定したDNSサーバに問い合わせが行われるという順番になります。
この問い合わせた情報に対する応答が異なる場合ですが、
たとえば、「/etc/hosts」には「www.sample.com」の
IPアドレスが「192.168.1.11」とあって
DNSサーバで問い合わせると「192.168.254.254」と返ってくる場合です。
上記の設定では、名前解決の結果、「www.sample.com」のIPアドレスは
「192.168.1.11」が取得できるということになります。
実際の「/etc/nsswitch.conf」を確認して見ると
「passwd:」「shadow:」などで始まる行があります。
名前解決だけでなく、ユーザアカウント情報、シャドウパスワードなど、
さまざまな情報を参照する際の優先順位を指定するために利用されます。
passwd:やshadow:は、OpenLDAPに認証情報を格納する場合などに書き換えることになります。
システムを動かすための情報の参照先を切り替えるnsswitch.confを解説しました。
未経験から最短でエンジニア転職を目指す