In base alla sezione Proprietà e autorizzazioni della documentazione NTFS-3G, possiamo utilizzare le opzioni di montaggio per controllare l' accesso e la creazione dei file . Le combinazioni sono molto complicate (vedi le due tabelle lì). Inoltre non li leggo e li capisco tutti. Ad esempio, non so se gli ACL POSIX siano selezionati in fase di compilazione o meno del pacchetto binario NTFS-3G. Ma il migliore che ho scoperto è l'uso di un file di mappatura utente combinato con alcune opzioni di montaggio per approssimare una mappatura plausibile della proprietà e delle autorizzazioni dei file tra Windows e Linux.
Avvertenza : questo è solo ciò che funziona meglio per la condivisione di una partizione di dati NTFS (unità D:
su Windows) tra Windows 8 a doppio avvio e Kubuntu 14.04. Le istruzioni sono registrate in un'attenta retrospettiva ma non accuratamente testate. È troppo noioso e noioso ripetere nuovamente l'intera procedura. Quindi seguilo a tuo rischio e pericolo. Ma se lo fai, condividi la tua esperienza. Se decidi di seguire le istruzioni, leggi attentamente per avere un quadro completo prima di recitare effettivamente. In bocca al lupo!
Bene, eccoti! Le istruzioni dettagliate sono composte da tre parti. La parte 1 dovrebbe essere eseguita su Windows mentre la parte 2 su Linux. La parte 3 è per il test.
Parte 1
La sezione Mappatura utente della documentazione NTFS-3G specifica due versioni per impostare la mappatura utente tra Windows e Linux, una versione Windows e una versione Linux. La mia esperienza è stata che la versione di Linux è finita con un errore . L'account Linux non è stato mappato sul mio account Windows ma alcuni account sconosciuti sono stati visualizzati sotto un SID . Il risultato è stato un disastro poiché questo account sconosciuto è diventato proprietario di tutti i file del mio account Windows. In tale situazione, a meno che non si disponga di un privilegio di amministratore per riprendere la proprietà, i file nel proprio account Windows diventano inaccessibili. Ma anche se si rogna, è ancorauna mappatura sbagliata. Ciò significa che in seguito qualsiasi file creato su Linux verrà assegnato a quell'account sconosciuto su Windows e quelli su Windows verranno assegnati a root su Linux (se ricordo bene). Quindi su Windows devi riprenderne la proprietà e su Linux cambiarne la proprietà. Non è quello che ci aspettiamo che sia. Dopo diversi tentativi senza speranza di risolvere il problema, ho rinunciato e sono passato alla versione di Windows. Quello ha funzionato. Seguono le istruzioni dettagliate estratte dalla relativa sezione della documentazione NTFS-3G:
Scarica lo strumento usermap , estrailo da qualche parte (nel mio caso, unità C:
), meglio al di fuori della partizione NTFS (nel mio caso unità D:
) da condividere.
Apri la riga di comando di Windows. Passare alla directory estratta tools
(per impostazione predefinita) dello usermap
strumento. Quindi eseguire il comando seguente:
C:\tools> mapuser > UserMapping
Questo genera un modello e lo reindirizza a un file denominato UserMapping
. Apri il file con un editor di testo, ad esempio Blocco note, dovresti vedere le seguenti righe:
# Generated by usermap for Windows, v 1.1.5
# For Windows account "Account" in domain "Domain"
# Replace "user" and "group" hereafter by matching Linux login
user::SID
:group:SID
Presumibilmente, il primo SID
dovrebbe essere il SID dell'utente mentre il secondo il SID del gruppo. Puoi controllarli rispettivamente con i comandi whoami /user
e whoami /groups
.
Dopo esserti assicurato che i SID siano corretti, seguendo le istruzioni nel commento, ovvero, cambia user
nella user::SID
riga il tuo nome utente e group
nella :group:SID
riga il nome del tuo gruppo principale su Linux. Su Ubuntu, sono gli stessi. Inoltre, aggiungi il nome del tuo gruppo Linux anche dopo i primi due punti della user::SID
riga. Quindi la linea dovrebbe assomigliare a qualcosa user:group:SID
. Sembra che in caso contrario i file creati su Windows verranno assegnati user:root
su Linux.
Salva il file. Spostalo in una directory denominata .NTFS-3G
(crearla se non ancora esistente) sulla partizione NTFS da condividere (nel mio caso drive D:
).
Questo passaggio è per il test nella Parte 3. Nella partizione NTFS condivisa, creare una nuova directory e un nuovo file.
Parte 2
Ora avvia Linux. sudo
modifica il file /etc/fstab
. Aggiungi o modifica la linea per la partizione NTFS condivisa in modo simile al seguente:
UUID=... /data ntfs defaults,umask=077,utf8 0 0
L'essenziale è impostare umask
( dmask
e fmask
può anche funzionare ma non testato). Scegli un valore per umask
te come, anche se ho scelto 077
. Sembra senza questa impostazione, verranno concesse le autorizzazioni complete o
per i file appena creati.
Salva il file. Ora sudo mount
o rimonta ( sudo umount
e quindi sudo mount
) la partizione NTFS condivisa (nel mio caso /data
):
$ sudo mount /data
Parte 3
Ora (ancora su Linux) cd
al punto di mount (nel mio caso, /data
), ls -l
i file lì. Controlla se la loro proprietà e le autorizzazioni corrispondono rispettivamente a quelle specificate nel UserMapping
file e a quelle umask
impostate /etc/fstab
(la corrispondenza tra le autorizzazioni e umask
richiede un calcolo del complemento, vedi man (1) umask per maggiori informazioni). Se lo fanno, congratulazioni, metà obiettivo è raggiunto. Altrimenti, povero te. Chiedi a Ubuntu o Windows.
Quindi creare una nuova directory e un nuovo file. ls -l
per controllarne la proprietà e le autorizzazioni. La proprietà dovrebbe essere il tuo nome utente e il gruppo principale come al solito. Le autorizzazioni devono corrispondere a umask
. Ora riavvia il computer e avvia Windows. Individua sulla partizione NTFS condivisa la directory e il file che hai appena creato su Linux. Controlla le loro proprietà per vedere se sono assegnate al tuo account di Windows. Se lo sono, congratulazioni, avete finito. Altrimenti, sfortuna. Chiedi a Windows o Ubuntu.
EOF