"/usr/lib/passmgmt: パスワードファイルが使用中です。後でもう一度お試しください"(Solaris 11)

"/usr/lib/passmgmt: パスワードファイルが使用中です。後でもう一度お試しください"(Solaris 11)

私は複数のユーザーアカウントを作成したSolaris 11システムを使用してきました。とにかく、権限のないアカウントの1つに認証を付与してsolaris.*から、権限のない他のアカウントにSystem Administratorプロファイルを提供しようとしました。

ユーザー$認証
ソラリス。*
user$ pfexec usermod -P"+システム管理者" user2

これは次のエラーメッセージで失敗します(例:3回繰り返されます)。

/usr/lib/passmgmt: パスワードファイルが使用中です。後でもう一度やり直してください。
/usr/lib/passmgmt: パスワードファイルが使用中です。後でもう一度やり直してください。
/usr/lib/passmgmt: パスワードファイルが使用中です。後でもう一度やり直してください。

再起動した直後でも「後でもう一度やり直して」、毎回同じ結果が得られます。これは、存在しないsolaris.*(または-auths one)assignユーザーがコマンドを試みたときとはまったく異なるエラーです。

また、割り当てプロファイル、認証、および役割に関連する認証を明示的に追加してみました。solaris.profile.assign- 何よりもsolaris.*(割り当てが明示的に行わなければならない方法などsolaris.grant)これは役に立ちません(私がしたときには表示されませんauths-solaris.*どちらか一方のみを表示します)。

しかし、私は以下を使ってusermodこれらのことをうまく割り当てました。またはユーザーを使用するときデフォルト管理者構成ファイル(以前のバージョンのSolarisからコピーして貼り付けました)

solaris.*しかし、私は本当に他のユーザーに権限を与える solaris.profile.assignのに十分なはずだと思います。usermod

もしそうなら、(トリプル)エラーメッセージはどういう意味ですか?なぜ動作しないのですか?その場合してはいけない働く、なぜできないの?これを行うための正しい「最小」認証とプロファイルの組み合わせは何ですか?

答え1

なぜ動作しないのですか?

誤った情報

/usr/lib/passmgmt: Password file(s) busy.  Try again later
/usr/lib/passmgmt: Password file(s) busy.  Try again later
/usr/lib/passmgmt: Password file(s) busy.  Try again later

に参加する権限がないことを意味できます/etc

このエラーメッセージについて見つけることができる唯一のソースは次のとおりです。passmgmt ソースコードpassmgmtファイル生成が失敗した/etc/.pwd.lock場合、またはファイルを実際にロックできない場合(ファイルがすでに存在する場合)、生成されます。

passmgmt他の多くのSolarisユーティリティと同様に、ファイルロックパスワードファイルを試してください/etc/.pwd.lock。 (ロックパスワードファイルのソースコードリンク)。

usermodwhile正常に使用できることを考慮すると、rootこれは誤ったプロセスロックの問題ではないようです/etc/.pwd.lock。したがって、公開されたIllumosソース(今はわずかに古いことが認められている)によると、表示されるエラーメッセージの生成に失敗した唯一の失敗は次のとおりです。作成に失敗しました/etc/.pwd.lock。これは、あなたのプロセスに書き込み権限がないためであることはほぼ確実です/etc

それはなぜ失敗しました。残念ながら、私はそれが何であるかを調べる時間がありません。しなければならない失敗するかどうか。

関連情報