Come posso condividere una cartella su una partizione NTFS sulla rete?


16

Sono su Ubuntu 11.10 e voglio condividere una cartella su una partizione NTFS montata automaticamente ( /dev/sda4) sulla rete. Lo scopo di questa rete è quello di condividere file tra computer, che contiene principalmente computer Windows. Uso questa /dev/sda4partizione sia da Windows 7 che Ubuntu. Usando Nautilus, faccio clic con il pulsante destro del mouse sulla directory, quindi faccio clic su "Opzioni di condivisione", quindi segnare le tre caselle di controllo. Quando provo ad applicare le impostazioni, tuttavia, viene visualizzato il messaggio "Impossibile modificare i diritti della cartella" nome utente ".

Ho messo l'output di sudo blkide cat /etc/fstabsotto.

sudo blkid

/dev/sda2: LABEL="Windows" UUID="481319C261268D8D" TYPE="ntfs" 
/dev/sda3: UUID="23dac5e8-aae7-43ac-964c-c8a5a033b0d7" TYPE="ext4" 
/dev/sda4: LABEL="Data" UUID="00F1B269675B86AE" TYPE="ntfs" 
/dev/sda5: UUID="6de8b757-f17e-4e36-935c-a3fd6012c628" TYPE="ext4" 
/dev/sda6: UUID="d504bae2-fad6-4f6a-b489-7719ad0fe3b3" TYPE="swap" 

cat /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda3 during installation
UUID=23dac5e8-aae7-43ac-964c-c8a5a033b0d7 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d504bae2-fad6-4f6a-b489-7719ad0fe3b3 none            swap    sw              0       0
/dev/sda4 /media/Data ntfs defaults,umask=007,gid=46 0 0 

Come posso condividere questa cartella?


Quando dici "sulla rete" cosa intendi, che tipo di computer ci sarà? Finestre? Allora hai bisogno di samba, solo Linux? Quindi si consiglia NFS ... Dacci maggiori informazioni.
Bruno Pereira,

1
Penso che le autorizzazioni in fstabdebbano essere cambiate. Prova la stessa procedura con rimosso gid(non dimenticare di rimontare) e dicci se ha aiutato.
Andrejs Cainikovs,

Ho aggiornato la domanda. La rimozione giddalla /etc/fstabrende l'ultimo sguardo riga come questa: /dev/sda4 /media/Data ntfs defaults,umask=007 0 0. /dev/sda4non è montato all'avvio, sudo mount /dev/sda4 /media/Datami dà il seguente output:Mount is denied because the NTFS volume is already exclusively opened. The volume may be already mounted, or another software may use it which could be identified for example by the help of the 'fuser' command.
Exeleration-G

Risposte:


14

Dopo un po 'di ricerca, ho trovato la soluzione da solo:

In primo luogo, ho dovuto darmi la proprietà sopra /dev/sda4, e ho dovuto dare groupe otherslettura ed esecuzione. L'ho fatto modificando la voce della partizione in /etc/fstab.

Per farlo, ho dovuto conoscere il mio uide gid. Quindi la prima cosa che ho fatto è stata scrivere il seguente comando in un Terminale:

id $USER

Questo darà un output come questo:

UID=1000(myname) GID=1000(myname) groups=1000(myname),4(adm),24(cdrom), ...

Quindi ora sapevo che sia io uidche il mio giderano 1000.

Conosci già il nome della partizione NTFS? In caso contrario, digitare questo comando in un terminale:

sudo blkid

e annotare la partizione NTFS su un pezzo di carta.

Ora, per modificare le autorizzazioni, ho modificato /etc/fstabcon l' nanoeditor di testo. Quindi, il prossimo comando che devi digitare in un terminale è:

sudo nano /etc/fstab

Scendi fino in fondo e digita questa riga:

/dev/sda4 /media/Data ntfs defaults,umask=0022,uid=YourUIDHere,gid=YourGIDHere 0 0

(È necessario sostituire /dev/sda4con la partizione NTFS annotata in precedenza).

Spiegazione: umask=0022imposta i dpermessi della directory ( ) su drwxr-xr-x, per assicurarsi che l'utente (me) possa leggere, scrivere ed eseguire ( rwx) mentre groupe otherspuò solo leggere ed eseguire ( r-x) la directory, che è quello che volevo.

Successivamente, potrei contrassegnare le tre caselle senza errori e la cartella verrà condivisa sulla rete. Poiché non ero sicuro che le impostazioni di condivisione sarebbero state mantenute dopo il riavvio, ho deselezionato le caselle di controllo e ho aggiunto alcune righe /etc/samba/smb.conf. L'ho fatto in questo modo:

In un terminale, ho digitato sudo nano /etc/samba/smb.conf

Ho scorrere verso il basso fino all'ultima riga e ho incollato qui:

[MyShare]
    comment = My Share
    path = /media/Data/FolderToBeShared
    browseable = yes
    guest ok = yes
    read only = yes
    create mask = 0755

Ho salvato il file e quindi riavviato. La cartella era accessibile dalla rete ora.


1
Brillante. Come novizio completo di Linux / Ubuntu ho sbattuto la testa contro il muro per 2 giorni perché se questa fosse stata una macchina Windows l'avrei fatto in 10 minuti.
Patrick,

Puoi modificare questa risposta con tutti i comandi che hai dovuto scrivere, per favore? Non sono sicuro di capire cosa intendi con "concedimi la proprietà /dev/sda4".
Tenda Enrique Moreno,

Certo, ma in seguito, per favore, dammi un aggiornamento sul funzionamento delle istruzioni. Non sto più usando una partizione NTFS, quindi non posso controllare da solo.
Exeleration-G,

0

La soluzione più semplice che mi viene in mente è quella di utilizzare un collegamento simbolico alla partizione NTFS.

Come vorrei fare questo è:

  • Crea una cartella sulla tua partizione Ubuntu che puoi condividere.
  • Collegare la cartella sulla partizione di Windows per trovarsi in questa cartella:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • Imposta la cartella principale che hai creato per la condivisione sulla rete, scegliendo le opzioni extra che desideri (ad esempio, consentendo guest ecc.).
  • Fai clic su "applica le autorizzazioni ai file allegati" nella scheda delle autorizzazioni. Non tutte le autorizzazioni verranno applicate, ovviamente, ma l'accesso in lettura dovrebbe essere sufficiente.

Non l'ho testato da solo, ma se ho capito bene la condivisione, dovrebbe essere in grado di funzionare.


Sarebbe ln -svero? Provandolo adesso.
Exeleration-G,

@ Exeleration-G: sì, mi dispiace per l'errore di battitura
RolandiXor

1
Questo non ha funzionato per me, grazie comunque.
Exeleration-G,

0

basta montare la directory ntfs come:

-o uid=current_user,gid=current_usergroup

ottenere l'utente corrente e il gruppo di utenti corrente come indicato da Exeleration-G:

id MyUserName
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.