Apakah ada yang setara dengan pengguna / etc / hosts?

18

Apakah ada cara untuk mendefinisikan host spesifik pengguna - seperti di / etc / hosts? Mungkin sesuatu seperti ~ / .hosts?

Greget
sumber
2
dapatkah Anda memberi tahu apa yang sebenarnya ingin Anda lakukan?

Jawaban:

24

Untuk apa pun yang berbasis ssh (termasuk rsync di atas ssh), Anda dapat menambahkan entri ke file ~ / .ssh / config Anda

misalnya

Host myhost
    Hostname myhost.example.com

Kemudian ssh myhost akan menghubungkan Anda ke myhost.example.com

Nick
sumber
tambahkan opsi "Pengguna" dan Ini adalah resep yang bagus untuk sistem heterogen.
hayalci
1
Saya menggunakan pendekatan ini dengan wildcard dan penyelesaian bash untuk nama host dengan variabel lingkungan HOSTFILE. Saya berakhir dengan tab-penyelesaian nama host 'alternatif' dengan cukup baik.
ericslaw
5

Aplikasi spesifik mungkin memiliki sesuatu yang dapat Anda gunakan, seperti yang disarankan Nick, tetapi tidak ada ekuvelen homedir pengguna dari file / etc / hosts.

Ketika aplikasi mencoba untuk menyelesaikan nama host itu ditangani oleh NSS. Anda dapat memeriksa bagaimana NSS menangani nama host pada sistem Anda dengan melihat /etc/nsswitch.conf

$ grep host /etc/nsswitch.conf 
hosts:          files dns

Ini berarti bahwa nama host akan diselesaikan terlebih dahulu terhadap basis data file (/ etc / hosts), dan gagal terhadap rincian dns yang ditentukan dalam /etc/resolv.conf

theecereceive
sumber
3

Saya bertanya-tanya hal yang sama dan seorang rekan menemukan solusi ini: http://blog.tremily.us/posts/HOSTALIASES/

Ini pada dasarnya melibatkan pengaturan variabel lingkungan (HOSTALIASES) yang menunjuk ke file yang akan digunakan untuk alias host (Anda bisa menggunakan ~ / .hosts misalnya).

Steven
sumber
1
Tautannya
Saat ini, tautan berfungsi (lagi).
vog
0

Solusi lain dapat berupa lingkungan "chroot" yang berbeda untuk pengguna yang berbeda. Bahkan jail root yang berbeda untuk pengguna yang sama, tergantung pada kriteria tertentu.

LAZA
sumber