こんにちは。
今回は、
passwdコマンド
の実行におけるトラブルと対処について書いてみたいと思います。
管理をしているサーバに、Linuxを使っているサーバがあるのですが、殆ど、管理者ユーザー(root)を使って、設定変更などしているので、一般ユーザーでの動作を全くしていなかったのですが、たまたま、今回、このサーバに登録している一般ユーザーの方から、パスワードを変更するために、
# passwd
を実行したところ、
# passwd: Authentication token manipulation error
というエラーが出て、パスワードが変更できなかったとの連絡を貰いました。
そこで、思い当たる原因が2つほどあったので、1つ1つあたってみました。
まず1つ目。
このエラーが出たときですが、大半の原因が、
/etc/passwd
/etc/shadow
の整合性がとれていないために発生するエラーのようなので、
# pwconv
を実行し、2つのファイルの整合性を取ってみたのですが、エラーが解消されませんでした。
2つ目。
改めてrootユーザーで、passwdコマンドを実行してみたところ、何ら問題なくパスワードが変更できましたので、もしやと思い、改めて、一般ユーザーでpasswdコマンドを実行したところ、上記エラーが出ました。
このことから、単純にpasswdコマンドが一般ユーザーから実行できない権限になっていることが判ったので、
# chmod 4755 passwd
を実行し、SUID属性を付与し、一般ユーザーで実行できるようにパーミッションを変更しました。
※元々passwdのパーミッションは、rwxr-xr-xだったんですが、SUID属性の付与で、rwsr-xr-xになっています。
今回の場合、2つ目のSUID属性が付与されていなかったために一般ユーザーからパスワード変更が出来なかったようです。
それにしても、原因が2つあるのに、エラーメッセージは1つってのは、なんですかねぇ。
コメント