Changer l'emplacement du répertoire personnel de la racine

10

Je voudrais changer l'emplacement du répertoire personnel de root de / root à / var / root. Je pouvais faire cela avec usermod:

usermod -d /var/root root

Cependant, avec la dernière version de usermod, vous ne pouvez pas modifier le répertoire de l'utilisateur actuellement connecté. J'essaie de changer le répertoire de base de root au démarrage dans un script de configuration du système qui est exécuté lors du premier démarrage d'un système. Je ne peux donc pas être vraiment un autre utilisateur.

Existe-t-il un autre moyen de changer le répertoire de base de l'utilisateur actuellement connecté (root dans ce cas)?

Je pourrais probablement sed / etc / passwd, mais cela semble négligé.

Kevin S.
la source
Lien dur / root vers / var / root?
Garrett
Vous pouvez modifier / etc / passwd manuellement, je suppose.
billc.cn

Réponses:

11
  1. Le seul problème avec l'édition manuelle /etc/passwdest qu'il peut y avoir une course si un autre utilisateur ou programme modifie ce fichier pendant que vous le laissez ouvert dans votre éditeur. Dans ce cas, cette modification sera perdue lorsque vous enregistrez le fichier. Si vous êtes certain que ce problème ne vous concerne pas (aucun autre utilisateur connecté, etc.), vous pouvez continuer et modifier/etc/passwd

  2. Assurez-vous que le répertoire personnel de la racine est disponible lors du démarrage en mode mono-utilisateur, par exemple, il devrait se trouver sur un système de fichiers racine.

  3. Diverses astuces telles que créer un utilisateur secondaire avec uid 0, y basculer et changer le répertoire racine de la racine ne fonctionneront pas. Les vérifications de l'utilisateur actuellement connecté sont basées sur un ID utilisateur.

haimg
la source
5
Utiliser vipwou sudoeditpeut protéger contre # 1. En ce qui concerne le n ° 2, un répertoire personnel manquant entraînera généralement un avertissement uniquement.
Grawity
@grawity: Merci pour les infos vipw, je ne le savais pas. Je pense que l'utilisation de vipw est probablement la meilleure solution dans l'ensemble.
haimg