Benutzernamen sind irrelevant. Berechtigungen in HFS + - und Linux-nativen Dateisystemen werden in Form von Benutzer- IDs (UIDs) gespeichert , bei denen es sich um Nummern handelt, die Benutzernamen zugeordnet sind. In Ubuntu erhält der erste Benutzer wie in den meisten modernen Linux-Distributionen standardmäßig eine UID von 1000. In OS X erhält der erste Benutzer standardmäßig eine UID von 501. Wenn Sie also Medien freigeben, die UID-Werte codieren, stimmen die UID-Werte wahrscheinlich nicht überein.
Eine Möglichkeit, dies zu beheben, besteht darin, lose Berechtigungen festzulegen (der Moduswert wie in rwxr-xr-x
oder 755 in oktal). Beachten Sie, dass der Oktalcode der Berechtigungen nicht mit dem UID-Wert übereinstimmt. In beiden Betriebssystemen können Sie die Standardberechtigungen für Dateien mit dem umask
Befehl festlegen, der den Bitwert angibt, der aus den Dateiberechtigungen entfernt werden soll. Entfernt beispielsweise umask 022
die Schreibberechtigung für die Gruppe und andere Berechtigungen, was zu 755 führt (rwxr-xr-x
) Berechtigungen für neue Dateien (oder 644, wenn etwas das Ausführungsberechtigungsbit entfernt, was für Dateien üblich ist). Dies ist jedoch größtenteils ein Befehlszeilenprogramm. Wenn Sie größtenteils ein GUI-Benutzer sind, müssen Sie ein anderes Tool finden, um die Aufgabe zu erledigen, wahrscheinlich im Zusammenhang mit den Standardeinstellungen Ihrer Desktop-Umgebung. Dies kann dunkel und schlecht dokumentiert sein. Das Festlegen loser Berechtigungen auf diese Weise kann auch Sicherheitsnachteile haben, insbesondere wenn es sich bei Ihrem System um ein Mehrbenutzersystem handelt.
Ein besserer Ansatz besteht darin, die UIDs Ihres Kontos unter Linux und OS X zu synchronisieren. Sie können den UID-Wert unter Linux einfach mit dem folgenden usermod
Befehl ändern :
usermod -u 501 dale
Dieser Befehl setzt die UID dale
auf 501. Es gibt jedoch einige wichtige Einschränkungen:
- Sie sollten sich von dem Konto abmelden, das Sie ändern, bevor Sie es ändern. Wenn Sie versuchen, ein verwendetes Konto zu ändern, verhält sich dieses Konto merkwürdig.
usermod
muss verwendet werden als root
. Sie können es über ausführen sudo
, dies ist jedoch im Extremfall nicht ratsam. Daher müssen Sie entweder root
ein Passwort eingeben und sich root
direkt anmelden oder sudo
von einem zweiten Benutzerkonto aus verwenden.
- Der
usermod
Befehl ändert nicht den Besitz von Dateien, die dem betreffenden Benutzer gehören. Um den Besitz dieser Dateien anzupassen, müssen Sie sie suchen und dann ihren Besitz mit ändern chown
. Die meisten Dateien befinden sich im Home-Verzeichnis des Benutzers. chown -R dale: /home/dale
Wenn Sie also wie root
nach dem Ändern dale
der UID eingegeben haben , werden die meisten dale
Dateien so geändert , dass die neue UID-Nummer verwendet wird. Einige der Benutzerdateien befinden sich jedoch möglicherweise an einer anderen Stelle. Bei der Eingabe find / -uid 1000
werden alle Dateien gefunden, die die alte UID verwenden (vorausgesetzt, es war 1000). Beachten Sie, dass dieser find
Befehl wahrscheinlich einige Minuten dauern wird. Hängen Sie zur Beschleunigung alle Dateisysteme aus, auf denen Sie sicher sind, dass keine Treffer gefunden werden, z. B. FAT- oder NTFS-Volumes.
- Wenn Sie auf FAT- oder NTFS-Volumes zugreifen, werden deren UID-Werte zum Zeitpunkt der Bereitstellung durch Optionen bestimmt. Wenn Sie einen GUI-Dateimanager verwenden, wird der UID-Wert wahrscheinlich auf denjenigen festgelegt, der den Dateimanager ausführt. Sie müssen also nichts Besonderes tun. Wenn Sie das Volume jedoch über einen
/etc/fstab
Eintrag bereitstellen, müssen Sie möglicherweise den angegebenen UID-Wert anpassen.
- Ubuntu speichert den Mindestwert, den es für UIDs verwendet
/etc/login.defs
. Wenn Sie den UID_MIN
Wert in dieser Datei nicht ändern , werden Sie wahrscheinlich feststellen, dass Ihr Konto auf dem GUI-Anmeldebildschirm und möglicherweise auf einigen anderen Systemen "verschwindet". Daher sollten Sie diese Datei bearbeiten.
Theoretisch können Sie die UID Ihrer OS X-Konten auf ähnliche Weise ändern, um dasselbe Ziel zu erreichen. Ich bin jedoch weniger mit den Tools zur Pflege des OS X-Kontos vertraut, daher kann ich keine expliziten Anweisungen dazu geben. Das Anpassen der OS X-Werte hätte den Vorteil, dass Sie nicht unter UID_MIN
Linux anpassen müssen .
Wenn Sie mehrere Konten auf Ihrem Computer haben, sollten Sie sie alle anpassen, um sie über Ihre Betriebssysteminstallationen hinweg synchron zu halten.
Noch ein Punkt: Der GID-Wert (Group ID) wird auf ähnliche Weise gespeichert. IIRC, Ubuntu weist jedem Konto einen GID-Wert zu, der mit seinem UID-Wert identisch ist. Ich kann mich nicht erinnern, was OS X standardmäßig macht. Möglicherweise möchten Sie die GID-Werte für die beiden Betriebssysteme analog zu den UID-Änderungen anpassen. Dies ist jedoch wahrscheinlich nicht so wichtig wie das Anpassen der UID-Werte.
BEARBEITEN: Wenn Sie Ihre UID (und ggf. die GID) unter macOS / OS X und nicht unter Ubuntu ändern möchten, können Sie dies tun. Da diese Änderung in macOS den Rahmen dieser Website sprengt, werde ich nur auf einige Seiten verweisen, die Verfahren dazu in macOS enthalten:
774
Berechtigungen.