ユーザー名を使用してUbuntuサーバーにログインしています。ログインしたら、passwd
コマンドを入力しています。新しいパスワードを入力するが、次のエラーメッセージが表示されてから1秒後に:
passwd: Authentication token manipulation error
passwd: password unchanged
ここで何が間違っていますか?そのサーバーに物理的にアクセスできない場合、つまりターミナルを使用してssh
でリモート接続している場合に、パスワードを変更するにはどうすればよいですか。
間違ったパスワードを挿入した場合
$ passwd
Changing password for rinzwind.
(current) UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged
このエラーが発生します。正しいパスワードを挿入したことが確実な場合、シャドウパスワードファイルを使用していて、シャドウにこのユーザーのエントリがない場合にもこのエラーが表示されることがあります(基本的に/etc/passwd
にはこのユーザーのエントリがありますが、 /etc/shadow
は含まれません)。
これを修正するには、エントリを手動で追加する(最初にバックアップを作成する!!!)か、pwconv
( Manpage )でシャドウファイルを再作成します。
次の2つのことを確認してください。
mount -o remount,rw /
この最初の部分は、読み取りモードのみであったため、ルートパーティションを読み取り/書き込みとして再マウントします。ルートパーティションを実際にマウント解除し、読み取り/書き込みとして再度マウントします。
次にこれを行います:
chmod 640 /etc/shadow
次に、Sudo passwd USER
を実行します。その後は動作するはずです。この部分は、シャドウファイルに適切なアクセス許可を与えます。
pam-auth-update
混乱した/etc/pam.d/common-password
を修正しました
どのように起こったのか分かりません。 Sudoユーザーが私のアカウントを作成し、それを削除してから再度作成しました。
ここに私が見つけたものがあります
mount -o remount,rw /
passwd
passwd: Authentication token manipulation error
変化なし。
Sudo pwck
エラーは表示されませんでした。
Sudo grpck
エラーは表示されませんでした。
ls -l /etc/passwd /etc/group /etc/shadow /etc/shadow-
-rw-r--r-- 1 root root 767 May 7 16:45 /etc/group
-rw-r--r-- 1 root root 1380 May 7 16:45 /etc/passwd
-rw-r----- 1 root shadow 1025 May 8 09:11 /etc/shadow
-rw------- 1 root root 1025 May 7 16:46 /etc/shadow-
正常に見えます。
Sudo cat /etc/shadow |grep Oracle
oracle:$6$FsPqyplr$DrIvjFDSx0ipHmECMw1AU5hTrbNMnnkGRdFlaQcM.p3Rdu2OLjY20tzUTW61HlFH16cal56rKlLuW4j2mK9D.:15833:0:99999:7:::
表示されたユーザーと暗号化されたパスワード。
Sudo cat /etc/shadow- |grep Oracle
何も表示されませんでした。それが何を意味するのかはわかりませんが、正しく見えません。
Sudo passwd -d Oracle
passwd
そのため、解決策はパスワードを削除してから新しいパスワードをリセットすることでした。
お役に立てれば。
別の問題は、ディスクがいっぱいになっていることです。パスワードをリセットするとこのエラーが発生し、後でディスクをdf
でチェックしましたが、ディスクに使用可能なスペースがないことがわかりました。一部を解放した後、問題なくパスワードをリセットできました。
/etc/pam.d/
の共通パスワードファイルを台無しにしていないか確認してください。現在のパスワードがcommon-password
が必要とするものと一致しない場合、これによりエラーが発生します。私の場合、これが認証トークンエラーが発生する理由でした。
この問題は、/usr/bin/passwd
に設定された不正な許可が原因で発生しました。
次のコマンドを使用して、許可を4511に設定してください。
chmod 4511 /usr/bin/passwd
これで問題は解決します。
また、/ etc/passwdのエントリの形式が正しくないことを確認してください。ユーザーエントリの行に誤った数のコロンがある場合、「passwd」コマンドはそれを解析できず、提供された正確なエラーメッセージで続行を拒否します。
Lubuntu 15.04では、同じトークン操作エラーが発生しました。これは、ファイルシステムがまだ読み取り専用モードになっているためだと考えました。
を使用して:
mount -o remount,rw /
passwd
passwd: Authentication token manipulation error
これは機能しませんが、これは機能します:
mount -o remount, --rw /
passwd
passwd: Authentication token manipulation error
作業していたサーバーは、Windows認証からPowerBroker Identity Server(PBIS)。
基本的にSudo pam-auth-update
を入力すると、次のオプションが表示されます。
を使用してリストの最初の項目を選択解除します Space Bar 選択/選択解除のキー、および Up/Down 必要に応じて矢印。
次にOk
オプションに移動します Tab、そして Left/Right 必要に応じて矢印キー。
押す Enter Ok
オプションの上。
この後、通常どおりpasswd
とadduser
を使用できます
ユーザー設定が完了したら、Sudo pam-auth-update
に戻り、設定を以前のままにしておくことができます。
一般的な場合(つまりPowerBroker Identity Server(PBIS)を使用しない)、Unix Authentication
をアクティブにすることが重要であると思われます(他の認証システムはありません)。
このエラーは、PAMモジュール( man pam_chauthtok
を参照)が新しい認証トークンを取得できなかったことを示しています。これは、ユーザーがまだデフォルトのパスワードを設定しておらず、passwd
がまだ要求している場合にUbuntuで発生する可能性があるため、回避策はroot
特権を使用してパスワードを変更することです。
Sudo passwd $USER
そのため、現在のパスワードの入力を求められることはなく、エラーは発生しません。
参照: 認証トークン操作エラー
上記の情報を使用して、これで問題が解決したことがわかりました
pam-auth-update
PAMからextrausers
オプションを削除する必要があります。
私のログでは、次のエラーを記録しました。
journalctl -f
passwd[16497]: pam_extrausers(passwd:chauthtok): user "xuser" does not exist in /var/lib/extrausers/passwd