VPN переименовал ваш Mac? Сравните три значения имени хоста
Изменённая строка приглашения Terminal — не переименование. ComputerName, LocalHostName и HostName хранят разные значения, и одно из них часто просто не задано.
Приглашение, которое раньше показывало одно, теперь показывает другое, а соединением, которое изменилось, был VPN. Это все доказательства, которые есть у большинства, прежде чем сделать вывод, что Mac переименовали, и их недостаточно. macOS хранит как минимум три отдельных значения имени, у каждого своя задача, а приглашение оболочки показывает не более одного из них так, что его легко прочитать неправильно.
Их сравнение требует трёх команд и решает вопрос до того, как кто-либо что-то изменит.
Три значения, три задачи
Все три — строки, которые система охотно сообщит, и искушение в том, чтобы считать первое найденное значение авторитетным. Так пользователь в итоге «чинит» не то поле и смотрит, как симптом сохраняется.
| Value | What it is responsible for |
|---|---|
ComputerName | The friendly name a person sees in About and on the network browser; this is the one users mean by "my Mac's name" |
LocalHostName | The Bonjour name used on the local link, usually shown with a .local suffix in Sharing |
HostName | An explicitly configured host name that may simply not be set at all |
Третья строка — место, где начинается большая часть путаницы. Незаданный HostName — нормальное состояние, а не повреждение, и оно означает, что система обращается к другим источникам, когда ей нужно имя хоста. Чтение этой пустоты как повреждения ведёт к исправлению, которое никогда не требовалось. Оно также скрывает настоящий вопрос: не в том, как называется машина, а в том, какое имя использует конкретный запрос или приглашение в этот момент. Ответьте на это, и пустое значение перестанет выглядеть дефектом.
Сначала прочитайте, потом пишите
Эти три команды только сообщают значения. Они ничего не меняют, поэтому их безопасно запускать во время расследования.
scutil --get ComputerName
scutil --get LocalHostName
scutil --get HostName
Запустите их в той же локальной сессии до и после разрешённого подключения VPN и отметьте, какое значение действительно отличается. Если ничего не отличается, а приглашение всё ещё выглядит неправильно, имя никогда не было проблемой: что-то в конфигурации оболочки или в удалённой сессии показывает другую строку.
Руководство Apple по именам компьютеров и локальным именам хостов помещает дружественное имя в разделы General и About, а локальное имя — в General и Sharing. Оно также описывает автоматический суффикс, добавляемый, когда другой Mac на том же соединении уже использует имя, что стоит знать, прежде чем считать неожиданное число доказательством вмешательства.
Что на самом деле доказывает приглашение оболочки
Приглашение — это строка, которую строит оболочка, и её элемент имени хоста может происходить из развёрнутого имени хоста, его сокращённой формы или значения, жёстко записанного в файле профиля. Оно может также принадлежать сессии SSH на совершенно другой машине, что является наименее эффектным объяснением и безусловно самым частым для приглашения, изменившегося в момент подключения VPN.
Проверьте, где вы находитесь, прежде чем проверять, как вас зовут. Запустите hostname и сравните его с тремя сохранёнными значениями, затем посмотрите на настройку приглашения в оболочке, чтобы понять, показывает ли она хост вообще. Если приглашение содержит буквальную строку, которую кто-то ввёл в файл конфигурации годы назад, никакое изменение системы никогда не заставит её совпасть.
Сравнение важно и для отчёта. Приглашение, которое выглядит иначе, и сохранённое ComputerName, которое действительно изменилось, — это две находки с двумя разными владельцами, и объединение их в одно предложение отправляет следующего инженера не туда.
Где VPN может законно коснуться именования
VPN меняет то, какие резолверы и домены поиска актуальны, и может выдать клиенту имя хоста через DHCP, если клиент настроен принимать его. Это реальный механизм, и он уже, чем «VPN переименовал мой Mac». То, что резолвер меняет, какое имя разрешается для данного адреса, не переписывает сохранённые локальные значения.
Поэтому разделите два вопроса. Отличается ли собственная идентичность машины или отличается имя, которое она использует, чтобы добраться до чего-то другого? На первый отвечают три сохранённых значения; на второй — запросы DNS и используемый профиль подключения. Если считать их одним вопросом, изменения настроек идентичности происходят в ответ на проблему разрешения имён.
Если постоянное имя хоста действительно необходимо
Установка значения — это намеренное административное действие, а не косметическое предпочтение, и значение должно исходить от того, кто владеет политикой именования машины. Перезапись управляемого имени, чтобы приглашение выглядело знакомым, может сломать проверки сертификатов, мониторинг и всё остальное, что идентифицирует хост.
Там, где изменение действительно необходимо, тот же инструмент, который прочитал значения, их и записывает, а HostName принимает полностью квалифицированное имя, тогда как два других ожидают локальные формы. Запишите, что вы изменили и почему, потому что это именно тот вид правки, который удивляет следующего человека, взглянувшего на машину.
Для большинства отчётов правильный ответ меньше, чем подразумевает вопрос: прочитайте все три значения, определите, какое отличается, и исправьте только его. Приглашение было симптомом чего-то, и три команды подскажут, чего именно.