Automatisation création user

Bonsoir,
je me permets de poster car je dois réaliser un script bash et je n’ai aucune connaissance en scripting.

J’ ai une première salle informatique avec 5PC et un switch sur le réseau 192.168.100.0/28
Une seconde salle informatique avec 5PC et un switch sur le réseau 192.168.101.0/28
Ces deux salles sont reliées à un serveur Linux DHCP/router. Pas de serveur DNS.
J’ai aussi un serveur de fichier, une box et un PC Admin sur le réseau 192.168.0.0/28.

Je dois faire un script me permettant de créer un utilisateur avec mot de passe, puis de modifier de façon unique
le hostname de chaque PC, et enfin de pouvoir supprimer par la suite le répertoire /home et tous les fichiers
de l’utilisateur.
Ce script doit être placé sur le serveur de fichier.

Depuis le poste Admin, je peux me connecter en root sur le serveur de fichier, mais je ne sais pas par la suite comment exécuter
le script sur chaque poste.

Voici une première ébauche, mais je suis vraiment nul

Création d’un user : je crée un utilisateur au hasard avec mdp au hasard,
je récupère le hash,efface l’utilisateur, créer des nouveaux utilisateurs avec le même mdp
avec demande changement au premier démarrage.
useradd bidon
passwd bidon
grep bidon /etc/shadow
userdel -r bidon
useradd -m -p ‹ $6$6BzQPktP$Qdmk82FmwGJ8xdq7keclArbsT3v1HZxTQrfU5Tk5NuP9.8z4dJkkOhgu3pGML7Im8hhSNu73MgyUequMbSt4f4 › $user
change -d 01/01/1970 -M 99999 $user

#Suppression utilisateur et /home
grep user /etc/passwd | awk -F: ‹ { print $3 } › « je récupère UID de l’utilisateur »
find / -user $UID -ok rm {} ;
userdel -r $user

#Pour le hostname, je n’ai pas d’idée
peut être un mix entre le nom du réseau et le dernier octet de l’adresse IP.
Enfin j aimerai utiliser nmap pour scanner les adresses ip via le script et pouvoir le lancer sur les ip ouvertes.

Je ne sais pas si j’ai été clair mais en tous les cas je vous remercie par avance pour votre aide.

Pour le hostname, tu utilise ton serveur DHCP avec une configuration par allocation d’adresse via l’adresse MAC. Du type:

host hostname01 {
    hardware ethernet 01:02:03:04:05:06; # adresse mac du pC hostname01
      fixed-address 192.168.100.xxx;
  option host-name "hostname01";
}

Sur les machines s’assurer que les dhclient.conf comporte bien un require host-name.

Si tu veux avoir des ID/user commun à toutes les machines, alors utilise un LDAP pour centraliser leur définition.
Sur les machines n’existent en dur que des comptes d’admiin de secours (plus root bien sur).
Quand un user se connecte, la machine consulte le ldap pour vérifier login/mdp.

Aucun script à faire.

Et dieu inventa active directory…

Après LDAP :slight_smile:

ouai mais bon…pk se faire suer avec une usine à gaz alors que tu as AD

ps: je parle en prod hein…

quelle usine à gaz? une fois configuré c’est facile d’utoiliser ldap pour la cration d’utilisateurs. Il y a des utilitaires ou des interfaces prévus pour ça.
Active directory ça nécessite d’acheter des licences.

il faut que je verifie mais il me semble que tu as simplement à acheter la licence des servers …
Derriere tu peux avoir des parcs linux hein!

ps: je me demande si le temps que tu passes à config open ldap ca ne paye pas ta licence w$

C’est chiant à configurer openldap

non, clairement non, surtout si tu sait comment faire :smiley:

Si tu as un bon tuto je suis preneur…par curiosité…bien sûr

ps: grrr les fameux fichiers ldif…:nauseated_face:

ps: au fait Clochette…et pour les gpo tu fais comment sous linux? :stuck_out_tongue:

Ou tout simplement nis. Le paquet nis fournit à la fois le serveur et le client.
C’est certainement plus vieillot et moins glamour que ldap mais pour une douzaine de systèmes cela fait le job.

La page

man nsswitch.conf

est installée même si nous n’avez pas nis et fait un bon nombre de références à nis.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac

Non, tu dois aussi acheter des licences pour les utilisateurs maintenant.

Il faut une heure à définir l’architecture du LDAP le configurer et le tester.

Voilà +1

NIS c’est périmé/obsolète/dépassé et en plus coté sécurité c’est la lose. :slight_smile:

Plus besoin tu montes le serveur avec la définition de base et ensuite tu utilises un client pour te connecter et créer les groupes, les utilisateurs, les machines, etc… Il y a pas des outils maintenant qui permettent d’automatiser.

Merci, en effet je viens de voir ca …consternant

ps: et comment tu configures des gpo avec linux?

Avec Linux/unix en général la notion de GPO ne veut rien dire.
Les GPO sont directement liées à l’architecture et les fonctionnalités internes propre à Windows. Elles n’ont pour la plupart aucun sens dans le monde Unix/Linux. Souvent d’ailleurs les GPO servent surtout à corriger des malfaçons et des erreurs implémentations des services informatiques.

Il faudrait trouver des exemples pour voir, et les traiter au cas par cas.

Puppet et/ou Ansible :wink: et en bien plus puissant :wink:

1 J'aime

Pour en revenir au sujet de départ, ce n’est pas la bonne manière de procéder, je pense qu’un simple annuaire ldap avec une petit interface de gestion te permettra de réaliser et entretenir la chose au mieux.

1 J'aime

:woozy_face: