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

Как временно изменить / etc / hosts

Возможный дубликат:
Как навсегда и безвозвратно заблокировать веб-сайты в Firefox?

Я хотел бы написать сценарий, который изменяет / etc / hosts на определенный период времени. Мотивация - это продуктивность.

Мой подход заключался бы в том, чтобы определить блок текста с нужными мне правилами, а затем просто поместить его в / etc / hosts. По прошествии времени я искал точно такой же блок и удалял его.

Теперь мне просто любопытно, есть ли лучший способ сделать это. Может быть, аналогичная конструкция для файлов /etc/resolv.conf.tail?

Вы пытаетесь заблокировать или ограничить доступ к определенным веб-сайтам для своих сотрудников в рабочее время? Был бы прокси / веб-фильтр иметь больше смысла?

Если это не так, вы можете использовать любую из стандартных утилит управления конфигурацией (Кукольный, например), чтобы заменить /etc/hosts файл или измените его на месте. Вы также можете использовать echo или sed изменить блок текста и расписание с помощью cron. Помните, что файл hosts читается сверху вниз ...

Прочитав ваш первоначальный пост, я все еще не уверен на 100%, что вы хотите делать. Если вы хотите изменить файл / etc / hosts, вы можете написать базовый скрипт для эха или cat >> файла, а затем поместить его в cron в зависимости от того, когда вы этого хотите. Поэтому, если вы хотите изменить его в 7:00 утра, запустите задание cron в 7:00 утра, а если вы хотите изменить его обратно в 18:00, затем попросите другое задание cron удалить ваши предыдущие записи в 6: 00 часов. Есть несколько способов сделать это на стороне сценария. Самым простым, вероятно, было бы создать несколько файлов в каком-либо каталоге с именем hosts1, host2, hosts3 и т.д. Затем в своем сценарии вы можете просто заменить файл / etc / hosts любым другим файлом хоста, который вы изменили. Если вы не хотите этого делать, как я уже сказал, вы можете выводить отдельные строки в файл, а затем использовать sed для их удаления позже.