Использовать ссылку на файл вместо IP в / etc / hosts

Я использую ronn . Вы просто напишите уценку, и она превратится в страницу руководства. Также существует (несколько менее способный) клон js под названием Mark-man .

Я документировал свои сценарии с его помощью, используя END_MAN heredocs с разделителями, и мой код C / C ++, используя те же END_MAN heredocs с разделителями , за исключением / * * / . Любой из них легко извлечь с помощью sed, а затем преобразовать в справочную страницу. (Немного взломав UNIX-сигналы вместе с inotifywait, вы можете извлекать и просматривать разделы справочной страницы в реальном времени и перезагружать браузер справочной страницы по мере обновления исходного кода.)

Что касается раздела, то 3 будет для пользователя -уровневая библиотека C. Вы можете прочитать о номерах разделов (среди прочего) в man (1) .

Если вы хотите увидеть несколько удобочитаемых, хорошо структурированных примеров справочных страниц, я бы взглянул на Plan9 https://swtch.com/plan9port/unix/ библиотеки, в которых вы можете увидеть, как сами создатели c и UNIX и ее системы документации, вероятно, предназначались для того, чтобы эти вещи работали.

1
21.11.2018, 12:50
2 ответа

В Linux нет такой вещи, как пользовательский файл hosts,вы можете использовать HOSTALIASES, который работает с каноническими именами.

Если я правильно понял ваш вопрос, вы можете использовать службу динамического DNS, такую ​​как DynDNS или No -IP, чтобы всегда иметь правильный общедоступный IP-адрес, назначенный вашим провайдером.

Затем вы можете использовать HOSTSALIASES для сопоставления exthostс полным доменным именем, предоставленным динамической службой DNS.

Экспортируйте значение HOSTALIASES с помощью export HOSTALIASES=~/.hosts, а затем добавьте следующую строку в файл ~/.hosts, чтобы сопоставить exthost с именем FDQN, предоставленным, например, без -ip.

exthost yourname.no-ip.org

HOSTALIASES работает только с каноническими именами, а не с IP-адресами, поэтому вам следует использовать какую-либо динамическую службу DNS, чтобы иметь полное доменное имя, но вы можете просто использовать это полное доменное имя и полностью пропустить HOSTALIASES.

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

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

4
27.01.2020, 23:18

Мои /etc/hosts:

127.0.0.1   localhost
127.0.1.1   *some-host*

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Так сказать:

sudo nano /etc/hosts

Добавить линию:

IPOFEXTHOST   exthost

Где IPOFEXTHOST — известный IP-адрес exthost.

С этого момента вы можете написать скрипт для обновления файла, заменив строку, содержащую exthost. В любом случае, на одном из компьютеров должен быть установлен dyndns или нет -ip updater. Так что либо вы знаете веб-адрес exthost напрямую, либо exthost может знать адрес вашего другого компьютера, чтобы отменить ssh и обновить файл с его закрученным общедоступным IP-адресом.

0
27.01.2020, 23:18

Теги

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