Suコマンドに問題があります。パスワードを知っていて、正しく入力していますが、su
は認証の失敗を示しています。
それで、私はインターネットをチェックしてから、リカバリーモードに入り、ユーザー名のパスワードを以前に入力したものに変更しました。
su
に同じパスワードを入力しても、認証に失敗します。
私が間違っていることを提案してください?
su
は、rootパスワードを要求します。 Ubuntuはデフォルトでrootパスワードを設定しないため、rootになるために使用することはできません。
代わりに、rootになるには、Sudo -i
を個人パスワードで使用します。
su
は、ログインしようとしているアカウントのパスワードを要求します。使用法(簡略化):
su username
username
を省略すると、ユーザー名はデフォルトでroot
になります。 Ubuntuではルートパスワードがデフォルトで無効になっているため、パスワードは無効になります。 rootコマンドを実行する好ましい方法は、suシェルではなく、次のようにSudoを使用することです。
Sudo mount /dev/sdb1 /mnt
buntuのroot
アカウントはデフォルトで無効になっています。 これは、パスワードがないことを意味します(blankパスワードを持つこととは異なります)。 rootのパスワードで認証する試みは成功しません。したがって、su
またはsu -
は機能しません。
代わりに、 Sudo
を使用して、ルートとしてコマンドを実行します。
Sudo command...
su
で取得するようなルートシェルが必要な場合は、次を実行します。
Sudo -s
su -
で取得するようなルートシェルが必要な場合は、次を実行します。
Sudo -i
非ログインユーザーIDの1つとしてgit
(pwdがありません)としてログインする必要がある場合
su - git
Password:
su: Authentication failure
解決策-この構文を使用して、ユーザーID git
としてログインします
Sudo su - git
su
は、rootパスワードを要求します。
コマンドsudoers
を指定し、新しいパスワードを設定することにより、rootになっているときに(passwd
ファイルを使用している場合はSudo su
を指定して)ルートパスワードを設定できます。
ただし、これはさまざまな理由で推奨されません。
私の場合、そのユーザーのエントリが/etc/shadow
にないためでした。
別のテストサーバーに、/etc/passwd
に加えてIDが1000より大きい/etc/group
のすべてのエントリをコピーしましたが、/etc/shadow
を忘れていました。そのため、これらのユーザーのいずれかでsu
を実行するたびに、そのエラーが発生します。 /etc/shadow
に不足しているエントリを追加すると、エラーが表示されなくなります。
たとえば、/etc/shadow
:
myusername:*:16992:0:99999:7:::
ルートアカウントのパスワードが有効になっていても、/bin/su
からsetuidビットが欠落しているOS Minibianでこのエラーが発生しました。
Linuxでは、rootになる唯一の方法はsetuid-rootファイルを実行することです。 Sudo
またはsu
を実行すると、それらのsetuidビットが設定されるため、プロセスの実効ユーザーがrootになり、すでにrootとして認証を行います!失敗した場合は終了します。
とにかく、ここに症状と修正があります:
$ su
Password:
su: authentication failure
$ Sudo su
# ls -l /bin/su
-rwxr-xr-x 1 root root 31092 Jun 5 2012 /bin/su
# chmod u+s /bin/su
# ls -l /bin/su
-rwsr-xr-x 1 root root 31092 Jun 5 2012 /bin/su
違いに注意してください:rwx
before、rws
after。