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