Есть ли конкретный пользовательский эквивалент / etc / hosts?


18

Есть ли какой-нибудь способ определить специфичные для пользователя хосты - как в / etc / hosts? Может быть, что-то вроде ~ / .hosts?


2
можете ли вы сказать, что вы на самом деле хотите сделать?

Ответы:


24

Для всего, что основано на ssh (включая rsync поверх ssh), вы можете добавить записи в ваш файл ~ / .ssh / config

например

Host myhost
    Hostname myhost.example.com

Тогда ssh myhost свяжет вас с myhost.example.com


добавьте опцию «Пользователь», и это отличный рецепт для разнородных систем.
Хаялчи

1
Я использую этот подход с подстановочными знаками и завершением bash для имен хостов с переменной среды HOSTFILE. Я заканчиваю с завершением табуляции 'альтернативных' имен хоста довольно приятно.
ericslaw

5

Определенные приложения могут иметь что-то, что вы можете использовать, как предложил Ник, но пользовательский файл homedir не эквивалентен файлу / etc / hosts.

Когда приложения пытаются разрешить имена хостов, они обрабатываются NSS. Вы можете проверить, как NSS обрабатывает имена хостов в вашей системе, посмотрев /etc/nsswitch.conf

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

Это означает, что имена хостов будут сначала разрешаться в файловой базе данных (/ etc / hosts), а в противном случае - в подробностях DNS, указанных в /etc/resolv.conf.


3

Мне было интересно то же самое, и коллега нашел это решение: http://blog.tremily.us/posts/HOSTALIASES/

В основном это включает установку переменной окружения (HOSTALIASES), которая указывает на файл, который будет использоваться для псевдонимов хоста (вы можете использовать ~ / .hosts, например).


1
Ссылка прервалась :-(
thorbjornwolf

В настоящее время ссылка работает (снова).
Vog

0

Другим решением могут быть разные среды chroot для разных пользователей. Даже разные корневые тюрьмы для одного и того же пользователя, в зависимости от определенных критериев.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.