Mappage de groupe NT vers UNIX dans Samba 4

0

Je veux mapper le groupe NT Domain Users à un groupe UNIX différent de celui users sur mon contrôleur de domaine Active Directory Samba 4.7.6, mais lorsque j'essaie de le faire, il échoue comme suit:

> net groupmap modify ntgroup='Domain Users' unixgroup='share' type=domain
Could not update group database
[255]

J'ai lu que vous pourriez maintenant faire ceci avec winbind, alors j'ai essayé, mais j'ai l'erreur suivante.

> wbinfo --set-gid-mapping=1000,S-1-5-21-...-513
failed to call wbcSetGidMapping: WBC_ERR_NOT_IMPLEMENTED
Could not create or modify gid to sid mapping
[1]

Quelle est la bonne façon de gérer le mappage de groupe NT vers UNIX dans Samba 4?

MODIFIER: Sur la liste de diffusion Samba, j’ai trouvé quelqu'un avec un problème similaire , alors peut-être que je pourrais le contourner en modifiant directement le serveur LDAP interne? Quelque chose comme:

ldbadd /var/lib/samba/private/sam.ldb.d/metadata.tdb ...

Malheureusement, je n'ai aucune expérience avec LDAP, donc je ne sais pas comment lui fournir un fichier LDIF valide pour mon cas d'utilisation.

EDIT2: Merci à un article de blog sur la gestion des utilisateurs et des groupes Samba 4 dans LDAP , J’ai réussi à éditer le groupe UNIX vers lequel mappe le groupe NT:

> ldbedit -e nano -H /var/lib/samba/private/idmap.ldb '(objectSid=S-1-5-21-1580746459-3543417057-3597883204-513)'

> wbinfo --group-info='Domain Users'
AD.EXAMPLE\domain users:x:100:

> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> share

Donc, le bon groupe est maintenant signalé par net groupmap, mais wbinfo rapporte toujours l'ancienne valeur, de sorte qu'il ne récupère probablement pas ses données à partir de cette base de données. Je ne suis pas sûr de l'importance wbinfo signaler le bon groupe est pour mon cas d'utilisation, mais je vais voir si je peux le changer aussi avant de l'utiliser comme ma réponse et de la marquer comme résolue.

Ottid Mes
la source

Réponses:

0

D'après ce que j'ai pu comprendre, il semble qu'aucun outil disponible dans Samba 4 ne vous permet de le configurer correctement, mis à part l'édition directe du serveur LDAP intégré.

le net L'outil ne semble pas fonctionner correctement avec le serveur LDAP intégré, seules certaines opérations réussissent, par exemple. la liste des mappages de groupes et l'octroi de droits fonctionnent, mais la liste des membres d'un groupe ou la modification des mappages de groupes ne fonctionne pas (comme le montre ma question).

Pour modifier le mappage, j'ai exécuté les commandes suivantes en tant que root. Nous devons d’abord récupérer le SID de Domain Users, car il sera unique pour chaque provisionnement du serveur Samba.

root> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> users

Ensuite, nous mettons à jour l'enregistrement du serveur LDAP intégré pour le SID en mettant à jour xidNumber: 100 avec le GID UNIX prévu:

root> ldbedit -e nano -H /var/lib/samba/private/idmap.ldb '(objectSid=S-1-5-21-1580746459-3543417057-3597883204-513)'
# 0 adds  1 modifies  0 deletes

Disons que vous avez changé le GID 250 du groupe UNIX appelé share, puis en appelant net groupmap entraînera le groupe signalé être share:

root> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> share

toutefois wbinfo de winbindd continuera à signaler l'ancien GID:

root> wbinfo --group-info='Domain Users'
AD.EXAMPLE\domain users:x:100:

Nous devons donc invalider l’entrée de cache pour Domain Users. Après quelques expériences, j'ai réussi à le faire en lui demandant de rechercher le GID mis à jour:

root> wbinfo --gid-info 250
AD.EXAMPLE\domain users:x:250:

Ce qui est ensuite également rapporté correctement par --group-info:

root> wbinfo --group-info='Domain Users'
AD.EXAMPLE\domain users:x:250:
Ottid Mes
la source