web-dev-qa-db-ja.com

CentOS 7でActive DirectoryからUIDとGIDを使用するにはどうすればよいですか?

CentOS 6からCentOS 7への最終的なアップグレードの準備をしています。現在、バージョン6では、認証にADにマップされたLDAPを使用しています。次に、UNIX用のActive Directory拡張機能からのUIDとGIDを使用します。

CentOS 7での実験では、ドメインに参加する方法を説明したドキュメント(Red Hatからのものだと思います)を調べました。プロセスはほとんど単純明快で、ほとんどがうまくいきました。ただし、AD Unix属性のUIDとGIDを使用するだけではありません。それらのIDを完全に異なるIDにマッピングしています。 ADでは、ユーザーの範囲は10000です。 CentOS7は、625000000の範囲の各ユーザーUIDを提供しています。

これまでのところ、私の小規模なテスト(3ボックス)では、UIDはすべてのテストで一貫しているようで、それは良いことです。ただし、本番環境で7のロールアウトを開始すると、段階的なアップグレードになります。すべてのボックスを同時にアップグレードすることはありません。別のボックスで別のUIDを持っているユーザーの問題が心配です。 CentOS 7でAD Unix属性のUIDとGIDを使用する方法はありますか?

ここに私のsmb.confがあります:

[global]
    workgroup = COMPANY
    client signing = yes
    client use spnego = yes
    kerberos method = secrets and keytab
    log file = /var/log/samba/%m.log
    password server = ad_domaincontroller.company.net
    realm = COMPANY.NET
    security = ads
    server string = Samba Server Version %v
    max log size = 50

そして、これが私のsssd.confです

[sssd]
config_file_version = 2
domains = company.net
services = nss, pam, pac

[nss]
filter_groups = root
filter_users = root

[domain/company.net]
id_provider = ad
ad_server = ad_domiancontroller.company.net
ad_hostname = centos7-22.company.net
auth_provider = ad
chpass_provider = ad
access_provider = ad
ldap_schema = ad
use_fully_qualified_names = False
cache_credentials = true
ldap_access_order = expire
ldap_account_expire_policy = ad
ldap_force_upper_case_realm = true

編集:sssd.confにldap_id_mapping = Falseを追加しようとしましたが、その行が含まれていると、sssd.serviceが起動しません。出力は次のとおりです。

Sep 29 12:59:55 centos7-22 sssd[32827]: Starting up
Sep 29 12:59:55 centos7-22 sssd[32828]: Starting up
Sep 29 12:59:55 centos7-22 sssd[32831]: Starting up
Sep 29 12:59:55 centos7-22 sssd[32830]: Starting up
Sep 29 12:59:55 centos7-22 sssd[32829]: Starting up
Sep 29 12:59:55 centos7-22 sssd[32832]: Starting up
Sep 29 12:59:56 centos7-22 sssd[be[32833]: Starting up
Sep 29 12:59:56 centos7-22 systemd[1]: sssd.service: control process exited, code=exited status=1
Sep 29 12:59:56 centos7-22 systemd[1]: Failed to start System Security Services Daemon.
-- Subject: Unit sssd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit sssd.service has failed.
--
-- The result is failed.
Sep 29 12:59:56 centos7-22 systemd[1]: Unit sssd.service entered failed state.
6
mrwboilers

Sssd-adのmanページから:

デフォルトでは、ADプロバイダーは、Active DirectoryのobjectSIDパラメーターからのUIDおよびGID値をマップします。詳細については、以下の「IDマッピング」セクションを参照してください。 IDマッピングを無効にし、代わりにActive Directoryで定義されたPOSIX属性に依存する場合は、ldap_id_mapping = Falseを設定する必要があります

6
Andy

SSSDは内部的にIDを一意性属性として使用し、UIDの変更は現在サポートされていません。

ID割り当てからPOSIX情報に、またはその逆に切り替えた場合と同様に、ID割り当てが変更された場合は、データベースを削除する必要があります。多分それはマニュアルページに目立つように文書化されていません-私たちの文書を改善するためにバグを報告してください。ありがとうございました!

1
jhrozek