Récup d'info utilisateur

raphael213 Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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
    1. raphael213 Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   9
       
      Merci pour ton aide mais je pense que je me suis mal exprimé cf mon post
      0
  2. raphael213 Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   9
     
    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
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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