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

Где используется имя хоста в / etc / hostname на сервере debian?

У меня есть веб-сервер, на котором запущено несколько веб-сайтов.

Когда я вхожу по ssh, он дает мне имя вкладки username@localhost.localdomain, что противоречит интуиции, из-за чего кажется, что эти вкладки находятся на моем локальном хосте.

Я хотел бы изменить имя хоста, но я хочу быть уверен, что это больше ничего не сломает.

Итак, для каких целей используется эта строка имени хоста и как я могу быть уверен, что она не повлияет на работу каких-либо систем?

Проблема, с которой вы столкнулись, скорее всего, находится в / etc / hosts. Здесь ищутся адреса. Там должна быть запись для IP-адреса вашего сервера. Резервный вариант - использовать адрес обратной связи localhost @ localdomain.

Видеть http://www.faqs.org/rfcs/rfc1178.html для лучших практик по именованию вашего хоста. / etc / hostname используется для заполнения, а затем name в ядре во время запуска. Поместите неквалифицированное имя в / etc / hostname и запустите sudo /etc/init.d/hostname start. Также добавьте запись для вашего имени хоста в / etc / hosts, используя адрес интерфейса в / etc / hosts.

Почтовый сервер должен использовать / etc / mailname для определения своего имени. Это должен быть полный адрес, например myhost.example.com.

Хотя имя хоста определено в / etc / hostname, многие процессы будут использовать DNS и / или файлы хостов для определения имени хоста. Так что вы можете попробовать посмотреть / etc / hosts, а также проверить серверы имен, перечисленные в /etc/resolv.conf, чтобы увидеть, что определено.

Я считаю, что единственное, что должно иметь прямой доступ к / etc / hostname, - это сценарий запуска /etc/init.d/hostname.sh.

Конфигурация вашего apache может зависеть от определенного имени хоста. Когда вы настраивали apache, вы использовали IP-адреса в своей конфигурации или имя, которое было в / etc / hostname.

Если у вас настроен почтовый сервер, он также может использовать имя из / etc / hostname. Хотя localhost.localdomain находится в / etc / hostname, я подозреваю, что ваша почтовая система уже частично сломана.

Я считаю, что изменение файла должно быть довольно безопасным. Измените файл, запустите /etc/init.d/hostname.sh, а затем перезапустите все запущенные вами службы, такие как apache. Если есть проблемы, исправление должно заключаться в небольшом редактировании пары файлов конфигурации.

Если вы действительно параноик, вы можете скопировать производственную систему в виртуальную машину, внести изменения в виртуальную машину, а затем посмотреть, что сломается. Если у вас еще нет тестовой среды, возможно, сейчас самое подходящее время для ее настройки.

В зависимости от настроек в вашем файле /etc/nssswitch.conf вы можете использовать его для разрешения имени домена перед вызовом в другую систему, обычно DNS.

hosts:      files dns

Это указание на то, что сначала он должен использовать локальные файлы (/ etc / hosts), а затем запрашивать DNS.

Таким образом, обычно система сначала направляет все запросы имени хоста через / etc / hosts, а затем запрашивает DNS.