Как сделать идентификаторы пользователей и групп одинаковыми на двух серверах?

У меня есть два сервера, один из которых имеет том от другого, смонтированный как устройство NFS. У меня есть приложение на mounter, которое создает файлы, которые затем должны обрабатываться приложением на mountee.

Я сталкиваюсь со всеми видами проблем с разрешениями. У меня одни и те же пользователи и группы на обоих серверах, но идентификаторы не совпадают.

Когда приложение в Mounter создает файл на устройстве NFS, файл, как представляется, принадлежит Mountee некоторой строке длинных чисел.

Я не могу запустить команду chown с монтерной машины, потому что приложение не запускается от имени пользователя root.

Может кто-нибудь мне помочь?

2 ответа

Решение

Вам нужен какой-то метод для синхронизации учетных записей пользователей / идентификаторов между вашими системами.

Это может быть достигнуто вручную путем (осторожного) создания учетных записей и последующей синхронизации баз паролей (например, /etc/passwd в Linux), но гораздо чаще достигается с помощью службы каталогов, такой как NIS или LDAP. На этот каталог ссылаются все системы, которым требуется общая аутентификационная информация, что делает его гораздо более масштабируемым, чем создание учетных записей в каждой системе.

В зависимости от того, сколько пользователей вам нужно обслуживать, прежний метод или его производная может оказаться менее трудоемким, чем настройка каталога. Я видел несколько случаев (и делаю это сам в некоторых небольших развертываниях), где системы управления конфигурациями (такие как Puppet или Chef) используются для синхронизации локальных баз паролей в каждой системе - это имеет преимущество в сохранении авторитетного источника учетных данных, но избегает накладных расходов на обслуживание службы каталогов.

Укажите UID/GID во второй системе при создании учетной записи. (Или централизовать аутентификацию.)

От man useradd:

-u, --uid UID Числовое значение идентификатора пользователя. Это значение должно быть уникальным, если не используется опция -o. Значение должно быть неотрицательным. По умолчанию используется наименьшее значение идентификатора больше 999 и больше, чем у любого другого пользователя. Значения от 0 до 999 обычно зарезервированы для системных учетных записей.

man-страница useradd

От man groupadd:

-g, --gid GID Числовое значение идентификатора группы. Это значение должно быть уникальным, если не используется опция -o. Значение должно быть неотрицательным. По умолчанию используется наименьшее значение идентификатора больше 999 и больше, чем в любой другой группе. Значения от 0 до 999 обычно зарезервированы для системных учетных записей.

manadd страница группы

Другие вопросы по тегам