Verschieben des /Users-Ordners in MacOS 10.15 (Catalina)?

Wenn wir in der Vergangenheit den Ordner „/Users“ von der internen Festplatte auslagern wollten, haben wir einfach einen symbolischen Link für „/Users“ erstellt, der auf „/Volumes/External_Drive_Name/Users“ verwies. Der fragliche Mac ist ein Server für zwei Computerräume, auf denen 60 Macs mit einigen Terabyte an Daten gehostet werden, die auf 200 ~ Benutzerkonten verteilt sind. Das Hosten des Benutzerordners auf dem internen Laufwerk ist für uns einfach keine gute Option.

Symbolische Links werden in Catalina / 10.15 nicht mehr unterstützt (für die Root-Verzeichnisordner), daher funktioniert dies nicht mehr mit der altbewährten Methode. Während des Upgrades wurde der symbolische Link einfach entfernt und durch den Standard-Benutzerordner ersetzt.

Ich habe mich über feste Links informiert, indem ich eine Synthetic.conf-Datei über man Synthetic.conf erstellt habe, aber diese Methode funktioniert nicht für den Users-Ordner. Ich bin in der Lage, eine Synthetic.conf-Datei zu erstellen, die einen Link für foo im Stammverzeichnis erstellt, der auf ein anderes Volume verweist, aber der Versuch, Benutzer auf die gleiche Weise umzuleiten, bricht fast alle Funktionen.

Ich verwende die folgende Syntax und platziere Synthetic.conf in /etc/synthetic.conf:

Benutzer (Tabulatorzeichen) /Volumes/Name des externen_Laufwerks/Benutzer

Damit kann ich vollständig booten (wenn auch langsam) und mich anmelden, aber Finder und Spotlight stürzen wiederholt ab und signalisieren mir, dass das System keinen Benutzerordner für den aktuell angemeldeten Benutzer finden/erstellen kann.

Hat jemand schon eine Möglichkeit gefunden, dies zu tun?

Kennt jemand andere Tricks, um MacOS umzuleiten, um nach dem Benutzerordner auf einem anderen Volume zu suchen?

Antworten (4)

Sie haben eine versteckte und nicht leicht erkennbare Einstellung zum Verschieben Ihres Ordners /Benutzer/[BENUTZERNAME] an einen anderen Ort verpasst, der (mindestens) seit einigen Jahren in macOS integriert ist.

  1. Öffnen Sie die Systemeinstellungen
  2. Gehen Sie zu Benutzer & Gruppen
  3. Klicken Sie auf das Vorhängeschloss und authentifizieren Sie sich
  4. Klicken Sie mit der rechten Maustaste (oder mit der rechten Maustaste) auf Ihren Benutzernamen und wählen Sie „Erweiterte Optionen“.
  5. Klicken Sie auf die Schaltfläche "Auswählen ..." und zeigen Sie auf die Stelle, an der sich Ihr Home-Ordner befinden soll.

Sobald dies erledigt ist, müssen Sie nur noch Ihre Sachen vom alten Speicherort an den neuen Speicherort kopieren und müssen sich nie wieder mit Symlinks befassen.

Ich bin mit dieser Methode vertraut, aber sie ist nur auf einem System mit wenigen Benutzern möglich. Dieser Server erstellt etwa alle 6 Monate ein paar Dutzend neue Benutzer. Ich bin der Meinung, dass es eine Möglichkeit geben muss, den Standardspeicherort für neue Benutzer zu ändern, genau wie Sie es über die Methode tun können, die Sie für bestehende Benutzerkonten beschrieben haben.
Klingt so, als ob Sie Netzwerkkonten benötigen? support.apple.com/en-gb/guide/directory-utility/diruc37c9dad/…
@benwiggy zwischen den Zeilen lesen Ich denke, der fragliche Mac ist der Host für Netzwerkkonten.

Sie können auch dscl verwenden , um den Benutzerordner des aktuellen Benutzers zu verschieben, indem Sie den NFSHomeDirectory- Eintrag angeben.

Wie in diesem Apple Support-Dokument zum Ausblenden eines Benutzerkontos in macOS erläutert , können Sie diesen Befehl verwenden, um das Home-Verzeichnis von "yourUser" zu verschieben:

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

