Tengo dos servidores Ubuntu que comparten directorios de inicio. El directorio /home del servidor1 se monta como el directorio /home en el servidor2. Tengo un problema al intentar dar acceso a una nueva persona a ambos servidores. Utilizo el comando adduser en cada servidor con el mismo nombre de usuario. Sin embargo, el UID no coincide cuando hago esto, por lo que el usuario termina sin tener permiso para los archivos en su directorio de inicio cuando se accede con la cuenta del servidor2.
En el servidor 1 donde se creó el usuario junto con su directorio de inicio. (Las cosas se ven bien)
selah@server1:~$ tail -n 2 /etc/passwd
dfulgon:x:1083:1087:,,,:/home/dfulgon:/bin/bash
swartp:x:1085:1089:,,,:/home/swartp:/bin/bash
selah@server1:~$ ll -a /home/dfulgon | tail -n 3
-rw-rw---- 1 dfulgon dfulgon 25 Jun 2 13:41 .my.cnf~
-rw-r--r-- 1 dfulgon dfulgon 675 Jun 2 13:35 .profile
drwxrwxr-x 2 dfulgon dfulgon 4096 Jun 2 14:27 .ssh/
En el servidor 2, donde se creó una cuenta de usuario con el mismo nombre pero se utiliza el directorio de inicio del otro servidor: (Los permisos están en mal estado y apuntan al usuario incorrecto)
selah@server2:~$ tail -n 2 /etc/passwd
bslf:x:1083:1087:,,,:/home/bslf:/bin/bash
dfulgon:x:1087:1091:,,,:/home/dfulgon:/bin/bash
selah@server2:~$ ll -a /home/dfulgon | tail -n 3
-rw-rw---- 1 bslf bslf 25 Jun 2 13:41 .my.cnf~
-rw-r--r-- 1 bslf bslf 675 Jun 2 13:35 .profile
drwxrwxr-x 2 bslf bslf 4096 Jun 2 14:27 .ssh/
¿Existe una buena manera de superar este problema manteniendo la conveniencia de los directorios personales compartidos?
Respuesta1
Lo más sencillo es crear sus cuentas en alguna base de datos central. Hoy en día, casi todo el mundo tiene algún tipo de base de datos ldap para esto. Pero si quieres seguir el método inseguro de la vieja escuela, también puedes consultar NIS. (no).
Otra opción es utilizar una herramienta de gestión de configuración para crear sus cuentas y mantener los UID sincronizados. Para que pueda crear sus cuentas con Puppet y definir el UID/GID específico que desee.
Puede hacer algunas cosas con el asignador de ID de NFS para traducir ID entre sistemas, pero eso puede convertirse en una pesadilla de gestión.
Respuesta2
La solución a la que vamos:
Verifique ambos archivos /etc/passwd y elija el siguiente GID y UID apropiado. Luego, especificándolos durante el proceso de creación del usuario, así.
addgroup -g $GID $username
adduser -g $GID -u $UID $username