Intereting Posts
Измерение задержки в конвейере GStreamer Как сделать копию файла и поместить его в тот же каталог, который был скопирован? Балансировка нагрузки и резервирование на FreeBSD Список всех html-тегов в файле Включение возможности обнаружения Bluetooth при запуске Использование определенной версии программы в настройке Какое зеркало я загрузил из базы данных пакета Arch Linux? Linux (3.4) Использование раздела подкачки SSD вызывает экстремальную задержку – как устранить? Как я могу использовать драйвер часов kvm-clock? Зачем вам нужен экран / tmux, чтобы поддерживать удаленную программу Как установить backtrack 5 на USB, который не монтируется с существующей ОС Как вызвать kuu из сценария оболочки Можно ли вообще задать вопрос о новичках в рассылке дистрибутива? Внешний диск chmod ничего не делает Является ли хорошей практикой сделать файл блокировки init скрипта неизменным?

Как я могу переопределить файл / etc / hosts на уровне пользователя?

Возможный дубликат:
Могу ли я создать файл хостов для конкретных пользователей, чтобы дополнить / etc / hosts?

Короче: я хотел бы знать, можно ли получить файл ~/hosts который может переопределить файл /etc/hosts , поскольку у меня нет привилегированного доступа.

Я работаю над машиной, похоже, правильно настроен с правильным DNS-сервером. Когда я пытаюсь пинговать обычное имя машины, с которой я работаю, он терпит неудачу. Но когда я пытаюсь выполнить ping их по IP-адресу, он работает так, как ожидалось.

Я хочу, чтобы избежать изменения каких-либо скриптов и других musuculary запомнил ручной commmand линии ™, что я сделал из-за одной некачественной конфигурации машины. Я связался с администратором sys, но у них есть другая рыба, чтобы жарить.

Как я могу это реализовать?

Помимо трюков LD_PRELOAD. Простая альтернатива, если вы не используете nscd заключается в том, чтобы скопировать libnss_files.so в свое место, например:

 mkdir -p -- ~/lib && cp /lib/x86_64-linux-gnu/libnss_files.so.2 ~/lib 

Binary – отредактируйте копию, чтобы заменить /etc/hosts там на ту же длину, что и /tmp/hosts .

 perl -pi -e 's:/etc/hosts:/tmp/hosts:g' ~/lib/libnss_files.so.2 

Измените /tmp/hosts чтобы добавить нужную запись. И использовать

 export LD_LIBRARY_PATH=~/lib 

для nss_files для поиска в /tmp/hosts вместо /etc/hosts .

Вместо /tmp/hosts вы также можете сделать это /dev/fd//3 и сделать

 exec 3< ~/hosts 

Например, это позволило бы различным командам использовать разные файлы hosts .

 $ cat hosts 1.2.3.4 asdasd $ LD_LIBRARY_PATH=~/lib getent hosts asdasd 3< ~/hosts 1.2.3.4 asdasd 

Если nscd установлен и запущен, вы можете обойти его, выполнив тот же трюк, но на этот раз для libc.so.6 и замените путь к сокету nscd (что-то вроде /var/run/nscd/socket ) с некоторым несуществующим путем ,