Récup d'info utilisateur
Bonjour,
Je dois récupérer sur 4 serveurs Linux redhat certaines données dont les utilisateurs (80) , leur mot de passe, leurs groupes d'appartenance et groupes dans les fichiers passwd et shadow pour ensuite les réinjecter dans les nouveaus serveurs.
Comment faire cela sans avoir à tout me taper à la main?
Merci
Je dois récupérer sur 4 serveurs Linux redhat certaines données dont les utilisateurs (80) , leur mot de passe, leurs groupes d'appartenance et groupes dans les fichiers passwd et shadow pour ensuite les réinjecter dans les nouveaus serveurs.
Comment faire cela sans avoir à tout me taper à la main?
Merci
3 réponses
-
Il faut récupérer les fichiers /etc/passwd, /etc/group et /etc/shadow ainsi que les home directories associés, a priori /home (cf /etc/passwd) et /root. Vu qu'il n'y a que 4 serveurs ça vaut à peine le coup de faire un script.
Tout dépend également de ce qui est installé sur les différentes machines. Une bonne stratégie serait d'installer un serveur ssh sur les 4 machines avec des clés ssh.
http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant
Admettons que les serveurs aient pour ip 192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13. S'il fallait faire un script ce serait ceci dans l'idée :
#!/bin/sh if [ -f ~/.ssh/id_dsa ] then echo "ok j'ai trouvé une ancienne clé ssh" else # On génère une clé ssh ssh-keygen -t dsa -b 1024 fi # Pour chaque serveur for ip in 192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 do # Installer la clé ssh ssh-copy-id -i ~/.ssh/id_dsa.pub root@$ip target="/tmp/$ip" # On crée un répertoire dans /tmp par machine que l'on sauve mkdir -p $target # On rappatrie les fichiers intéresants # Grâce à la clé ssh on n'aura besoin de taper qu'une fois le mot de passe root scp root@$ip:/etc/passwd $target scp root@$ip:/etc/shadow $target scp root@$ip:/etc/group $target scp -r root@$ip:/root $target scp -r root@$ip:/home $target done
Bonne chance -
Bonjour,
En fait je me suis mal exprimé, j'ai 4 serveurs différents (qui vont être détruit puis refait) sur lesquels y a 80 users (par serveur) qui ont chacun un mot de passe, un home directorie, et appartiennent à des groupes différents.
Est-il possible de créér un script qui me récupère toutes ces infos dans 1 fichier par serveur les stocker sur un serveur temporaire et ensuite via un autre script les rebalancer sur leur serveur respectifs - ou bien passer ce fichier en tant que parametre de la commande adduser - ainsi on se retrouverait avec les bons users, password etc... ce serait une opération sans impact sur les utilisateurs.
Mais j'ignore si cela est possible.
Merci de votre aide -
Ce que je te propose consiste à rappatrier la configuration utilisateur de 4 machines. Donc je pense avoir répondu à la moitié de la question. Il suffit d'écrire les commandes scp dans l'autre sens pour les réuploader (et corriger les IP de la boucles for). Peut-être que tu devrais lire "man scp".
Bonne chance