GNU/Linux >> Znalost Linux >  >> Linux

Jak změnit identitu systému Linux

Rád bych vám ukázal kouzelný trik. Přejděte na výzvu svého oblíbeného prostředí a zadejte:

[skipworthy@showme ~]$ hostname
showme

hostname Příkaz je poskytován v Linuxu pro dotaz "kdo" si počítač myslí, že je. Jak se to stalo? Jak můj počítač ví, jak se jmenuje? Za chvíli vám ukážu, jak se trik dělá, ale nejprve vám ukážu jiný:

[root@showme skipworthy]# hostnamectl set-hostname spot
[root@showme skipworthy]# hostname
spot

Ještě jednou děkujeme systemd (který je implementován ve většině, ale ne ve všech moderních distribucích GNU/Linux, včetně systémů založených na Red Hat) je změna názvu vašeho počítače se systémem Linux docela snadná. (Mimochodem, jméno ve výzvě se změní s dalším přihlášením.) Mluvil jsem o tom, jak nám DNS umožňuje identifikovat počítač v síti mapováním názvu na IP adresu. To je na druhé straně toho. Zde se podíváte na to, jak se počítač identifikuje, což je důležité pro správné fungování věcí, jako je ověřování, pokud je počítač součástí domény.

[ Mohlo by se vám také líbit čtení: 10 základních linuxových příkazů, které potřebujete znát ]

Po výčtu hardwaru a načtení ovladačů při spouštění v distribuci založené na systemd bootloader načte a spustí systemd skripty. Na začátku tohoto procesu je nastavení názvu hostitele:

  2.653601] rtc_cmos 00:00: setting system clock to 2020-11-17 19:36:44 UTC (
1605641804)
[  2.654885] Freeing unused kernel memory: 1980k freed
[  2.655179] Write protecting the kernel read-only data: 12288k
[  2.657125] Freeing unused kernel memory: 416k freed
[  2.658710] Freeing unused kernel memory: 552k freed
[  2.663220] random: systemd: uninitialized urandom read (16 bytes read)
[  2.663530] random: systemd: uninitialized urandom read (16 bytes read)
[  2.663543] random: systemd: uninitialized urandom read (16 bytes read)
[  2.667147] systemd[1]: systemd 219 running in system mode. (+PAM +AUDIT +SEL
INUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +
XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[  2.667189] systemd[1]: Detected virtualization kvm.
[  2.667200] systemd[1]: Detected architecture x86-64.
[  2.667204] systemd[1]: Running in initial RAM disk.
[  2.667250] systemd[1]: Set hostname to <showme>.
[  2.701020] random: systemd: uninitialized urandom read (16 bytes read)

Kromě toho v systémech, kde je systemd nespravuje uživatelský prostor, můžete název hostitele nakonfigurovat v několika souborech. Tyto soubory jsou ve skutečnosti kde systemd vyhledá tyto informace a zaznamená je, když použijete hostnamectl příkaz. hostname a hostnamectl příkazy ve skutečnosti používají systémová volání na úrovni jádra s názvem gethostname , getdomainname a některé funkce poskytované resolver systémové volání. Ty existují již od rané historie linuxového jádra. Toto jsou stejná systémová volání, která používá shell mimo jiné k vyplnění názvu počítače do výzvy.

Oba soubory, na které se budete dívat, jsou umístěny v /etc , což je výchozí umístění pro většinu souborů používaných ke konfiguraci a správě systému Linux. První z nich se vhodně nazývá /etc/hostname :

[root@showme skipworthy]# cat /etc/hostname
showme

Docela jednoduché:Když zavoláte hostname z příkazového řádku se Linux podívá na /etc/hostname soubor pro odpověď. Můžete také použít hostname příkaz ke změně názvu počítače, ale v jádrech spravovaných systemd je obecně preferováno použití hostnamectl místo toho příkaz.

Druhý soubor je /etc/hosts , což je místo, kde se Linux snaží přeložit IP adresy na jména, než zkontroluje /etc/resolv.conf pro informace o DNS. Zde je /etc/hosts soubor:

[skipworthy@showme ~]$ cat /etc/hosts
127.0.0.1       showme.forest showme
192.168.11.111  showme.forest showme
192.168.0.200      Jupiter
192.168.0.100      uhura

Prvních pár řádků je to, na co se chcete podívat. Všimněte si, že formát je:

ip address   fqdn alias

Máte tedy IP adresu a poté název hostitele.název_domény (nebo Plně kvalifikovaný název domény ), za kterým následuje název hostitele . Můžete také přidat aliasy nebo další aliasy domény, pokud se v prostředí používají.

Použijte -f přepnout, když zavoláte hostname příkaz k zobrazení FQDN vašeho hostitele:

[skipworthy@showme ~]$ hostname -f
showme.forest

[ Stáhnout nyní:Průvodce systémového administrátora skriptováním v Bash. ] 

hostnamectl příkaz má některé další zajímavé a užitečné přepínače a příznaky:Můžete nastavit typ prostředí (například vývoj vs. výroba) a dokonce můžete zadat poznámky o umístění (například stojan 3, místnost 200). Můžete se na ně dotazovat a nastavovat je na dálku. Jako obvykle se můžete naučit všechny druhy skvělých věcí ze starých dobrých manuálových stránek.


Linux
  1. Jak nastavit nebo změnit název hostitele systému v systému Linux

  2. Jak změnit název hostitele v systému Linux

  3. Jak změnit proměnnou PATH v Linuxu

  1. Jak změnit barvu vašeho terminálu Linux

  2. Jak změnit národní prostředí systému na RHEL7 Linux

  3. Jak změnit výchozí prostředí v Linuxu

  1. Jak resetovat nebo změnit heslo root v Linuxu

  2. Jak používat příkaz Linux cd ke změně adresáře

  3. Jak zkontrolovat verzi OS a Linuxu