web-dev-qa-db-ja.com

Windows Active Directoryドメイン内のLinuxコンピューター(Debian)、ADの管理者はログイン後にroot権限を持っている必要があります

Debianマシン(Squeeze)を既存のActive Directory(MS Windows 2008 R2 Server)に参加させることができました。すべて正常に動作し、Active Directoryのアカウントを使用してログインできます(NTP、Kerberos、PAM、Samba、およびWinbindはすべて構成されており、良好な状態にあるようです)。

質問:次のようにActiveDirectoryグループをUNIXグループにマップしたい

  • ドメイン-管理者(RID 512)->ルート(gid 0)
  • ドメイン-ユーザー(RID 513)->ユーザー(gid 100)

私は2つの目標を達成したいと思います:

  1. ユーザーが作成したディレクトリとファイル(自動的に作成されたホームフォルダを含む)は、gid = 100である必要があります。

    現時点では、gid = 10000、winbindによって自動的に取得されたgidが取得されます)

  2. Domain-Adminsグループのメンバーは、ログイン後にroot権限を持つ必要があります(または、wheelグループのメンバーになる)

    現時点では、Domain-Adminsグループのメンバーはgid = 0のメンバーでもwheelグループのメンバーでもありません(私のDebianインストールには存在しませんが、それは別の問題です)。

これらの目標を達成するために、私は次のマッピングを設定しようとしました

  • net groupmap add ntgroup = "Domänen-Admins" unixgroup = root rid = 512 type = domain
  • net groupmap add ntgroup = "Domänen-Benutzer" unixgroup = users rid = 513 type = domain

このアプローチは成功せず、RIDの代わりにSIDを提供することも役に立ちませんでした。それぞれのアプローチで、winbindキャッシュが空(ネットキャッシュフラッシュ)であり、sambaサービスとwinbindサービスの両方が再起動されていることを確認しました。

何かお勧めはありますか?あなたのサポートは高く評価されています! (そして私はそのようなシナリオを解決したDebianの達人がそこにいることを知っています;-))

よろしく、Wolfram


さらに、ユーザーsyneticon-djによって要求されたいくつかの情報:

SIDはスクランブルされています

root@S15:~# net getdomainsid
SID for local machine S15 is: S-1-5-21-aaaaaaaaaa-bbbbbbbbbb-ccccccccc
SID for domain ITSL is: S-1-5-21-dddddddddd-eeeeeeeeee-ffffffffff
root@S15:~# net groupmap add ntgroup="Domänen-Admins" unixgroup=root rid=512 type=domain
Successfully added group Domänen-Admins to the mapping db as a domain group
root@S15:~# net groupmap add ntgroup="Domänen-Benutzer" unixgroup=users rid=513 type=domain
Successfully added group Domänen-Benutzer to the mapping db as a domain group
root@S15:~# net groupmap list
Domänen-Admins (S-1-5-21-aaaaaaaaaa-bbbbbbbbbb-ccccccccc-512) -> root
Domänen-Benutzer (S-1-5-21-aaaaaaaaaa-bbbbbbbbbb-ccccccccc-513) -> users

私には、間違ったグループアカウントがマッピングされているようです。つまり、マップされたSIDは、ドメインSIDではなくローカルマシンのSIDに対応します。とにかく、それは機能しません、すなわち、目標#1は達成されません。

ドメインSIDの選択を強制するオプションは見つかりませんでした。したがって、グループマップをクリアし、次のようにグループSIDを使用してマッピングを直接追加しました。

root@S15:~# net groupmap add ntgroup="Domänen-Benutzer" unixgroup=users sid="S-1-5-21-dddddddddd-eeeeeeeeee-ffffffffff-513" type=domain
Successfully added group Domänen-Benutzer to the mapping db as a domain group
root@S15:~# net groupmap list
Domänen-Benutzer (S-1-5-21-dddddddddd-eeeeeeeeee-ffffffffff-513) -> users

このアプローチも機能しません。つまり、目標1は達成されません。

リクエストに応じて、smb.confからの抜粋を次に示します。

[global]
    workgroup = ITSL
    realm = itsl.local
    security = ADS
    # This machine is a member server, hence no authentication and we leave the following line commented
    ; domain logons = yes

    idmap uid = 10000-20000
    idmap gid = 10000-20000
    template Shell = /bin/bash

    ;   winbind enum groups = yes
    ;   winbind enum users = yes

    winbind use default domain = yes

リクエストに応じて、PAM configからの抜粋を次に示します。

Debian Squeezeのデフォルト、私は何も変更していません。

root@S15:/etc/pam.d# grep 'winbind' *
common-account:account   [success=1 new_authtok_reqd=done default=ignore] pam_winbind.so
common-auth:auth         [success=1 default=ignore]                       pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
common-password:password [success=1 default=ignore]                       pam_winbind.so use_authtok try_first_pass
common-session:session   optional                                         pam_winbind.so
common-session-noninteractive:session   optional                          pam_winbind.so

よろしく、Wolfram

4
WLanger

uidをrootにマップしたり、gidをこの方法でマップしたりしないでください。

管理者にシステムのroot権限を付与する場合は、Sudoを使用できます。 Windowsグループを使用してSudo権限を付与できます(Domain-Admins)。

1
Thomas Berger