Можно ли установить разные DNS-серверы для разных пользователей?

Perl контекстно-зависим. Если Вы присваиваете скалярной переменной

$args = @ARGV

значение правой стороны оценено в скалярном контексте, т.е. массив возвращает свой размер.

Используя амперсанд для вызовов подпрограммы привычка Perl 4. В наше время существует только немного случаев, где Вам действительно нужен амперсанд, например, в этом случае, он может быть безопасно удален.

4
21.08.2015, 19:16
3 ответа

«Это…» Ну да.

«Как» - вот где все усложняется.

По сути, у вас есть два реальных варианта, которые я могу придумать. Предполагая, что вы используете Gnu libc и у вас есть поддержка nsswitch (я смутно помню, что некоторые дистрибутивы могли это отключить?), Одним из вариантов может быть замена «обычного» модуля NSS DNS (например, / lib64 / libnss_dns * ) с пользовательской версией, которая будет проверять, возможно, ~ / .config / resolv.conf или около того.

Обратите внимание: под словом «заменить» я подразумеваю добавление другого модуля с уникальным именем, на который вы затем ссылаетесь из /etc/nsswitch.conf . Можно «просто» разветвить код, использованный для создания «нормальной» версии, и добавить что-нибудь для создания из него версии для каждого пользователя.

Другой вариант - использовать пространства имен ядра для «монтирования» замены resolv.conf с точки зрения процессов каждого пользователя. (См. Очень подробное описание IBM в комментариях.)

Однако мне не известны какие-либо существующие инструменты для облегчения работы.

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

4
27.01.2020, 20:55

wubi не видел какого-либо активного развития за последние пару лет, поэтому я бы посоветовал не использовать его, если вы хотите быть будущим.

Сказав это, я бы также посоветовал установить Ubuntu 14.04.3 LTS , так как нумерация версий в Ubuntu работает иначе, чем в Windows и последняя не обязательно самая большая... (, НАПРИМЕР. самая стабильная версия... )

Поэтому перейдите сюда, если требуется двойная загрузка , а затем , когда вы будете готовы установить Ubuntu .

О, и если вы хотите несколько резервных копий, это также интересно прочитать .

-121--63673-

См. ссылку для получения подробной информации об acl.m4 (AC_FUNC_ACL): Отключить поддержку ACL при обнаружении ошибки acl_get_file Darwin 8.7.0.

-121--185437-

параметры настройки DNS-серверов определены для компьютера , а не для пользователя.

Семейство gethostbyname * () syscall пытается найти заданное имя хоста и вернуть IP-адрес. Первое место обычно занимает файл /etc/hosts . Затем они выполняют поиск через DNS-серверы, установленные в /etc/resolv.conf .

1
27.01.2020, 20:55

Нет, DNS не предназначен для этого. Однако, если вы тестируете, вы можете использовать / etc / hosts и жестко запрограммировать несколько тестовых доменных имен на определенные IP-адреса, а затем дать каждому пользователю тестовые доменные имена, которые вы хотите, чтобы они использовали.

например. / etc / hosts

IP address1 hosta.test2 
IP address2 hostb.test2

IP address3 hosta.test3
IP address4 hostb.test3

...
-1
27.01.2020, 20:55

Теги

Похожие вопросы