I nomi utente sono irrilevanti. Le autorizzazioni in entrambi i filesystem nativi HFS + e Linux sono archiviate in termini di ID utente (UID), che sono numeri associati ai nomi utente. In Ubuntu, come nella maggior parte delle moderne distribuzioni Linux, al primo utente viene assegnato un UID di 1000 per impostazione predefinita. In OS X, al primo utente viene assegnato un UID di 501 per impostazione predefinita. Pertanto, quando si condividono supporti che codificano valori UID, è probabile che i valori UID non corrispondano.
Un modo per risolvere questo problema è impostare permessi allentati (il valore della modalità, come in rwxr-xr-x
, o 755 in ottale). Si noti che il codice ottale delle autorizzazioni non è uguale al valore UID. In entrambi i sistemi operativi, è possibile impostare le autorizzazioni predefinite utilizzate sui file con il umask
comando, che specifica il valore di bit da rimuovere dalle autorizzazioni dei file. Ad esempio, umask 022
rimuove le autorizzazioni di scrittura per il gruppo e altre autorizzazioni, ottenendo 755 (rwxr-xr-x
) autorizzazioni per i nuovi file (o 644 se qualcosa rimuove il bit di autorizzazione di esecuzione, che è pratica comune per i file). Questo è in gran parte uno strumento da riga di comando, tuttavia; se sei in gran parte un utente della GUI, dovrai trovare un altro strumento per eseguire il lavoro, probabilmente correlato alle impostazioni predefinite del tuo ambiente desktop. Questo può essere oscuro e scarsamente documentato. Inoltre, impostare autorizzazioni non valide in questo modo può avere degli svantaggi di sicurezza, soprattutto se il tuo è un sistema multiutente.
Un approccio migliore è sincronizzare gli UID del tuo account su Linux e OS X. Puoi facilmente cambiare il valore UID in Linux con il usermod
comando, come in:
usermod -u 501 dale
Questo comando imposta l'UID su dale
501. Vi sono tuttavia alcuni avvertimenti significativi:
- È necessario disconnettersi dall'account che si sta modificando prima di modificarlo. Cercare di modificare un account in uso provocherà un comportamento strano nell'account.
usermod
deve essere usato come root
. Puoi eseguirlo tramite sudo
, ma farlo dall'account che stai modificando è sconsigliabile all'estremo. Pertanto, dovrai fornire root
una password e accedere root
direttamente o utilizzare sudo
da un secondo account utente.
- Il
usermod
comando non cambierà la proprietà di alcun file di proprietà dell'utente in questione. Per regolare la proprietà di tali file, è necessario individuarli e quindi modificarne la proprietà chown
. La maggior parte dei file si troverà nella home directory dell'utente, quindi chown -R dale: /home/dale
, digitata come root
dopo aver cambiato dale
l'UID, cambierà la maggior parte dei dale
file per usare il nuovo numero UID. Tuttavia, alcuni file dell'utente potrebbero trovarsi altrove. La digitazione find / -uid 1000
troverà tutti i file che usano il vecchio UID (supponendo che fosse 1000). Si noti che questo find
comando richiederà probabilmente alcuni minuti per essere completato. Per velocizzarlo, smonta qualsiasi file system su cui sei sicuro che non troverà hit, come volumi FAT o NTFS.
- Se si accede a volumi FAT o NTFS, i loro valori UID sono determinati dalle opzioni al momento del montaggio. Se si utilizza un file manager della GUI, è probabile che il valore UID sia impostato su chiunque stia eseguendo il file manager, quindi non è necessario fare nulla di speciale. Se si monta il volume tramite una
/etc/fstab
voce, tuttavia, potrebbe essere necessario regolare il valore UID specificato.
- Ubuntu memorizza il valore minimo utilizzato per gli UID
/etc/login.defs
. Se non riesci a modificare il UID_MIN
valore in questo file, probabilmente scoprirai che il tuo account sembrerà "scomparire" dalla schermata di accesso della GUI e forse da altri sistemi. Pertanto, è necessario modificare quel file.
In teoria, potresti cambiare l'UID dei tuoi account OS X in modo simile per raggiungere lo stesso obiettivo. Tuttavia, ho meno familiarità con gli strumenti di gestione dell'account di OS X, quindi non posso fornire istruzioni esplicite per farlo. La regolazione dei valori di OS X avrebbe il vantaggio di non doverti regolare UID_MIN
in Linux.
Se sul tuo computer sono presenti più account, è necessario modificarli tutti per mantenerli tutti sincronizzati nelle installazioni del sistema operativo.
Un altro punto: il valore ID gruppo (GID) è memorizzato in modo simile. IIRC, Ubuntu assegna un valore GID per ogni account identico al suo valore UID. Non ricordo cosa fa OS X per impostazione predefinita. Potresti voler regolare i valori GID per i due sistemi operativi in modo analogo alle modifiche dell'UID, ma non è probabile che ciò sia importante quanto la regolazione dei valori UID.
EDIT: Se vuoi cambiare il tuo UID (e GID, se lo desideri) in macOS / OS X piuttosto che in Ubuntu, puoi farlo. Poiché questa modifica in macOS va oltre lo scopo di questo sito, collegherò solo ad alcune pagine che forniscono le procedure per farlo in macOS:
774
di autorizzazioni.