web-dev-qa-db-ja.com

CentOS 7:ADメンバーのSamba共有へのアクセスで繰り返し失敗する

Samba 4.6.2 sambaActiveDirectoryメンバーサーバーがあります。毎月かそこらで、すべてのクライアントはすべての共有に接続する機能を失います。ドメインを離れ、マシンアカウントを削除し、ドメインに再度参加することで問題を回避できますが、これを数週間ごとに行わなければならないのは明らかに間違っています。マシンアカウントのパスワードの有効期限の問題だと思いましたが、adcli updateを実行しても役に立ちません。マシンパスワードの有効期限のグループポリシーを変更しようとしましたが、それも役に立ちませんでした。

  • Centos 7.4.1708
  • Samba 4.6.2
  • sssd-krb5-1.15.2
  • SSSD 1.15.2-50
  • realmd-0.16.1-9

クライアント側のエラーメッセージは

"\\cheetoes is not accessible. You might not have permissions to use this network resource. Contact the administrator of this server to find out if you have access permissions.
Login Failure: The target account name is incorrect"

サーバー側では、起動時にlog.smbdに次のものが含まれます。

[2018/05/09 12:03:41.622878,  0] ../source3/libads/kerberos_util.c:74(ads_kinit_password)
  kerberos_kinit_password [email protected] failed: Preauthentication failed
[2018/05/09 12:03:41.622923,  1] ../source3/libads/sasl.c:821(ads_sasl_spnego_bind)
  ads_sasl_spnego_gensec_bind(KRB5) failed for ldap/true-companion.hymesruzicka.org with user[CHEETOES$] realm=[HYMESRUZICKA.ORG]: Preauthentication failed

そして、クライアントごとのログは次のことを示しています。

[2018/05/09 12:06:58.259646,  1] ../source3/librpc/crypto/gse.c:646(gse_get_server_auth_token)
  gss_accept_sec_context failed with [Unspecified GSS failure.  Minor code may provide more information: Request ticket server cifs/[email protected] not found in keytab (ticket kvno 3)]
[2018/05/09 12:06:59.099902,  1] ../source3/librpc/crypto/gse.c:646(gse_get_server_auth_token)
  gss_accept_sec_context failed with [Unspecified GSS failure.  Minor code may provide more information: Request ticket server cifs/[email protected] not found in keytab (ticket kvno 3)]

再参加した直後は、クライアントの障害も、log.smbdの「事前認証に失敗しました」というエラーも表示されません。再結合が機能する理由には特に戸惑いますが、それはしばらくの間だけです。

1
Charlweed

SambaのCentOS7ビルドは、ActiveDirectoryのコンテキストでは非常に壊れています。 Samba 4.8.3のCentOSビルドでは、「update」サブコマンドが試行されると、コアダンプがadcliになります。 adcliもドメインへの参加またはドメインからの脱退に失敗し、/ etc/samba/smb.conf、およびsssdpamの構成を破壊します。

そして、それはadcliだけではありません。 realmdwinbind、およびsmbd自体はWindowsActive Directoryサーバーでは正しく機能せず、一部のクライアント(iOSデバイスなど)が接続できなくなります。私が見つけた唯一の回避策は、「ストック」サンバスタックを構築し、最新のリリースソースからadcli + reamldを作成し、それをCentOSサンバスタックで使用することです。また、/ etc/yum.conf内のすべてのsambaコンポーネントの更新を無効にする必要があります。無効にしないと、ローカルのsambaインストールがCentOSによって中断されます。 yum.confファイルには少なくとも次のものが必要です。

exclude=adcli-* libsmbclient-* libwbclient* python-smbc-* realmd-* samba-* samba-client-* samba-client-libs-* samba-common-* samba-common-libs-* samba\
-common-tools-* samba-libs-* samba-python-* samba-winbind-* samba-winbind-clients-* samba-winbind-modules-*  

CentOSのsambaをアンインストールすることは、他の多くのパッケージがそれに依存しているため、実用的ではないことに注意してください。

0
Charlweed