14 votes

Déplacement du dossier /Utilisateurs dans MacOS 10.15 (Catalina) ?

Dans le passé, lorsque nous voulions décharger le dossier /Users du disque interne, nous créions simplement un lien symbolique pour /Users qui pointait vers /Volumes/External_Drive_Name/Users. Le Mac en question est un serveur pour deux laboratoires informatiques, hébergeant 60 Macs avec quelques téraoctets de données répartis sur 200~ comptes utilisateurs. Héberger le dossier Users sur le disque interne n'est tout simplement pas une bonne option pour nous.

Les liens symboliques ne sont plus supportés (pour les dossiers du répertoire racine) dans Catalina / 10.15, donc cela ne fonctionne plus en utilisant la méthode éprouvée. Lors de la mise à jour, le lien symbolique a simplement été supprimé et remplacé par le dossier standard Users.

Je me suis renseigné sur les liens fermes en créant un fichier synthetic.conf via man synthetic.conf, mais cette méthode ne fonctionne pas pour le dossier Users. Je suis capable de créer un fichier synthetic.conf qui crée un lien pour le dossier foo dans le répertoire Root qui pointe vers un autre volume, mais essayer de rediriger les utilisateurs de la même manière casse presque toutes les fonctionnalités.

J'utilise la syntaxe suivante et je place synthetic.conf dans /etc/synthetic.conf :

Utilisateurs (caractère de tabulation) /Volumes/Nom du disque_externe/Utilisateurs

Avec cela, je suis capable de démarrer complètement (bien que lentement) et de me connecter mais le Finder et Spotlight se plantent de manière répétée, me signalant que le système est incapable de trouver/créer un dossier utilisateur pour l'utilisateur actuellement connecté.

Quelqu'un a-t-il déjà trouvé un moyen de le faire ?

Quelqu'un connaît-il d'autres astuces pour rediriger MacOS afin qu'il recherche le dossier Users sur un autre volume ?

11voto

Steve Chambers Points 21588

Vous avez manqué une préférence cachée et difficile à découvrir pour déplacer votre dossier /Users/[USERNAME] vers un autre emplacement, qui est intégrée à MacOS depuis (au moins) quelques années.

  1. Ouvrir les préférences du système
  2. Allez dans Utilisateurs et groupes
  3. Cliquez sur le cadenas et authentifiez-vous
  4. Faites un clic droit (ou un contrôle) sur votre nom d'utilisateur et sélectionnez "Options avancées ".
  5. Cliquez sur le bouton "Choisir..." et dirigez-le vers l'endroit où vous souhaitez placer votre dossier personnel.

Une fois que c'est fait, tout ce que vous avez à faire est de copier votre matériel de l'ancien emplacement vers le nouvel emplacement et de ne plus jamais vous occuper des liens symboliques.

3 votes

Je connais cette méthode, mais elle n'est réalisable que sur un système comptant peu d'utilisateurs. Ce serveur crée quelques dizaines de nouveaux utilisateurs tous les 6 mois environ. J'ai l'impression qu'il doit y avoir un moyen de modifier l'emplacement par défaut pour les nouveaux utilisateurs, tout comme vous pouvez le faire via la méthode que vous avez décrite pour les comptes utilisateurs existants.

1 votes

Il semble que vous ayez besoin de comptes réseau ? support.apple.com/fr-gb/guide/directory-utility/diruc37c9dad/

0 votes

@benwiggy en lisant entre les lignes je pense que le Mac en question est l'hôte pour les comptes de réseau.

6voto

lx07 Points 2680

Vous pouvez également utiliser dscl pour déplacer le dossier utilisateur des utilisateurs actuels en spécifiant l'option NFSHomeDirectory entrée.

Comme expliqué dans ce document d'assistance Apple Masquer un compte d'utilisateur dans MacOS vous pouvez utiliser cette commande pour déplacer le répertoire personnel de "yourUser" :

sudo mv /Users/yourUser /new/path/yourUser

Si le nouvel emplacement se trouve sur un volume séparé et que vous souhaitez copier les données utilisateur existantes, il sera nécessaire d'utiliser la méthode suivante cp pour copier le dossier personnel existant plutôt que mv pour le déplacer.

sudo cp -pR /Users/yourUser /Volumes/new/path

Il est nécessaire de accorder un accès complet au disque à terminal.app avant de le faire pour éviter "Opération non autorisée" erreurs.

Si le dossier utilisateur actuel ne contient pas de données requises, cette étape n'est pas nécessaire car une nouvelle hiérarchie de dossiers sera automatiquement créée au nouvel emplacement lors de la prochaine connexion de l'utilisateur après la mise à jour. NFSHomeDirectory .

