Bytte VPN namn på din Mac? Jämför tre värden för värdnamn
En ändrad Terminal-prompt är inte ett namnbyte. ComputerName, LocalHostName och HostName håller olika värden, och ett av dem är ofta helt enkelt inte satt.
Prompten som förut visade en sak visar nu något annat, och anslutningen som ändrades var en VPN. Det är hela beviset de flesta har innan de drar slutsatsen att Macen bytte namn, och det räcker inte. macOS lagrar minst tre separata namnvärden, var och en med en annan uppgift, och en skalprompt visar högst ett av dem på ett sätt som lätt kan läsas fel.
Att jämföra dem kräver tre kommandon och avgör frågan innan någon redigerar något.
Tre värden, tre uppgifter
Alla tre är strängar som systemet gärna rapporterar, och frestelsen är att behandla den första du hittar som auktoritativ. Så slutar en användare med att «reparera» fel fält och se symptomet överleva.
| 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 |
Den tredje raden är där det mesta av förvirringen börjar. Ett icke satt HostName är ett normalt tillstånd, inte en korruption, och det betyder att systemet faller tillbaka på andra källor när det behöver ett värdnamn. Att läsa den tomheten som skada leder till en rättelse som aldrig behövdes. Den döljer också den egentliga frågan, som inte är vad maskinen heter utan vilket namn en given sökning eller prompt använder i det ögonblicket. Svara på det, och det tomma värdet slutar se ut som ett fel.
Läs innan du skriver
De här tre kommandona rapporterar bara värden. De ändrar ingenting, vilket gör dem säkra att köra under en utredning.
scutil --get ComputerName
scutil --get LocalHostName
scutil --get HostName
Kör dem i samma lokala session före och efter en tillåten VPN-anslutning, och notera vilket värde som faktiskt skiljer sig. Om inget skiljer sig och prompten fortfarande ser fel ut, var namnet aldrig problemet: något i skalans konfiguration eller i fjärrsessionen visar en annan sträng.
Apples guide om datornamn och lokala värdnamn placerar det vänliga namnet under General och About, och det lokala namnet under General och Sharing. Den dokumenterar också det automatiska suffix som läggs till när en annan Mac på samma länk redan använder ett namn, vilket är värt att veta innan du tar ett oväntat nummer som bevis på manipulation.
Vad en skalprompt egentligen bevisar
En prompt är en sträng som skalet bygger, och dess värdnamnselement kan komma från det utökade värdnamnet, en förkortad form av det eller ett värde som är hårdkodat i en profilfil. Den kan också tillhöra en SSH-session på en helt annan maskin, vilket är den minst glamorösa förklaringen och överlägset vanligast för en prompt som ändrades i samma stund som du anslöt en VPN.
Kontrollera var du är innan du kontrollerar vad du heter. Kör hostname och jämför det med de tre sparade värdena, och titta sedan på skalets promptinställning för att se om den visar värden alls. Om prompten innehåller en bokstavlig sträng som någon skrev i en konfigurationsfil för år sedan, kommer ingen systemändring någonsin att få den att stämma.
Jämförelsen spelar roll för rapporteringen också. En prompt som ser annorlunda ut och ett sparat ComputerName som faktiskt ändrades är två fynd med två olika ägare, och att slå ihop dem i en mening skickar nästa tekniker till fel ställe.
Där en VPN lagligt kan röra vid namngivning
En VPN ändrar vilka resolvers och sökdomäner som är relevanta, och den kan ge klienten ett värdnamn via DHCP om klienten är konfigurerad att acceptera ett. Det är en verklig mekanism, och den är också snävare än «VPN:en bytte namn på min Mac». Att en resolver ändrar vilket namn som löses för en given adress skriver inte om de sparade lokala värdena.
Separera därför två frågor. Är maskinens egen identitet annorlunda, eller är namnet den använder för att nå något annat annorlunda? Den första besvaras av de tre sparade värdena; den andra av DNS-frågor och av den anslutningsprofil som används. Att behandla dem som en fråga leder till ändringar av identitetsinställningar som svar på ett namnupplösningsproblem.
Om ett permanent värdnamn verkligen behövs
Att sätta ett värde är en medveten administrativ åtgärd, inte en kosmetisk preferens, och värdet bör komma från den som äger maskinens namngivningsprincip. Att skriva över ett hanterat namn så att prompten ser bekant ut kan förstöra certifikatkontroller, övervakning och allt annat som identifierar värden.
Där ändringen verkligen behövs skriver samma verktyg som läste värdena dem, och HostName accepterar ett fullständigt kvalificerat namn medan de andra två förväntar sig de lokala formerna. Anteckna vad du ändrade och varför, för det här är precis den typ av redigering som överraskar nästa person som tittar på maskinen.
För de flesta rapporter är det korrekta svaret mindre än frågan antyder: läs alla tre värdena, ta reda på vilket som skiljer sig, och rätta bara det. Prompten var ett symptom på något, och de tre kommandona berättar på vad.