Jak udostępnić folder na partycji NTFS przez sieć?

16

Korzystam z Ubuntu 11.10 i chcę udostępnić folder na partycji NTFS ( /dev/sda4) z automatycznym podłączeniem przez sieć. Celem tej sieci jest udostępnianie plików między komputerami, które zawierają głównie komputery z systemem Windows. Korzystam z tej /dev/sda4partycji zarówno z systemu Windows 7, jak i Ubuntu. Korzystając z Nautilus, klikam katalog prawym przyciskiem myszy, następnie klikam „Opcje udostępniania”, a następnie zaznaczam trzy pola wyboru. Kiedy próbuję zastosować ustawienia, pojawia się komunikat „Nie można zmienić praw do folderu„ nazwa folderu ”.

Umieściłem wynik sudo blkidi cat /etc/fstabponiżej.

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 

Jak mogę udostępnić ten folder?

Przyspieszenie-G
źródło
Kiedy mówisz „przez sieć”, co masz na myśli, jakie komputery tam będą? Windows? Potrzebujesz samby, tylko Linux? W takim razie NFS jest zalecany ... Daj nam więcej informacji.
Bruno Pereira,
1
Myślę, że uprawnienia fstabmuszą zostać zmienione. Wypróbuj tę samą procedurę z usuniętymi gid(nie zapomnij ponownie zamontować) i powiedz nam, czy pomogło.
Andrejs Cainikovs,
Zaktualizowałem pytanie. Usuwanie gidz /etc/fstabmarek ostatnia linia wyglądać następująco: /dev/sda4 /media/Data ntfs defaults,umask=007 0 0. /dev/sda4nie jest montowany przy starcie, sudo mount /dev/sda4 /media/Datadaje mi następujące dane wyjściowe: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.
Przyspieszenie-G

Odpowiedzi:

14

Po krótkich poszukiwaniach sam znalazłem rozwiązanie:

Po pierwsze, musiałem dać sobie własność nad /dev/sda4i musiałem dać groupi othersczytać i wykonywać uprawnienia. Zrobiłem to, zmieniając wpis partycji w /etc/fstab.

Aby to zrobić, musiałem znać moje uidi gid. Pierwszą rzeczą, jaką zrobiłem, było napisanie następującego polecenia w terminalu:

id $USER

To da taki wynik:

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

Teraz wiedziałem, że zarówno mój uidi mój gidbyły 1000.

Czy znasz już nazwę partycji NTFS? Jeśli nie, wpisz to polecenie w terminalu:

sudo blkid

i zapisz partycję NTFS na kartce papieru.

Teraz, aby zmienić uprawnienia, edytowałem /etc/fstabza pomocą nanoedytora tekstu. Kolejnym poleceniem, które musisz wpisać w terminalu, jest:

sudo nano /etc/fstab

Zejdź na dół i wpisz następujący wiersz:

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

(Powinieneś zastąpić /dev/sda4partycją NTFS, którą zapisałeś wcześniej).

Objaśnienie: umask=0022ustawia duprawnienia do katalogu ( ) na drwxr-xr-x, aby upewnić się, że użytkownik (ja) może czytać, zapisywać i wykonywać ( rwx), groupa otherstylko i może czytać i wykonywać ( r-x) katalog, czego chciałem.

Następnie mogłem zaznaczyć trzy pola wyboru bez żadnych błędów, a folder zostałby udostępniony w sieci. Ponieważ nie byłem pewien, czy ustawienia udostępniania zostaną zachowane po ponownym uruchomieniu, odznaczyłem pola wyboru i /etc/samba/smb.confzamiast tego dodałem kilka wierszy . Zrobiłem to w ten sposób:

W terminalu pisałem sudo nano /etc/samba/smb.conf

Przewinąłem do ostatniej linii i wkleiłem tam następujące:

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

Zapisałem plik, a następnie uruchomiłem ponownie. Folder był teraz dostępny z sieci.

Przyspieszenie-G
źródło
1
Znakomity. Jako kompletny nowicjusz linux / ubuntu uderzałem głową o ścianę przez 2 dni, ponieważ gdyby to była maszyna do okien, zrobiłbym to w 10 minut.
Patrick,
Czy możesz edytować tę odpowiedź za pomocą wszystkich poleceń, które musiałeś napisać? Nie jestem pewien, czy rozumiem, co masz na myśli, mówiąc o „oddaję się własności /dev/sda4”.
Namiot Enrique Moreno
Jasne, ale później proszę o informację, czy instrukcje działały dla Ciebie. Nie używam już partycji NTFS, więc nie mogę sam sprawdzić.
Przyspieszenie-G
0

Najprostszym rozwiązaniem, jakie mogę wymyślić, jest użycie dowiązania symbolicznego do partycji NTFS.

Jakbym to zrobił:

  • Utwórz folder na partycji Ubuntu, który możesz udostępnić.
  • Połącz folder na partycji Windows, aby znajdować się w tym folderze:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • Ustaw utworzony folder nadrzędny, aby był udostępniany przez sieć, wybierając dowolne dodatkowe opcje (na przykład zezwalając na gościa itp.).
  • Kliknij „zastosuj uprawnienia do załączonych plików” na karcie uprawnień. Oczywiście nie każde pozwolenie zostanie zastosowane, ale dostęp do odczytu powinien wystarczyć.

Nie przetestowałem tego sam, ale jeśli dobrze rozumiem udostępnianie, powinno być w stanie działać.

RolandiXor
źródło
To by było ln -s, prawda? Wypróbuj teraz.
Przyspieszenie-G,
@ Exeleration-G: przepraszam za literówkę
RolandiXor
1
Ale to nie zadziałało, dzięki.
Przyspieszenie-G
0

wystarczy zamontować katalog NTFS jako:

-o uid=current_user,gid=current_usergroup

pobierz bieżącego użytkownika i bieżącą grupę użytkowników, jak wskazał Exeleration-G:

id MyUserName
Ashishsony
źródło