以下を使用してユーザー(user1)のパスワードを変更しました。root
passwd user1
しかし、試しssh user@localhost
たり、通過しgdm
たりtty
、常に失敗したとき
ログjournalctl
の表示
Failed password for user1 from ::1
FAILED LOGIN 1 FROM tty3 FOR user1, Authentication failure
pam_unix(gdm-password:auth): conversation failed
pam_unix(gdm-password:auth): auth could not identify password for [user1]
新しいArch Linuxインストール(64ビット)を使用しています。
答え1
解決策は/etc/passwd
ファイルを変更することです。
シェルuser1
から/usr/bin/bash
/bin/bash
答え2
/etc/shells
回避策はで説明されているファイルにありますman 5 shells
。
一言で言えば」[that] は、有効なログインシェルのフルパス名を含むテキストファイルです。」。
伝統的にのみ/etc/shells
含まれています。/bin/sh
/bin/bash
したがって、問題を「修正」する/usr/bin/bash
には。/etc/shells
/bin/bash
chsh
最新のディストリビューションには/bin
シンボリックリンクがあるため、以前の修正/usr/bin
は正確である必要があります。これにより、多くのプログラムが中断される可能性があります。いいえそのgetusershell()
呼び出しを使用しますが、ハードコーディングされたシェルパスを使用してください。
しかし、依存する必要がある唯一のシェルは/bin/sh
。
答え3
1.rootとしてログイン
ユーザー名をrootとして入力します。私は単純化のためにテキスト(tty#例:tty2)モードを好みます。
Ctrl + Alt + F#(すべてのファンクションキーF2-F7)で開きます。
username : root
password :
2.ユーザーのシェルを確認してください
$less /etc/passwd
あなたは次のようなものを見ることができます
mr_rathod:x:1000:1000:Abhay Raj Singh Rathod:/home/mr_rathod:/usr/bin/bash (unaccessible shell)
mr_rathod:x:1000:1000:Abhay Raj Singh Rathod:/home/mr_rathod:/bin/zsh (unvailable shell)
三。パスワードファイルの変更passwdファイルを編集して問題を解決してください。
# nano /etc/passwd
シェルを次に変更します。/bin/bashほとんどのUNIXベースのシステムと同じように動作