Configuration LDAP pour groupes et utilisateurs
Installation des groupes et des utilisateurs
Les groupes et utilisateurs sont visualisé sur le NAS dans le L'application Directory Server
Vu la limitation du user interface pour l'ajout des utilisateurs/groupes sur le NAS, tout les ajouts se font au travers des commandes système.
Les groupes
Les groupes "utilisateurs" suivants existent:
- develop: 4000
- geneve: 5000
- leuven: 6000 (il n'est plus utilisé)
- chile: 7000
- guest: 8000 (il n'est pas utilisé)
- coralie: 9000
- docker: 999 (pour les futures demandes d'installation (ex: IRAF) (rem ce No est dans /etc/group, il est créé lors de l'installation de docker et est récupéré automatiquement par le scripts groups2ldap.pl)
Comme il est impossible d'entrer le No pour chaque groupe au travers de l'interface. On utilise un scripts qui fait les travail à distance:
./groups2ldap.pl ldapadd -x -W -H ldap://10.10.132.101/ -D "uid=root,cn=users,dc=synologyCluster" -f allGroups.ldapInitGroup
puis suivre les instructions pour la mise à jour de ldap (peut-etre lancé plusieurs fois)
Liste des utilisateurs
le principe est de recréer les utilisateurs existant dans l'ancien système et les recréer avec leur meme userId et groupId
Récupération des info sur argos1:
argos1: ypcat passwd > ~/passwd.argos1.txt cd /home /bin/ls -1 * > ~/homeList.txt
Attention le fichier password est "corrompu" car il y a un accent dans l'entree depmec qu'il faut corriger à l'éditeur avant de continuer (DEPARTEMENT mécanique). Puis obtenir la liste réduite des utilisateurs ayant un home défini:
fgrep -f homeList.txt passwd.argos1.txt > passwdWithUserHavingHome.txt
Cette liste est utilisée pour fabriquer les fichier de config pour LDAP (un fichier par utilisateur) avec l'utilitaire (LW) passwd2ldap.pl.
./passwd2ldap.pl passwdWithUserHavingHome.txt ldapadd -x -W -H ldap://10.10.132.101/ -D "uid=root,cn=users,dc=synologyCluster" -f allUsers.ldapInitUser
Attention, l'utilitaire passwd2ldap.pl tente de fabriquer une email pour les utilisateur "genevois", il est bon de reviser cette liste pour enlever/corriger les erreur flagrantes, notamment le manque d'email pour les userNames raccourci par rapport au vrai nom.
Attention, cette operation sert uniquement à récupérer les utilisateur existant sous l'ancien système. Par la suite pour ajouter un observateur, il faut utiliser le script adduser (ce dernier doit etre adapté (source: argos1:/etc/yp/adduser)
Ajout de tout les utilisateurs dans le group docker
Lancez le script addGroupDockerToAll.pl qui fait une recherche de l'ensemblees utilisateur sur LDAP et farbrique un fichier de configuration pour l'ajout des utilisateurs dans le groupe docker.
/opt/import/ldap/addGroupDockerToAll.pl
Et suivez les instructions c'est a dire:
ldapadd -x -W -H ldap://10.10.132.101/ -D "uid=root,cn=users,dc=synologyCluster" -f tmp/config.ldapAddGroupDockerToAll
Changement d'un password utilisateur:
Soit en interactif sur le NAS:
DirectoryServer->User->(SelectUser)->edit
Soit en command line (mettre le nom de l'uitilisateur a la place de XXXXXXXXX:
ldappasswd -S -W -H ldap://10.10.132.101/ -D "uid=root,cn=users,dc=synologyCluster" -x "uid=XXXXXXXXX,cn=users,dc=synologyCluster"
Soit par l'utilisateur lui-meme:
passwd
Choisir le shell de démarrage
Etrangement ce choix n'est pas possible par Directory Server, on peut le faire de cette manière, c'est à dire:
Creer un fichier ldifFile:
dn: uid=<loginName>,cn=users,dc=synologyCluster changetype: modify replace: loginShell loginShell: /bin/tcsh
puis
ldapmodify -x -W -H ldap://10.10.132.101/ -D "uid=root,cn=users,dc=synologyCluster" -f <ldifFile>
Pour ajouter un groupe a un utilisateur
soit dans
Directory Server -> User -> (select)<user> -> user groups
soit avec ldapmodify avec ce fichier de configuration:
dn: cn=<group>,cn=groups,dc=synologyCluster changetype: modify add: memberUid memberUid: <loginName>
le scripts addGroupToUser.pl fabrique ce type de fichier: usage:
addGroupToUser.pl <loginName> <groupName>
Ce script crée: tmp/<user>.ldapAddGroupToUser
Il faut ensuite mettre à jour le synology avec la commande:
ldapmodify -x -W -H ldap://10.10.132.101/ -D "uid=root,cn=users,dc=synologyCluster" -f tmp/<user>.ldapAddGroupToUser
Remarque concernant le champ userPassword
ldapsearch retourne le champ userPassword::, si on veut utiliser la sortie de ldapsearch en entree (pour une configuration) ce champ doit etre ecrit de la sorte:
en sortie (reponse de ldapsearch):
userPassword:: e2NyeXB0fWc0ZHBDcnJ0NWVxMTY=
en entree (configuration avec ldapadd, ...) Attention le double ":" passe en simple ":"
userPassword: {crypt}e2NyeXB0fWc0ZHBDcnJ0NWVxMTY=