Récup d'info utilisateur

Fermé
raphael213 Messages postés 98 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 23 novembre 2013 - 13 sept. 2010 à 13:51
mamiemando Messages postés 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024 - 14 sept. 2010 à 22:28
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
A voir également:

3 réponses

mamiemando Messages postés 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024 7 748
13 sept. 2010 à 23:13
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
0
raphael213 Messages postés 98 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 23 novembre 2013 9
14 sept. 2010 à 19:59
Merci pour ton aide mais je pense que je me suis mal exprimé cf mon post
0
raphael213 Messages postés 98 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 23 novembre 2013 9
14 sept. 2010 à 19:55
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
0
mamiemando Messages postés 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024 7 748
14 sept. 2010 à 22:28
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
0