Voor het werk ben ik bezig om het een en ander wat makkelijker te maken om onze interne software te deployen. Een van de stappen hiervoor is de overstap van CVS naar SVN. Omdat we een gemengde omgeving hebben van Windows en Linux wordt er gebruik gemaakt van Active Directory voor authenticatie van verschillende systemen, zo dus ook SVN. Maar onze applicatieservers zijn Linux en hebben lokale gebruikers. De server die onze software build en deployed draait op Linux en hier ben ik met Bash bezig om het een en ander te automatiseren.
Wat ik heb:
Whiptail driven vragen die ingevuld worden. Dit zijn ook de gebruikersnaam en wachtwoord voor AD ivm SVN checkout. Het hele gebeuren is in principe klaar, op een punt na: check van gebruiker in AD ivm deployen naar productie (ontwikkelaars mogen dat niet).
Wat ik wil:
Via ldapsearch zoeken of de gebruiker in een bepaalde groep zit en aan de hand hiervan de productieomgeving als optie weergeven of niet. Ik kan dan ook gelijk controleren of de gebruikersnaam en wachtwoord klopt (ldapsearch geeft een error als 't niet kan binden).
Waar ik op vastloop:
De bind die nodig is om AD/LDAP te kunnen doorzoeken vereist een DN. Maar de gebruikers staan niet in dezelfde OU. Ontwikkelaars staan in een andere OU dan de mensen die wel naar productie mogen gaan. Ik wil niet een aparte gebruiker gebruiken voor de initiële bind (om de DN van de gebruiker te vinden), want dat maakt mijn script minder flexibel en vereist een plain text wachtwoord in het script of ldap.conf.
Dus hoe kan ik binden als user met wisselende DNs? De DN van ontwikkelaars is OU=dev,OU=IT,DC=domein,DC=local, die van productie gebruikers eentje hoger. Google geeft mij niet veel hulp hierin, ik krijg geen zinnig antwoord. Ergens een ldap master die 't weet?
Wat ik heb:
Whiptail driven vragen die ingevuld worden. Dit zijn ook de gebruikersnaam en wachtwoord voor AD ivm SVN checkout. Het hele gebeuren is in principe klaar, op een punt na: check van gebruiker in AD ivm deployen naar productie (ontwikkelaars mogen dat niet).
Wat ik wil:
Via ldapsearch zoeken of de gebruiker in een bepaalde groep zit en aan de hand hiervan de productieomgeving als optie weergeven of niet. Ik kan dan ook gelijk controleren of de gebruikersnaam en wachtwoord klopt (ldapsearch geeft een error als 't niet kan binden).
Waar ik op vastloop:
De bind die nodig is om AD/LDAP te kunnen doorzoeken vereist een DN. Maar de gebruikers staan niet in dezelfde OU. Ontwikkelaars staan in een andere OU dan de mensen die wel naar productie mogen gaan. Ik wil niet een aparte gebruiker gebruiken voor de initiële bind (om de DN van de gebruiker te vinden), want dat maakt mijn script minder flexibel en vereist een plain text wachtwoord in het script of ldap.conf.
Dus hoe kan ik binden als user met wisselende DNs? De DN van ontwikkelaars is OU=dev,OU=IT,DC=domein,DC=local, die van productie gebruikers eentje hoger. Google geeft mij niet veel hulp hierin, ik krijg geen zinnig antwoord. Ergens een ldap master die 't weet?
Commandline FTW | Tweakt met mate