web-dev-qa-db-ja.com

誤ったPAM構成によってSudoからロックアウトされ、スタックでPAMの不正なジャンプが発生しました

/var/log/auth.logでスパムのPAMメッセージを軽減しようとしているときに、 this postに続いて、/etc/pam.d/Sudoでさまざまな組み合わせを試しました。残念ながら、私が試した最後の行では、Sudo/su操作から完全にロックアウトされました。

session [success=1 default=ignore] pam_succeed_if.so quiet_success user = root uid = 0 ruser = pi

CLIで発生するエラーは次のとおりです。

$ Sudo nano Sudo
sudo: pam_open_session: Permission denied
Sudo: policy plugin failed session initialization

対応する/var/log/auth.logメッセージ:

May 11 14:56:29 Sudo:       pi : TTY=pts/0 ; PWD=/etc/pam.d ; USER=root ; COMMAND=/bin/nano Sudo
May 11 14:56:29 Sudo: pam_unix(Sudo:session): session opened for user root by pi(uid=0)
May 11 14:56:29 Sudo: PAM bad jump in stack
May 11 14:56:29 Sudo:       pi : pam_open_session: Permission denied ; TTY=pts/0 ; PWD=/etc/pam.d ; USER=root ; COMMAND=/bin/nano Sudo

明らかに、Sudoを使用してファイルを編集しても、ファイルを編集し直すことはできません。

ファイルを編集して戻し、この恐ろしい状況から抜け出すにはどうすればよいですか?

(これは、Raspberry Pi3Bの最新のDebianStretchにあります。)

2
not2qubit

/etc/pam.d/Sudo(おそらく管理者またはrootアカウント)を編集する権限を持つユーザーとしてログインできる場合は、それを実行してください。

それ以外の場合は、別のOS /システムを使用してファイルを編集する必要があります。 Raspberry PiはまだSDカードにシステムパーティションを持っていますよね?したがって、ラズベリーをシャットダウンし、別のコンピューターを使用してSDカードを読み取り、ファイルを編集することができます。または、RaspberryがライブUSBから別のOSを起動する場合。

ルートログインを提供する可能性のあるリカバリブートオプション(singleなど)がある可能性があります...

1
Xen2050

Linuxシステムのおかげで、これは非常に簡単でした。

Linuxディストリビューション、私の場合はKali VMを起動するだけです。 SDカードをUSBリーダーに挿入して接続します。2Rasbian SDパーティション:bootrootfsが自動的に認識されます。次に、/media/<blahblah>/rootfs/etc/pam.d/にcdして、Sudoでファイルを編集します。マウントを解除して、Piに戻します。

そして、これがPAMをいじるときに注意するように教えてくれなかった場合、少なくともSDカードまたはパーティションをバックアップすることを考えました。暗号化されたFSでは、これはおそらく機能しなかったでしょう。

2
not2qubit