Управление пользователями при совместном использовании домашних каталогов на разных серверах

Управление пользователями при совместном использовании домашних каталогов на разных серверах

У меня есть два сервера Ubuntu, которые совместно используют домашние каталоги. Каталог /home с сервера server1 смонтирован как каталог /home на сервере server2. У меня возникла проблема при попытке предоставить новому человеку доступ к обоим серверам. Я использую команду adduser на каждом сервере с тем же именем пользователя. Однако UID не совпадает, когда я это делаю, поэтому у пользователя не будет разрешения на файлы в его домашнем каталоге, когда к нему обращаются с учетной записью с сервера server2.

На сервере 1, где был создан пользователь вместе с его домашним каталогом. (Все выглядит нормально)

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/

На сервере 2, где была создана учетная запись пользователя с тем же именем, но используется домашний каталог с другого сервера: (Права доступа испорчены и указывают на неправильного пользователя)

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/

Есть ли хороший способ решить эту проблему, сохранив при этом удобство общих домашних каталогов?

решение1

Самый простой способ — создать учетные записи в какой-то центральной базе данных. В наши дни почти у всех есть какая-то форма базы данных ldap для этого. Но если вы хотите использовать небезопасный метод старой школы, вы также можете взглянуть на NIS. (не надо).

Другой вариант — использовать инструмент управления конфигурацией для создания учетных записей и синхронизировать UID. Таким образом, вы можете создавать учетные записи с помощью puppet и определять конкретные UID/GID, которые вам нужны.

Вы можете использовать NFS ID Mapper для преобразования идентификаторов между системами, но это может стать кошмаром для управления.

решение2

Решение, которое мы выбираем:

Проверьте оба файла /etc/passwd и выберите следующие подходящие GID и UID. Затем укажите их во время процесса создания пользователя, как здесь.

addgroup -g $GID $username
adduser -g $GID -u $UID $username 

Связанный контент