Другая учетная запись с тем же uid, что и root, запрашивается, чтобы установить новый пароль для root, а не сам

После обновления ОС от 5300-06 до 5300-11 это странное поведение произошло.

Моя система имела еще одну учетную запись unix, назовем ее « abc », специально настроил ее uid на 0 для работы в качестве корня со всеми его полномочиями. Он управлялся вот так много лет и отлично работал. Однако после обновления, когда пароль пользователя abc истекает, а не сразу после успешного входа в систему для нового пароля, он теперь просит изменить пароль « root », и он действительно изменяет пароль root, а не abc.

Если я изменю uid uc на другой уникальный идентификатор, он будет успешно говорить об изменении пароля abc при появлении запроса.

Есть много причин, по которым я не могу изменить uc. Так что я пытаюсь выяснить, почему это происходит и как я могу « исправить » его? Это действительно вызвано обновлением ОС?

Если у двух учетных записей одинаковый идентификатор пользователя, то по определению они являются одной и той же учетной записью. Возможно, но не рекомендуется иметь более одной строки в /etc/passwd (или другой пользовательской базе данных) с тем же идентификатором пользователя; они – один и тот же пользователь , с разными способами входа в систему.

Вы использовали неподдерживаемую функцию. Риск использования неподдерживаемой функции заключается в том, что она иногда ломается, когда система обновляется.

Истекает пароль, как правило, плохо для безопасности, поскольку он заставляет пользователей выбирать более слабые пароли или записывать их на заметку, помещенную на монитор. Единственное преимущество безопасности для истечения срока действия паролей – это, в конечном счете, блокировка оставленных учетных записей. Поскольку счет abc предположительно является тем, который вы используете как часть какой-то обычной задачи, не истекайте.

Вероятно, вы должны изменить эту настройку, так как она хрупка. Что его изменить, это зависит от того, для чего вы используете учетную запись abc (у кого есть пароль, в каких обстоятельствах он используется, что такое оболочка abc, присутствует ли он на нескольких машинах …).

Скорее всего, обновление системы ввело скрипт или другую функцию, связанную с истечением срока действия пароля, которая теперь ищет имя пользователя на основе UID, а не извлекает имя пользователя из переменной среды или другого источника. Как отмечает Жиль, наличие нескольких имен пользователей с одинаковым UID является хрупким.

Если вы действительно не можете переместить abc в другой UID, попробуйте найти файлы / сценарии, связанные с истечением срока действия пароля, которые могут быть изменены патчем. Например, проверьте /usr/sbin/userCommonTasks . Было бы лучше, если бы вы могли сравнить его с версией предварительного исправления. Вы также можете проверить /etc/security/users . Возможно, может помочь перемещение записи abc выше root's.

Любое исправление будет взломано, потому что наличие нескольких имен пользователей для одного UID является своего рода взломом, поэтому в конечном счете вы просто торгуете нестабильностью. Но нужно быть в состоянии обмять систему, если вы сможете выяснить, что изменилось.