GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo cambiar la identidad de un sistema Linux

Me gustaría mostrarte un truco de magia. Vaya a su indicador de shell favorito y escriba:

[skipworthy@showme ~]$ hostname
showme

El hostname El comando se proporciona en Linux para consultar "quién" cree que es la computadora. ¿Cómo sucedió eso? ¿Cómo sabe mi computadora cómo se llama? Te muestro cómo se hace el truco en un momento, pero primero, déjame mostrarte otro:

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

Gracias una vez más a systemd (que se implementa en la mayoría, pero no en todas, las distribuciones modernas de GNU/Linux, incluidos los sistemas basados ​​en Red Hat), cambiar el nombre de su computadora con Linux es bastante fácil. (Por cierto, el nombre en el indicador cambiará con el próximo inicio de sesión). He discutido cómo el DNS nos permite identificar una computadora en la red asignando un nombre a una dirección IP. Esto está al otro lado de eso. Aquí está viendo cómo la máquina se identifica a sí misma, lo cual es importante para que cosas como la autenticación funcionen correctamente si la computadora es parte de un dominio.

[ También puede disfrutar leyendo:10 comandos básicos de Linux que debe conocer ]

Después de enumerar el hardware y cargar los controladores en el arranque, en una distribución basada en systemd, el gestor de arranque carga y ejecuta systemd guiones. Cerca del comienzo de este proceso es cuando se establece el nombre de host:

  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)

Aparte de eso, en sistemas donde systemd no administra el espacio de usuario, puede configurar el nombre de host en un par de archivos. Estos archivos son en realidad donde systemd busca esta información y la registra cuando usa el hostnamectl dominio. El hostname y hostnamectl los comandos en realidad usan llamadas al sistema a nivel del kernel llamadas gethostname , getdomainname y algunas funciones provistas por el resolver llamada del sistema. Estos han existido desde muy temprano en la historia del kernel de Linux. Estas son las mismas llamadas al sistema utilizadas por el shell para completar el nombre de la máquina en el aviso, entre otros lugares.

Los dos archivos que verá residen en /etc , que recordará es la ubicación predeterminada para la mayoría de los archivos utilizados para configurar y administrar un sistema Linux. El primero se llama, apropiadamente, /etc/hostname :

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

Bastante simple:cuando invocas hostname desde el indicador de shell, Linux mira el /etc/hostname archivo para la respuesta. También puede usar el hostname comando para cambiar el nombre de la computadora, pero en los kernels administrados por systemd, generalmente se prefiere usar el hostnamectl comando en su lugar.

El otro archivo es /etc/hosts , que es donde Linux busca traducir direcciones IP a nombres antes de verificar /etc/resolv.conf para información de DNS. Aquí está el /etc/hosts archivo:

[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

El primer par de líneas es lo que quieres ver. Tenga en cuenta que el formato es:

ip address   fqdn alias

Tienes la dirección IP , luego el hostname.domainname (o Nombre de dominio completamente calificado ), seguido del nombre de host . También puede agregar alias o alias de dominio adicionales si se usan en el entorno.

Usa el -f cambie cuando invoque el hostname comando para ver el FQDN de su host:

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

[ Descargar ahora:una guía para administradores de sistemas sobre secuencias de comandos Bash. ] 

El hostnamectl El comando tiene otros interruptores y banderas interesantes y útiles:puede establecer el tipo de entorno (desarrollo frente a producción, por ejemplo) e incluso puede poner notas de ubicación (rack 3, sala 200, por ejemplo). Puede consultarlos y configurarlos de forma remota. Como de costumbre, puedes aprender todo tipo de cosas geniales de las buenas páginas man.


Linux
  1. Cómo cambiar el color de tu terminal Linux

  2. Cómo cambiar el nombre de host en Linux

  3. Cómo verificar la versión del sistema operativo y Linux

  4. Cómo cambiar la variable PATH en Linux

  5. Cómo cambiar el shell predeterminado en Linux

Cómo cambiar el indicador de Sudo en Linux

Cómo cambiar el shell predeterminado en el sistema Linux

Cómo usar el comando fd en el sistema Linux

Cómo cambiar la contraseña de root en Linux

Cómo cambiar el nombre de host en Debian Linux

Cómo cambiar el nombre de usuario y el nombre de host en el sistema Linux