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 umaskcomando, che specifica il valore di bit da rimuovere dalle autorizzazioni dei file. Ad esempio, umask 022rimuove 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 usermodcomando, come in:
usermod -u 501 dale
Questo comando imposta l'UID su dale501. 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.
usermoddeve essere usato come root. Puoi eseguirlo tramite sudo, ma farlo dall'account che stai modificando è sconsigliabile all'estremo. Pertanto, dovrai fornire rootuna password e accedere rootdirettamente o utilizzare sudoda un secondo account utente.
- Il
usermodcomando 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 rootdopo aver cambiato dalel'UID, cambierà la maggior parte dei dalefile per usare il nuovo numero UID. Tuttavia, alcuni file dell'utente potrebbero trovarsi altrove. La digitazione find / -uid 1000troverà tutti i file che usano il vecchio UID (supponendo che fosse 1000). Si noti che questo findcomando 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/fstabvoce, 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_MINvalore 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_MINin 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:
774di autorizzazioni.