Samba ADは、Linuxクライアントからドメインユーザーにログインできません。

Samba ADは、Linuxクライアントからドメインユーザーにログインできません。

私は過去2週間、ホームネットワークでSambaをActive Directoryコントローラとして使用しようとしました。

Ubuntu Server 22.04にSambaをインストールするためのいくつかのガイドとビデオに従いましたが、このページほとんどをカバーします。 WindowsおよびLinuxシステムをドメインに参加させることができます。を使用して接続されているコンピュータを一覧表示できますsamba-tool computer list

Sambaツールを使用してユーザーとグループを正常に作成しました。 Windowsクライアントでこのアカウントを使用してログインできます。

Linux(ubuntu 23.04および23.10)でドメインに参加できます。Ubuntu公式フォロー文書がありますが、ログインできません。

bp@bas-hp:samba (master) % sudo login                   
bas-hp login: [email protected]
Password: 

Login incorrect
bas-hp login: [email protected]
Password: 

Login incorrect

Kerberos チケットを作成できます

bp@bas-hp:samba (master) % klist           
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: [email protected]

Valid starting     Expires            Service principal
16-04-24 22:26:57  17-04-24 08:26:57  krbtgt/[email protected]
    renew until 17-04-24 22:26:53

私がフォローしようとしたドキュメントのテストセクションの結果はうまく始まったようです。

bp@legion-ubuntu:~ % getent passwd [email protected]
[email protected]:*:1494001108:1494000513:Bas Prins:/home/[email protected]:/bin/bash
bp@legion-ubuntu:~ % getent passwd [email protected] 
[email protected]:*:1494001104:1494000513:bp:/home/[email protected]:/bin/bash

ただし、コマンドを実行すると、以下groupsに関連するいくつかの結果が表示されます。

bp@legion-ubuntu:~ % groups [email protected]       
[email protected] : domain [email protected] denied rodc password replication [email protected] [email protected] enterprise [email protected] domain [email protected]
bp@legion-ubuntu:~ % groups [email protected]
[email protected] : domain [email protected] denied rodc password replication [email protected] [email protected] enterprise [email protected] domain [email protected]

「rodcパスワードのコピー拒否」が何を意味するのか、そして問題を解決する必要があるかどうか/方法をすべて検索しました。


sssd.confを完了してください。

[sssd]
domains = sb.lan
config_file_version = 2
services = nss, pam

[domain/sb.lan]
default_shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = SB.LAN
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u@%d
ad_domain = sb.lan
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = ad
timeout = 20
ldap_uri = ldap://dc.sb.lan
ldap_search_base = dc=sb,dc=lan
auth_provider = krb5
krb5_server = dc.sb.lan
krb5_passwd = dc.sb.lan
krb5_validate = True

Samba / ADについてもっと知っている人がこの問題を最もよく解決する方法についてアドバイスをしてくれることを願っています。根本原因に関する洞察を得るためにどのツールを使用できますか?

アップデート2

Ubuntuクライアントシステムのsssd.confに次の行を追加した後

ad_gpo_access_control = permissive

ついにコマンドラインからログインできるようになりましたsudo login。しかし、残念ながらログイン成功後に私が考えているポリシーをダウンロードしようとしましたが、失敗します。

Last login: Wed Apr 17 14:15:01 CEST 2024 on pts/2
Applying machine settings
ERROR Error from server: error while updating policy: can't get policies for "legion-ubuntu": failed to retrieve the list of GPO (exited with 1): exit status 1
Failed to bind - LDAP client internal error: NT_STATUS_INVALID_PARAMETER
Failed to connect to 'ldap://dc.sb.lan' with backend 'ldap': LDAP client internal error: NT_STATUS_INVALID_PARAMETER
Failed to open session: (1, 'LDAP client internal error: NT_STATUS_INVALID_PARAMETER') 

Failure setting user credentials

私はこれまでこの問題を解決しようとしていますが、もちろん誰かがどこで何を直すべきかを教えてくれることを願っています;-)。この問題を自分で特定できる場合は、質問を更新します。

答え1

クライアントPCにUbuntuを再インストールし、すべての手順を再確認した後、問題は正常に解決されました。これでSamba ADサーバーにログインできます。

私がしなければならない2つのことは公式文書とは異なりました。

  • 参加する前にkrb5.confを修正
  • サインアップ後のsssd.confパッチ

最初のステップとして、Ubuntuクライアントのkrb5でリバースDNSを無効にする必要があります。

[libdefaults]
    rdns = false

次に、ドメインに正常に参加した後、sudo realm -v join <domain-name>Ubuntuクライアントのsssd.confに次の行を追加する必要がありました。

# THIS IS MANDATORY to fix "permission denied" when PAM tries to authenticate
# https://serverfault.com/questions/872542/debugging-sssd-login-pam-sss-system->
# suggested work around in question
ad_gpo_access_control = permissive

一度それを行い、sssdを再起動しました。

sudo systemctl restart sssd

ログインできます。

bp@legion-ubuntu:~ % sudo login                   
legion-ubuntu.sb.lan login: SB\bp
Password: 
Welcome to Ubuntu 23.04 (GNU/Linux 6.2.0-37-generic x86_64)

これ以上エラーはありません。ローカルユーザーとしてログアウトすると、最終的にADユーザーとしてログインできます。

関連情報