Un autre count avec le même uid que root est invité à définir un nouveau mot de passe pour root, pas lui-même

Après avoir amélioré l'os de 5300-06 à 5300-11, ce comportement étrange est arrivé.

Mon système avait un autre count unix, appelons-le " abc ", a délibérément configuré son uid à 0 pour fonctionner en tant que root avec toutes ses autorités. Il a été couru comme ça depuis des années et a fonctionné complètement bien. Cependant, après la mise à niveau, lorsque le mot de passe d'abc expire, au lieu de requestr immédiatement un nouveau mot de passe, il request maintenant de changer le mot de passe de " root ", et il change vraiment le mot de passe de root, pas celui d'abc.

Si je change le uid d' abc en un autre identifiant unique, il indiquera avec succès de changer le mot de passe d' abc lorsque vous y serez invité.

Il y a beaucoup de raisons pour lesquelles je ne peux pas changer le uid d' abc . Donc, ce que j'essaie de savoir, c'est pourquoi cela se produit et comment puis-je le « réparer »? Est-ce vraiment causé par la mise à jour du operating system?

Si deux counts ont le même ID user, ils sont par définition le même count. Il est possible, mais pas recommandé, d'avoir plus d'une ligne dans /etc/passwd (ou une autre database user) avec le même ID user; ils sont le même user , avec différentes façons de se connecter.

Vous utilisiez une fonctionnalité non prise en charge. Le risque d'utiliser une fonctionnalité non prise en charge est qu'il se casse parfois lors de la mise à niveau du système.

L'expiration du mot de passe est généralement mauvaise pour la security, car elle oblige les users à choisir des passwords plus faibles ou à les écrire sur une note post-it collée au moniteur. Le seul avantage de security pour les passwords expirants est de verrouiller les counts abandonnés. Puisque le count abc est probablement celui que vous utilisez dans le cadre d'une sorte de tâche ordinaire, ne l'expirez pas.

Vous devriez probablement changer cette configuration, car elle est fragile. Ce qu'il faut changer dépend de ce que vous utilisez pour le count abc (qui a le mot de passe, dans quelles circonstances il est utilisé, quel shell d'abc est présent sur plusieurs machines, …).

Il est probable que la mise à jour du système ait introduit un script ou une autre fonction liée à l'expiration du mot de passe qui search maintenant le nom d'user basé sur l'UID plutôt que de glaner le nom d'user à partir d'une variable d'environnement ou d'une autre source. Comme le note Gilles, avoir plusieurs noms d'user avec le même UID est fragile.

Si vous ne pouvez vraiment pas déplacer abc vers un autre UID, essayez de searchr les files / scripts associés à l'expiration du mot de passe qui ont peut-être été modifiés par le correctif. Par exemple, vérifiez /usr/sbin/userCommonTasks . Ce serait mieux si vous pouviez le comparer à la version pré-patch. Vous pouvez également vérifier /etc/security/users . Peut-être déplacer l'input d' abc au-dessus de la racine pourrait peut-être vous aider.

Tout correctif va être piraté, car avoir plusieurs noms d'user pour un UID est un peu un hack, alors finalement, vous ne faites que trader les instabilités. Mais il devrait être possible de ralentir le système si vous pouvez comprendre ce qui a changé.