WEBMIN LDAP認証:passwdは「認証トークン操作エラー」を返します。

WEBMIN LDAP認証:passwdは「認証トークン操作エラー」を返します。

更新:2023年1月25日、私のsssdとnslcdが正しく動作すると思い、webminのpamモジュールも調整しました。 nsswitch.confにもdbを追加して最初に確認しました。現時点では、ldapsearch -x -D cn=bindadmin,ou=People,dc=xxx,dc=com -W を使用して、ユーザーがいっぱいのデータベースを正常に照会できます。 $USER を正常に渡し、 su -l $USER を使用することもできます。新しいパスワードに関する残りの問題は、ユーザーがwebminにログインできるようにすることです。クライアントが動作していてパスワードの変更が機能しているため、ログインできるようにしたが、変換されたwebminログインを変更しようとすると、ユーザーaclは機能しません。 /var/webmin/miniserv.error に次のエラーが表示されます。このエラーメッセージが表示される唯一のログエラーメッセージのようです。これにより、webminユーザーがログインできません。どんなアイデアがありますか?

/usr/libexec/webmin/acl/save_unix.cgi 行 80 の数字 ne(!=) のパラメーター "" は数字ではありません。 [2023年1月25日:11:01:59 -0500]構成の再読み込み

Unixユーザーログイン用にLDAP認証を設定しようとするとトークンエラーが発生します。 ldapユーザーとグループが機能していて、すべてのunixユーザーをwebminユーザーに切り替えましたが、ユーザーはpasswdを使用してログインしたりパスワードを変更したりできません。 sssd.confを設定して有効にしましたが、問題がPAMファイルに関連している可能性があると思います。私の経験は限られています。どんな助けでもいただきありがとうございます。以下にいくつかのPAM設定を追加しますsssd.conf。この問題を解決するのに役立つ追加情報が必要な場合は、お知らせください。ありがとうございます。

また、ldapmodifyやldapsearchなどの機能を使用することはできません。誤って設定されたldap-clientがサーバーに接続されていないためですか? nslcd.confファイルを使用してwebminでldap-clientを設定し、[OK]ボタンを使用すると、次のように返されますが、以前のようにクライアントを実行/起動するオプションは提供されず、確認設定オプションのみが提供され、両方が提供されます。 ldap-clientを一緒に起動すると、正しく接続されない理由になる可能性がありますか?

LDAP を検索しようとすると、エラー メッセージが表示されます。

SASL/GSS-SPNEGO authentication started
ldap_sasl_interactive_bind_s: Local error (-2)
additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (SPNEGO cannot find mechanisms to negotiate)

Finding LDAP base for users ..
.. found base dc=xxxx,dc=com.
Connecting to LDAP server ..
.. connected to ldap-primary.ue1.-prod.com

Searching for users ..
.. found 507 users.

Checking Unix users service ..
.. service is setup to query LDAP.

Looking for Unix user bjones ..
.. user found successfully.

Your system has been successfully configured as an LDAP client!

期待する:

  • LDAP ユーザーおよびグループ機能が実行中です。 [全体]
  • 変換されたunix webminユーザーログイン機能が正しく機能します。 [動作しない]

次のコマンドは有効です

$ id tuser
uid=6469(tuser) gid=6250(gwtest) groups=6250(gwtest),9003(git),9001(softeng)

$ getent passwd tuser
tuser:*:6469:6250:test user:/home/tuser:/bin/bash

試行するとメッセージが記録されますpasswd tuser

passwd: pam_unix(passwd:chauthtok): user "tuser" does not exist in /etc/passwd
passwd: pam_sss(passwd:chauthtok): Authentication failed for user tuser: 4 (System error)

変換されたwebminユーザーがログインしようとしたときに記録されるメッセージ:

pam_unix(webmin:auth): authentication failure; logname= uid=0 euid=0 tty=10000 ruser= rhost=xxx user=xxx
webmin[8072]: Invalid login as xxxx from xxxx

パスワード確認:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth [default=1 ignore=ignore success=ok] pam_succeed_if.so uid >= 1000 quiet
auth [default=1 ignore=ignore success=ok] pam_localuser.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth sufficient pam_sss.so forward_pass
auth required pam_deny.so

account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account [default=bad success=ok user_unknown=ignore] pam_sss.so
account required pam_permit.so

password requisite pam_pwquality.so try_first_pass local_users_only retry=3
password sufficient pam_unix.so sha512 shadow nullok try_first_pass
password sufficient pam_sss.so


password required pam_deny.so

session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session optional pam_mkhomedir.so umask=0077
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_sss.so

passwd
#%PAM-1.0
auth include system-auth
account include system-auth
password substack system-auth
-password optional pam_gnome_keyring.so
password substack postlogin

webmin
#%PAM-1.0
auth sufficient pam_ldap.so
auth required pam_unix.so nullok
account sufficient pam_ldap.so
account required pam_unix.so
session sufficient pam_ldap.so
session required pam_unix.so

system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth [default=1 ignore=ignore success=ok] pam_succeed_if.so uid >= 1000 quiet
auth [default=1 ignore=ignore success=ok] pam_localuser.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth sufficient pam_sss.so forward_pass
auth required pam_deny.so

account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account [default=bad success=ok user_unknown=ignore] pam_sss.so
account required pam_permit.so

password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_sss.so use_authtok
password required pam_deny.so

session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session optional pam_mkhomedir.so umask=0077
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_sss.so

SSD構成ファイル

[sssd]
config_file_version = 2
services = nss, pam, ssh
reconnection_retries = 3
domains = xxxx

[nss]
filter_groups = root
filter_users = root,named,nscd

[

[domain/xxx]
access_provider = ldap
auth_provider = ldap
cache_credentials = true
chpass_provider = none
debug_level = 3
entry_cache_timeout = 300
enum_cache_timeout = 300
enumerate = true
id_provider = ldap
ldap_access_order = expire
ldap_account_expire_policy = shadow
ldap_default_authtok_type = password
ldap_default_authtok = xxxx

ldap_default_bind_dn = cn=bindadmin-sssd,ou=People,dc=xxxx,dc=com
ldap_enumeration_refresh_timeout = 300
ldap_group_member = memberUid
ldap_group_name = cn
ldap_group_object_class = posixGroup
ldap_group_search_base = ou=Groups,dc=xxxx,dc=com
ldap_id_use_start_tls = false
ldap_network_timeout = 3
ldap_pwd_policy = shadow
ldap_schema = rfc2307
ldap_search_base = dc=xxx,dc=com
ldap_tls_cacertdir = /etc/openldap/cacerts
ldap_tls_reqcert = never
ldap_uri = ldaps://ldap-01.ue1-prod.com
ldap_user_name = uid
ldap_user_object_class = posixAccount
ldap_user_search_base = ou=People,dc=xxxx,dc=com
ldap_user_shadow_expire = shadowExpire
shell_fallback = /bin/bash

ベストアンサー1

インストールして問題を解決しました。Perl-Authen-PAM-module(yum install perl-Authen-PAM)とwebmin pam構成の更新:

auth       required     pam_env.so
auth       sufficient   pam_unix.so likeauth nullok
auth       sufficient   pam_ldap.so use_first_pass
auth       required     pam_deny.so

account    sufficient   pam_unix.so
account    sufficient   pam_ldap.so
account    required     pam_ldap.so

password   required     pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
password   sufficient   pam_unix.so nullok md5 shadow use_authtok
password   sufficient   pam_ldap.so use_first_pass
password   required     pam_deny.so

おすすめ記事