Wenn sich der neue Speicherort auf einem separaten Volume befindet und Sie die vorhandenen Benutzerdaten kopieren möchten, müssen Sie verwenden, cpum den vorhandenen Home-Ordner zu kopieren, anstatt mvihn zu verschieben.

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

Es ist notwendig, terminal.app vollen Festplattenzugriff zu gewähren, bevor Sie dies tun, um „Vorgang nicht erlaubt“ -Fehler zu vermeiden.

Wenn der aktuelle Benutzerordner keine erforderlichen Daten enthält, ist dieser Schritt nicht erforderlich, da am neuen Speicherort automatisch eine neue Ordnerhierarchie erstellt wird, wenn sich der Benutzer nach der Aktualisierung von NFSHomeDirectory das nächste Mal anmeldet .

Verwenden Sie als Nächstes diesen Befehl, um den Benutzerdatensatz von „yourUser“ mit dem neuen Home-Verzeichnispfad zu aktualisieren:

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

Für neue Benutzer können Sie den Benutzer über das Terminal erstellen, wie in dieser Frage beschrieben. Wie kann ich einen neuen Benutzer über das Terminal macOS 10.14 erstellen und den gewünschten NFSHomeDirectory- Eintrag zum Zeitpunkt der Erstellung angeben.

Mir gefällt die Idee, die Werte direkt in den Verzeichnisdiensten zu ändern. Es könnte erwähnenswert sein, dass dies jedoch mvnicht funktioniert, wenn sich das neue Zuhause auf einem separaten Volume befindet.
@nohillside - guter Punkt, mvnicht für separate Volumes zu arbeiten. Werde die Antwort aktualisieren.
Dies ist definitiv skriptfähig, um unsere vorhandenen Benutzer und ihre Attribute zu durchlaufen, aber ich würde eine Methode bevorzugen, die einfach spontan umleitet oder den standardmäßigen Standardspeicherort des Benutzerordners ändert.

Bei der Arbeit mit mobilen Konten unter macOS Catalina können Sie das createmobileaccountTool verwenden, um einen anderen Speicherort für Benutzerordner für Konten anzugeben, die mit diesem Tool erstellt wurden.

Beispiel: Wenn Sie ein AD-Konto mit dem Namen haben jsmithund möchten, dass der Home-Ordner des Kontos in einem Verzeichnis namens auf einem lokalen Laufwerk mit dem Namen jsmithgespeichert wird , können Sie den folgenden Befehl ausführen, um das mobile Konto mit dem Home-Ordner des Kontos zu erstellen, der unter gespeichert ist :UsersHomesjsmithjsmith/Volumes/Homes/Users/jsmith

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

Weitere Informationen finden Sie in der createmobileaccountHilfe. Dies ist durch Ausführen des folgenden Befehls zugänglich:

/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 ~ %
Das OP erstellt keinen neuen Benutzer, sondern aktualisiert das Basisverzeichnis für vorhandene Benutzer. Daher ist diese Antwort irrelevant.

Ich habe festgestellt, dass es zwar immer noch möglich ist, symbolische Links im Stammverzeichnis zu erstellen, aber ich musste den Mac von einem USB-Wiederherstellungsmedium booten und das Terminal öffnen, sobald es sich darin befand, um den symbolischen Link zu erstellen, insbesondere das Mojave-Wiederherstellungsterminal. Ich habe es mit der Catalina-Wiederherstellung versucht und immer wieder Fehlermeldungen "Operation nicht zulässig" erhalten. Es scheint, als hätte Apple bei der Veröffentlichung von Catalina einige fest codierte Regeln im Kernel gegen das Löschen des integrierten Benutzerordners eingebaut.

Sie müssen die „Install macOS Mojave.app“ aus dem App Store beziehen, falls Sie sie noch nicht haben, und das darin enthaltene Dienstprogramm „createinstallmedia“ mit den erforderlichen Parametern ausführen, um einen Mojave-Wiederherstellungs-USB-Stick zu erstellen …

Wie auch immer, Sie können versuchen, vom Mojave-Wiederherstellungsmedium zu booten, Terminal zu öffnen und "ln -s -F /Volumes/giant_disk/Users /Volumes/Macintosh\ HD/Users" einzugeben. Es hat bei mir funktioniert und umgeht auch die neue Readonly-Root-Dateisystem-Situation, wenn es normal gebootet wird.