web-dev-qa-db-ja.com

Active DirectoryからのUIDおよびGIDの割り当て

CentOS 7マシンがドメインFOOBARに正常に参加しました(realm list)そして、これがAD(非ローカル)からのユーザーに関する情報です。

[root@centos7 ~]# id [email protected]
uid=5631533([email protected]) gid=5600513(domain [email protected])
groups=5600513(domain [email protected]),5631532([email protected]) 

UIDとGIDはどのように割り当てられますか?どういうわけかそれらを何らかの望ましい値にマッピングすることは可能ですか?

5
dr_

SSSDのADマッピングは、デーモン自体のアルゴリズム(おそらくハッシュ関数)を使用して決定されます:組み込みであるため、デフォルトを同じに保つと、SSSDを使用するすべてのコンピューターは、コンピューターに関係なくIDを同じ値にマッピングする必要があります使用されています。これが ADマッピングに関するRed Hatの説明です。

SSSDは、ADユーザーのSIDを使用して、IDマッピングと呼ばれるプロセスでアルゴリズム的にPOSIX IDを生成できます。 IDマッピングは、ADのSIDとLinuxのID間のマップを作成します。

  • SSSDが新しいADドメインを検出すると、利用可能なIDの範囲を新しいドメインに割り当てます。したがって、各ADドメインはすべてのSSSDクライアントマシンで同じID範囲を持っています。

  • ADユーザーが初めてSSSDクライアントマシンにログインすると、SSSDはユーザーのSIDとそのドメインのID範囲に基づくUIDを含め、SSSDキャッシュにユーザーのエントリーを作成します。

  • ADユーザーのIDは同じSIDから一貫した方法で生成されるため、Red Hat Enterprise Linuxシステムにログインするとき、ユーザーは同じUIDとGIDを持ちます。

[domain /name]セクションで _min_id_および_max_id_を使用してIDの最小値と最大値を設定できますof sssd.conf。 説明については、「ドメインセクション」を参照してください。 「例」には、その使用例があります。

_[sssd]
domains = LDAP
services = nss, pam
config_file_version = 2

[nss]
filter_groups = root
filter_users = root

[pam]

[domain/LDAP]
id_provider = ldap
ldap_uri = ldap://ldap.example.com
ldap_search_base = dc=example,dc=com

auth_provider = krb5
krb5_server = kerberos.example.com
krb5_realm = EXAMPLE.COM
cache_credentials = true

min_id = 10000
max_id = 20000
enumerate = False
_

これらの値を上書きする場合、一貫したマッピングを維持したい場合は、SSSDでそのドメインを使用する他のシステムに同じマッピングを設定してください!

4
ErikF