Czy istnieje specyficzny dla użytkownika odpowiednik / etc / hosts?

18

Czy istnieje sposób zdefiniowania hostów specyficznych dla użytkownika - na przykład w / etc / hosts? Może coś takiego jak ~ / .hosts?

Greget
źródło
2
czy możesz powiedzieć, co tak naprawdę chcesz zrobić?

Odpowiedzi:

24

Dla wszystkiego opartego na ssh (w tym rsync przez ssh) możesz dodać wpisy do pliku ~ / .ssh / config

na przykład

Host myhost
    Hostname myhost.example.com

Następnie ssh myhost połączy Cię z myhost.example.com

Nacięcie
źródło
dodaj opcję „Użytkownik” i jest to świetny przepis na heterogeniczne systemy.
hayalci
1
Używam tego podejścia z symbolami wieloznacznymi i uzupełnianiem bash dla nazw hostów ze zmienną środowiskową HOSTFILE. Skończyłem z dopełnianiem tabulacji alternatywnych nazw hostów całkiem nieźle.
ericslaw
5

Niektóre aplikacje mogą mieć coś, czego możesz użyć, jak sugerował Nick, ale nie ma odpowiednika homedir użytkownika w pliku / etc / hosts.

Gdy aplikacje próbują rozpoznać nazwy hostów, obsługuje je NSS. Możesz sprawdzić, jak NSS obsługuje nazwy hostów w twoim systemie, patrząc na /etc/nsswitch.conf

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

Oznacza to, że nazwy hostów zostaną najpierw rozpoznane na podstawie bazy danych plików (/ etc / hosts), a jeśli nie, to na podstawie szczegółów dns określonych w /etc/resolv.conf

inne
źródło
3

Zastanawiałem się nad tym samym i kolega znalazł to rozwiązanie: http://blog.tremily.us/posts/HOSTALIASES/

Zasadniczo polega na ustawieniu zmiennej środowiskowej (HOSTALIASES), która wskazuje plik do użycia w aliasach hosta (możesz na przykład użyć ~ / .hosts).

Steven
źródło
1
Link się zepsuł :-(
thorbjornwolf
Obecnie link działa (ponownie).
vog
0

Innym rozwiązaniem mogą być różne środowiska „chroot” dla różnych użytkowników. Nawet różne więzienia root dla tego samego użytkownika, w zależności od określonych kryteriów.

LAZA
źródło