Назад | Перейти на главную страницу

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

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

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

например

Host myhost
    Hostname myhost.example.com

Затем ssh myhost подключит вас к myhost.example.com

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

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

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

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

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

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

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