特定のユーザーにのみ固有のホストのリストを追加することは可能ですか?おそらくユーザー固有のhostsファイルですか?
このメカニズムは、/etc/hostsのエントリも補完する必要があります ファイル。
承認された回答:
探している機能はglibcに実装されています。 HOSTALIASESを設定することで、カスタムホストファイルを定義できます。 環境変数。このファイルの名前は、gethostbynameによって取得されます。 (ドキュメントを参照してください。)
例(Ubuntu 13.10でテスト済み):
$ echo 'g www.google.com' >> ~/.hosts
$ export HOSTALIASES=~/.hosts
$ wget g -O /dev/null
いくつかの制限:
-
HOSTALIASESgetaddrinfo(3)を使用するアプリケーションでのみ機能します またはgethostbyname(3) - setuidの場合 / setgid / setcap アプリケーション、libcは環境をサニタイズします。つまり、
HOSTALIASES設定が失われます。 ping setuid rootであるか、net_rawが与えられます 実行時の機能(ICMPパケットをリッスンする必要があるため)、したがってHOSTALIASESpingでは機能しませんpingを呼び出す前にすでにrootになっていない限り 。