Ensuite, utilisez cette commande pour mettre à jour l'enregistrement de l'utilisateur "yourUser" avec le nouveau chemin d'accès au répertoire personnel :

sudo dscl . create /Users/yourUser NFSHomeDirectory /new/path/yourUser

Pour les nouveaux utilisateurs, vous pouvez créer l'utilisateur via le terminal comme décrit dans cette question. Comment créer un nouvel utilisateur via le terminal MacOS 10.14 et spécifier le NFSHomeDirectory l'entrée que vous voulez au moment de la création.

1 votes

J'aime l'idée de modifier directement les valeurs dans les services d'annuaire. Il convient toutefois de mentionner que mv ne fonctionnera pas si le nouveau logement se trouve sur un volume distinct.

1 votes

@nohillside - bon point concernant mv ne fonctionne pas pour des volumes séparés. La réponse sera mise à jour.

0 votes

Il est tout à fait possible d'utiliser un script pour parcourir les utilisateurs existants et leurs attributs, mais je préférerais de loin une méthode qui redirige simplement à la volée ou qui modifie l'emplacement standard par défaut du dossier Utilisateurs.

2voto

Rich Trouton Points 4092

Lorsque vous travaillez avec des comptes mobiles sur MacOS Catalina, vous pouvez utiliser la fonction createmobileaccount pour spécifier un emplacement de dossier de base différent pour les comptes créés à l'aide de cet outil.

Par exemple : Si vous avez un compte AD nommé jsmith et vous voulez que le jsmith pour que son dossier personnel soit stocké dans un répertoire appelé Users sur un lecteur local nommé Homes vous pourriez exécuter la commande suivante pour créer le fichier jsmith compte mobile avec le jsmith le dossier d'accueil du compte stocké à /Volumes/Homes/Users/jsmith :

sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n jsmith -h /Volumes/Homes/Users

Pour plus d'informations, veuillez consulter le createmobileaccount aide. Elle est accessible en exécutant la commande suivante :

/System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount

*** error: no arguments

usage: createmobileaccount -n username [-h homepath] [-P | [-p password]] [[[-a username] [-U password]] | [-D]] [-v] [-V]
-n username : user record name.
-h homepath : user home path; Default is "/Users/<username>".
-p password : user password.
-P : prompt for user password.
-a username : opt SecureToken enabled admin user name.
-U password : opt SecureToken enabled admin user password.
-D : don't prompt for SecureToken enabled admin information.
-v : verbose output.
-V : version.

Examples:
    createmobileaccount -n jsmith
    createmobileaccount -v -P -n jsmith
    createmobileaccount -vxn jsmith -h /Volumes/HD3/jhome

Notes:
    - createmobileaccount must run as root.
    - If you do not specify a password, the account's cached password will be created during the account's first log in.
    - On encyrpted APFS volumes, an existing admin SecureToken user name and password is required in order for this account to be used at the EFI login window.
    - External accounts are no longer supported as of 10.15.
    - The old FileVault encrypted home directory mechanism (using -e) no longer works in 10.13 or later (but was only removed here in 10.15).

username@computername ~ %

0 votes

L'OP ne crée pas un nouvel utilisateur, mais met à jour le répertoire d'accueil des utilisateurs existants. Cette réponse n'est donc pas pertinente.

0voto

lgkwang Points 1

J'ai constaté qu'il est effectivement toujours possible de créer des liens symboliques dans le répertoire racine, mais j'ai dû démarrer le Mac à partir d'un support de récupération USB et ouvrir le terminal une fois à l'intérieur pour créer le lien symbolique, en particulier le terminal de récupération Mojave. J'ai essayé de le faire avec le support de récupération Catalina, et j'ai obtenu des erreurs "Operation not permitted". Il semble que lorsqu'ils ont sorti Catalina, Apple ait pu intégrer des règles codées en dur dans le noyau contre la suppression du dossier Users intégré.

Vous devez obtenir l'application "Install MacOS Mojave.app" depuis l'App Store si vous ne l'avez pas déjà, et exécuter l'utilitaire "createinstallmedia" à l'intérieur avec les paramètres nécessaires pour créer une clé USB de récupération Mojave...

Quoi qu'il en soit, vous pouvez essayer de démarrer à partir du support de récupération Mojave, ouvrir Terminal et taper " ln -s -F /Volumes/giant_disk/Users /Volumes/Macintosh\ HD/Users ". Cela a fonctionné pour moi, et permet également de contourner le problème du nouveau système de fichiers racine en lecture seule lors d'un démarrage normal.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X