ボックスをCentOS 5からCentOS 6にアップグレードしています。元のサーバーでは、すべてのユーザーがMD5パスワードを持っています。アップグレードされたサーバーは現在、SHA-512パスワードを使用しています。
アップグレード後にパスワードを変更し、/etc/shadow
にSHA-512パスワードを持っているユーザーはcrontab
を正常に使用できますが、パスワードを変更していないのに古いMD5パスワードを持っているユーザーはcrontab
を使用します。彼らが受け取るエラーメッセージは:
Authentication service cannot retrieve authentication info
You (_username_) are not allowed to access to (crontab) because of pam configuration.
私は/etc/pam.d/system-auth
( あなたもできます )を見てきましたが、まだパスワードを変更していないユーザーにcrontabへのアクセスを許可するために何を調整するべきか正確にはわかりません。
chage -d 0
を使用して全員にパスワードの変更を強制できることをよく知っています。パスワードを変更したユーザーはcrontab(およびその他の破損したもの)に再びアクセスできるようになりますが、必要なユーザーが何人かいます次のログインの前にcrontabを編集し、crontab -e -u _username_
をrootとして使用しても、上記とまったく同じエラーで失敗します。
奇妙なことに、この問題は私の開発ボックスには現れませんでした。展開の直前に、ステージングボックスでこれに遭遇しました。古いMD5パスワードを持つ開発ボックスのユーザーはcrontabに問題なくアクセスでき、/etc/pam.d/system-auth
は同一です。開発ボックスとステージングボックスは、IPアドレスを除いて同一であると想定されています。私は本当に明白で愚かな何かを逃したと思う...
だから私の質問は、まだパスワードを変更しておらず、SHA-512ハッシュされていないユーザーがcrontabにアクセスできるようにするにはどうすればよいですか?または、どうすればこの問題を回避できますか?
質問を投稿した後、私はなんとかこの瞬間を修正しました。
/etc/shadow
影響を受けるMD5パスワードユーザーのエントリには、ハッシュされたパスワードが複製された後に何らかの理由でフィールドがあり、PAMが行を解釈できなくなりました。言い換えれば、悪いカットアンドペーストの仕事です。
コーヒーが足りません...
私にもこの問題があり、/ etc/shadowにはそのユーザーのエントリがないことがわかりました。 pwckを使用するとユーザーが追加され、問題は解決しました。
同じ問題があった。アカウントに正確なパスワードが必要ない場合は、次のコマンドを実行してください。
pwconv