Как сделать идентификаторы пользователей и групп одинаковыми на двух серверах?
У меня есть два сервера, один из которых имеет том от другого, смонтированный как устройство 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 groupadd
:
-g, --gid GID Числовое значение идентификатора группы. Это значение должно быть уникальным, если не используется опция -o. Значение должно быть неотрицательным. По умолчанию используется наименьшее значение идентификатора больше 999 и больше, чем в любой другой группе. Значения от 0 до 999 обычно зарезервированы для системных учетных записей.