web-dev-qa-db-ja.com

PAMSSSDはローカルユーザーを許可します

PAMを使用したデフォルトのSSSD設定があります。 LDAPユーザーとして問題なくログインできます。ただし、サーバー上にローカルユーザーを作成すると、次のようになります。

adduser test1
passwd test1

次に、そのユーザーとしてログインしようとすると、次のエラーが発生します。

pam_sss(sshd:account): Access denied for user test1: 10 (User not known to the underlying authentication module)

私の/etc/nsswitch.confはこれです:

passwd:     files sss
shadow:     files sss
group:      files sss

#hosts:     db files nisplus nis dns
hosts:      files dns  

bootparams: nisplus [NOTFOUND=return] files

ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files sss

netgroup:   files sss

publickey:  nisplus

automount:  files ldap
aliases:    files nisplus

sudoers: files sss

現在、filesnsswitch.confに代替としてリストされていますが、認証するファイルを調べていないようです。

SSSDが認証モジュールである場合、ローカルユーザーとしてのログインを許可するにはどうすればよいですか?

2
user3063045

認証、パスワード変更、アクセス制御のトラブルシューティング認証を成功させるには、最初にユーザー情報を正確に提供する必要があります。認証をデバッグする前に、ユーザー情報がgetent passwd $userまたはid $userで解決できることを確認してください。ユーザー情報の取得に失敗すると、安全なログまたはジャーナルに次のようなメッセージが表示されます。

pam_sss(sshd:account): Access denied for user admin: 10 (User not known to the underlying authentication module)

情報源

2
Mohit Malviya

このエラーが発生したとき、問題は、セカンダリ認証(私の場合はyubikey)が/etc/pam.d/common-authのunix authの前にリストされているはずでしたが、最後に配置していたことでした。あなたの状況には当てはまらないかもしれませんが、チェックする価値があります

0
Dion Steel

奇妙に聞こえます。アカウントで始まる行で、pam構成を確認する必要があります。 pam_sssだけがあり、pam_unixはないと思います。

適切なpamファイルを見つけるのは難しいかもしれませんが、使用するディストリビューションによって異なります。

RHELベースのシステムとSSHの場合、それは/etc/pam.d/password-authです。

0
sterni1971

LDAPユーザー(ローカルユーザーではない)の2要素認証にYubiKeyを使用しているという点で、@ DionSteelと同様の問題が発生しました。

CentOS 7を実行しているので、扱っていたファイルは/etc/pam.d/sshdです。

もともと私は私の認証セクションに次のものを持っていました:

#%PAM-1.0
auth       required     pam_yubico.so ...
auth       required     pam_sepermit.so
#auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare

パスワード認証ではなくSSHキー認証を使用しているため、password-authはコメント化されています。

ローカルユーザーもマシンにSSHで接続できるように、物事を再構築する必要がありました。

#%PAM-1.0
auth       required     pam_sepermit.so
auth       sufficient   pam_yubico.so ...
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare

まず、YubiKey認証をsufficientではなくrequiredにしました。これは、それと以前にリストされたauthモジュールのいずれかが成功した場合、ユーザーはすぐに認証され、それ以上のauthモジュールはチェックされないことを意味します。失敗した場合、PAMはそれを無視し、それ以降のauthルールに進みます。

このため、他のすべてのrequiredモジュールをYubiKey認証の前に移動する必要がありました。したがって、auth required pam_sepermit.soを1行目に移動しました。

最後に、password-auth行のコメントを解除して、YubiKey認証が失敗した場合にローカルユーザーがパスワードで認証できるようにしました(ローカルユーザーの場合はそうなります)。

0
Mattman