web-dev-qa-db-fra.com

Étapes à suivre pour restaurer le répertoire de base? (ID utilisateur, etc.)

Disons que j’ai un home.tgz et que je veux le déposer sur une boîte Ubuntu fraîchement installée.

Que dois-je faire avant de décompresser le fichier? Créer des utilisateurs? Qu'en est-il des identifiants d'utilisateurs? Groupes? Qu'en est-il du cryptage?

6
Martin
  1. Créez le compte utilisateur, éventuellement avec les mêmes UID et GID qu'auparavant et avec le répertoire de base au même emplacement (par exemple, /home/sid)
  2. Définir le mot de passe
  3. Décompressez le fichier dans le répertoire personnel de l'utilisateur
  4. Changer de propriétaire si vous n'utilisiez pas les mêmes UID et GID qu'auparavant
  5. Ajouter l'utilisateur à d'autres groupes requis

Si vous voulez simplifier le processus, vous devrez faire plusieurs choses. Dans ce qui suit, je supposerai que l'utilisateur s'appelle mark.

  1. Enregistrez l'appartenance au groupe de l'utilisateur: cd ~mark && id mark > mark.identity
  2. Sauvegardez le répertoire personnel à partir de son parent - par exemple, s'il s'agit de /home/mark, vous souhaiterez alors cd /home && tar jcpf mark.tar.bz2 mark
  3. Sur le nouvel hôte, restaurez-le dans/home (cd /home && tar xjpf mark.tar.bz2)
  4. Identifiez le groupe, le nom d'utilisateur et les appartenances au groupe, puis restaurez-les. Cela devrait être assez scriptable, quelque chose comme:
 #!/bin/bash 
 USER = "$ {1}" 
 si [! -e "$ {USER}". identité]; then 
 echo "Pas de fichier d'identité" 
 exit 
 fi 
 
 Gd = `awk '{print $ 2" $ {USER} ". identity } '| sed -e "s /.*(// g" -e "s /).*// g" `
 GLIST = 'awk' {print $ NF" {USER} ". identity} '| sed -e "s/[az] * = // g" -e "s/[0-9] * (// g" -e "s /) // g" `
 
 pour GROUP dans $ {Gd} $ {GLIST}; Est-ce que 
 récupère le groupe $ {GROUP}>/dev/null 
 STATUS = $ {?} 
 if [$ {STATUS} -ne 0]; puis 
 groupadd $ {GROUP} 
 fi 
 terminé 
 
 useradd -g "$ {Gd}" -G "$ {GLIST}" "$ {USER}" 

Notez que je viens d'écrire ça ici, je ne l'ai pas testé.


Oui, cela suppose que tous les groupes existent. Il ne serait pas difficile d'étendre le script pour vérifier si chaque groupe existait et le créer sinon. Les changements ci-dessus devraient prendre soin de cela.

Notez également que cela ne prendra pas en compte les privilèges obtenus via Sudo. Cela n’aidera pas non plus si vous avez un courrier électronique local ou autre. Il ne reste plus qu'à configurer l'utilisateur avec les mêmes groupes qu'auparavant. De plus, si un répertoire existe déjà, il sera écrasé. Une attention particulière est donc requise.

4
Cry Havok

Dans mon test, vm, j'ai ajouté bob (1001) et alice (1002). J'ai supprimé Bob et ajouté Joe (1001). Pardon je me suis trompé. Vous devrez simplement réaffecter le propriétaire et le groupe de dossiers personnels de chaque utilisateur à chaque utilisateur.

Cela peut sembler fastidieux, mais c'est juste une explication détaillée des 3 étapes.

Comme vous avez besoin de privilèges de super utilisateur pour effectuer ces tâches de maintenance, nous préfixons chaque commande avec Sudo, ce qui nous donne ces privilèges.

Sur notre nouvelle installation Ubuntu:

  • # 1 créer le compte utilisateur: Sudo adduser alice
  • # 2 décompresser les fichiers sauvegardés dans son nouveau répertoire personnel
  • # 3 faire alice le propriétaire des fichiers: Sudo chown -R alice\:alice /home/alice

Pour expliquer les commandes:

  • # 1 adduser crée le répertoire/home/alice pour nous (entre autres)
  • # 3 l'option -R signifie appliquer la propriété de manière récursive, alice \: alice indique comment spécifier le nouveau owner\:group pour les fichiers et nous demandons à chown d'effectuer cette tâche sur /home/alice.

Maintenant, tous les fichiers sous/home/alice lui appartiendront et elle ne devrait avoir aucun problème à accéder à ses fichiers. J'espère que cela a du sens.

Créez le nouveau compte d'utilisateur avec le même nom, il aura alors le même UID que l'ancien compte d'utilisateur. Je me souviens d'avoir lu quelque chose à ce sujet sur une liste de diffusion quelque part, mais je ne trouve pas la source où je l'ai lue.

0
invert