この奇妙な動作は、オペレーティングシステムを5300-06から5300-11にアップグレードした後に発生します。
私のシステムに別のUnixアカウントがあります。名前を「アルファベット”、特にuidを次のように設定します。0として根そしてそのすべての権威。長年にわたってこのように実行されており、それは素晴らしい作品です。しかし、アップグレード後にabcのパスワードが期限切れになると、ログインが成功した直後に新しいパスワードを入力するように求められなくなります。根パスワードを入力すると、実際にはabcパスワードの代わりにルートパスワードが変更されます。
私が変わったらアルファベットuidを別の一意のIDに変更すると、正常に変更されたことが示されます。アルファベットメッセージが表示されたら、パスワードを入力してください。
変えられない理由は多いアルファベットuid。それで、私が見つけようとしているのはなぜこのようなことが起こり、これをどうするべきなのか」固定する「本当に?本当にオペレーティングシステムのアップグレードに起因していますか?
答え1
2 つのアカウントが同じユーザー ID を持つ場合、定義上同じアカウントです。/etc/passwd
(または別のユーザーデータベース)に同じユーザーIDを持つ複数の行がある可能性がありますが、これはお勧めできません。同じユーザー、さまざまなログイン方法があります。
サポートされていない機能を使用しています。サポートされていない機能を使用すると、システムのアップグレード時に機能が中断されることがあります。
有効期限が切れたパスワードは、通常、ユーザーが弱いパスワードを選択したり、モニターに貼付した付箋に記載されているため、セキュリティには悪くなります。期限切れのパスワードの唯一のセキュリティ上の利点は、破棄されたアカウントが最終的にロックされることです。 abcアカウントは、日常的な作業に使用するアカウントである可能性があるため、期限切れにならないようにしてください。
この設定は壊れやすいので変更する必要があります。どの変更は、abcアカウントを使用しているか(パスワードを持つ人、どのような状況で使用されるのか、abcのシェルは何であるか、複数のコンピュータに存在するかなど)によって異なります。
答え2
システムアップデートでは、環境変数や他のソースからユーザー名を収集するのではなく、UIDに基づいてユーザー名を照会するパスワードの有効期限に関連するスクリプトやその他の機能を導入した可能性があります。 Gillesが指摘したように、同じUIDを持つ複数のユーザー名を持つことは脆弱です。
本当に動けないならアルファベット別のUIDにアクセスして、パッチに変更された可能性があるパスワードの有効期限に関するファイル/スクリプトを見つけます。たとえば、/usr/sbin/userCommonTasks
パッチ前のバージョンと比べてみると良いと思います。また、それを確認することができます/etc/security/users
。たぶん引越しアルファベットルートの上の項目が役に立つかもしれません。
複数のユーザー名を持つ1つのUIDはハッキングなので、最終的に不安定性を取引することです。ただし、何が変更されたのかを把握できれば、システムが正常に動作するようにすることができます。