Jak poprawnie zamontować partycję NTFS w / etc / fstab?


72

Po nieprzyjemnym odcinku (moim drugim, pomyślałbyś, że się dowiem) spowodowanym przez bez nadzoru automatyczne pobieranie podcastów wypełniające całą moją partycję, w końcu przeniosłem ~/Musicsię na własną partycję. Partycja, której używam, była już sformatowana jako NTFS (jest to genialna część: kiedy dostałem ten komputer trzy lata temu, właściwie skonfigurowałem go z partycją muzyczną 20G właśnie dlatego, że miałem ten problem wcześniej, ale nigdy tak naprawdę zorganizowałem się, żeby przechowywać na nim muzykę. Więc to moja historia. Oto, czego teraz potrzebuję:

Mam dwie partycje, które chcę zacząć montować podczas uruchamiania:

/dev/sda3   /mnt/devel  ext4    defaults    0   2
/dev/sda2   /mnt/excess ntfs    defaults    0   2

Część ext4 montuje się dobrze (własność przeze mnie, tylko do zapisu przeze mnie), ale ntfs montuje przez roota z uprawnieniami do odczytu i zapisu dla wszystkich. Nie jestem pewien, jak to naprawić. Czy jest coś dziwnego w NTFS lub czy zrobiłem coś innego, co powoduje ten problem?

drwxr-xr-x  7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx  1 root   root   4096 2012-03-14 22:38 excess

Opcje „noatime” lub „relatime” są dostępne i zalecane do stałego montowania NTFS (patrz man mount.ntfs). Miałem też problemy z zajętością dysku twardego z ext3 / 4 i NTFS!

Odpowiedzi:


89

Uprawnienia NTFS i systemów plików vfat muszą być ustawione z dmask, fmaski umaskopcji. dmaskkontroluje uprawnienia do katalogów, fmaskkontroluje uprawnienia do plików i umaskkontroluje oba. Ponieważ te opcje ustawiają maski , powinny one stanowić uzupełnienie wymaganych uprawnień. Na przykład rwx dla właściciela i rx dla innych to 022 zamiast 755.

Aby ustawić właściciela, użyj odpowiednio opcji uidi giddla użytkownika i grupy. Możesz znaleźć swój UID za pomocą polecenia id -u. Aby znaleźć swój GID, użyj id -g. Obie wartości wynoszą zwykle 1000.

Typowym zestawem opcji montowania dla NTFS jest uid=1000,gid=1000,dmask=027,fmask=137. To ustawia cię jako właściciela dysku i ustawia uprawnienia na drwxr-x---.

Oto dwie linie z mojego działającego pliku / etc / fstab

UUID=EEA2B69CA2B668AB        /WIN_C     ntfs-3g   defaults,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0 
UUID=65AEC0E830EA0497        /WIN_D     ntfs-3g   rw 0 0

Jeśli po ponownym uruchomieniu nie pojawi się żaden widoczny błąd, a partycje pozostaną tylko do odczytu lub pojawi się błąd podobny do:

Error mounting /dev/sda6 at /media/WindowsDrive: 
Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda6" "/media/rolindroy/Media Center"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). 
Metadata kept in Windows cache, refused to mount. 
Failed to mount '/dev/sda6': Operation not permitted The NTFS partition is in an unsafe state. 
Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option

Wynika to z faktu, że systemy Windows 8 i 10 oferują opcję „szybkiego uruchamiania”, która zależy od „niepełnego” zamknięcia. Możesz wyłączyć szybkie uruchamianie, wykonując następujące czynności w „Opcjach zasilania”.



To jest rzeczywiście źródłem wielu z powyższych. Podałem także bardziej szczegółowe wyjaśnienia dotyczące działania * opcji maski.
— bessman,

3
Czy mógłbyś podać bardziej kompletny przykład pokazujący opcje użyte w linii z/etc/fstab
— puk

3
@puk, mam UUID=3030BD846F74E514 /media/iam/ntfspartition ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0, jak to zawarłem na askubuntu.com/a/507326/221448 (gdzie również wspominam bind).
— Brady Trainor,

1
@ScottFuid=0,gid=0
— wjandrea

34

Jeśli zamontujesz partycję NTFS z opcją uprawnienia, to chmod / chown będzie działać

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2

Możesz wtedy

sudo chown your_user:your_user /mnt/excess

Łatwiej niż uid, dmask, fmask.


Jakikolwiek minus / efekt uboczny tego sudo chownpolecenia? Co to dokładnie robi?
— ReneSac,

5
Polecenie chown zmienia właściciela punktu montowania (/ mnt / nadmiarem) na żądanego użytkownika. Ten krok będzie musiał być powtarzany za każdym razem, gdy partycja zostanie zamontowana, z mojego doświadczenia (przynajmniej po każdym ponownym uruchomieniu) ... więc zrób właściwą rzecz, ustaw uid / gid / umask ... Zawsze myślałem, że fmask i dmask to opcjonalne - na przykład gdy chcesz mieć różne uprawnienia do plików i katalogów.
— thecarpy

7

Miałem z tym pewne problemy, ponieważ po ponownym uruchomieniu komputera zmienia się nazwa dysku ... ( sda0 na sdb2 )

Rozwiązałem problem, montując je za pomocą UUID w fstab, możesz wyświetlić UUID dla swoich dysków twardych, wpisując: sudo blkid

Utwórz kopię zapasową pliku fstab:

sudo cp /etc/fstab /etc/fstab.orig

Upewnij się, że trzykrotnie sprawdź >>, jeśli go umieścisz> nadpiszesz swoje fstab!

sudo blkid >> /etc/fstab

Jeśli nadal masz problemy, możesz zastąpić swój plik fstab oryginalnym:

sudo cp /etc/fstab.orig /etc/fstab

Następnie utwórz folder:

sudo mkdir /media/mydrivename

Skonfiguruj fstab:

sudo vim /etc/fstab

Nie zapomnij skomentować wyniku z blkid za pomocą „#” na początku wiersza!

Dodaj to do pliku fstab, możesz znaleźć UUID w bloku na dole wstawionym za pomocą powyższego polecenia. media / mydrivename to miejsce, w którym należy zamontować partycję.

UUID=xxxxxxxxxxxxxxxxx   /media/mydrivename ntfs    permissions,locale=en_US.utf8    0   2

To jest mój plik fstab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=5d4940cf-5cf5-443a-be11-1f7e551962d1 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda1 during installation
UUID=84b7e5e9-08c3-4641-b28b-99e0255e604d none            swap    sw              0       0

# 500 GB Webserver harddisk from lr-serv-01
UUID=BA9A48D39A488E37 /media/hdd1 ntfs permissions,locale=en_US.utf8 0 2

# 2 TB Movie share harddisk from lr-serv-01
UUID=7EB09666B09624A5 /media/hdd2 ntfs permissions,locale-en_US.utf8 0 2

#/dev/sda1: UUID="10EC004DEC003010" TYPE="ntfs" 
#/dev/sda2: LABEL="system" UUID="88A4FE47A4FE3772" TYPE="ntfs" 
#/dev/sda3: LABEL="storage_01" UUID="BA9A48D39A488E37" TYPE="ntfs" 
#/dev/sdb1: LABEL="storage_02" UUID="7EB09666B09624A5" TYPE="ntfs" 
#/dev/sdc1: UUID="84b7e5e9-08c3-4641-b28b-99e0255e604d" TYPE="swap" 
#/dev/sdc2: UUID="5d4940cf-5cf5-443a-be11-1f7e551962d1" TYPE="ext4" 
#/dev/sdd1: LABEL="storage_spotnet" UUID="EC6E8F416E8F0394" TYPE="ntfs" 
#/dev/sdd2: LABEL="storage_backup_pcs" UUID="6C2699D026999BA0" TYPE="ntfs" 
#/dev/sdd5: LABEL="storage_series" UUID="7670ABF770ABBC6D" TYPE="ntfs" 
#/dev/sdd6: LABEL="storage_winmx" UUID="564AB81B4AB7F5B9" TYPE="ntfs" 

Uruchom ponownie system, wpisując:

sudo reboot

Aby sprawdzić, czy partycja jest zamontowana, możesz wpisać df -k.

Daj sobie prawo własności:

sudo chown -R USERNAME:USERNAME /media/mydrivename

Zrobił to na Ubuntu Server 14.04.01 !

Mam nadzieję, że ta odpowiedź pomoże komuś ;-)


2
Chociaż brzmi to jak ogólnie solidna rada, uważam, że bardziej elegancko byłoby po prostu skopiować UUID z wyjścia, sudo blkidzamiast zrzucać całą rzecz /etc/fstabi przejściowo ją uszkadzać. Innym sposobem byłoby uzyskanie UUID z okna właściwości partycji w GParted.
— David Foerster,

Kiedy robię to na moim serwerze, tak naprawdę nie widzę sposobu, aby to skopiować ... Wszystko, co mam, to klawiatura i bash.
— rotgers

Większość emulatorów terminali pozwala kopiować rzeczy (zakładając, że używasz dostępu zdalnego lub emulatora terminala, takiego jak screenlub tmuxzamiast surowego terminala wirtualnego).
— David Foerster,

Złe założenie haha, nie używałem emulatora terminala. Dodałem jednak trochę do mojej odpowiedzi na temat wykonania kopii pliku fstab na wypadek, gdyby ktoś coś spieprzył. :)
— rotgers

Zmieniłem używanie UUID na LABEL, ponieważ z jakiegoś powodu UUID zmienił się, kiedy dostosowałem partycję, ale nazwy etykiet się nie zmieniły. Łatwiej mi też zobaczyć, co się dzieje w fstab z LABEL = „some-name” niż UUID = „długi ciąg losowy”.
— Widok eliptyczny


4

To może nie być dobre rozwiązanie, ale zawsze możesz odwzorować identyfikator użytkownika na swój własny lub identyfikator grupy:

Oto przykład, mój identyfikator użytkownika to 1000

/dev/sda5 /mnt/excess ntfs defaults,uid=1000,rw 0 0

W takim przypadku wszystkie zamontowane pliki należące do użytkownika o identyfikatorze 1000


1
To działa, ale z opcją „rw” lub bez niej, nadal montuje się z uprawnieniamidrwxrwxrwx
— Amanda

To działa dla mnie. Dla uprawnień dodałem do fstab file_mode = 0770, dir_mode = 0770
— Rui F Ribeiro

2

Zauważ, że jeśli zamontujesz dysk NTFS za pomocą etykiety i chcesz zmienić uprawnienia do katalogów lub plików na tym dysku, następujące działania działają dobrze (edytuj plik / etc / fstab np. Sudo nano / etc / fstab, a następnie dodaj) :

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    permissions,defaults        0       2

Podczas gdy poniższe NIE pozwolą ci zmieniać uprawnień do katalogów lub plików:

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    defaults        0       2

1

Używam następujących, które uważam poprawnie, daje mi uprawnienia po zamontowaniu (dysk NTFS z instalacji systemu z podwójnym uruchomieniem):

Edytuj /etc/fstab:

Identyfikatory UUID można znaleźć w /dev/disk/by-uuid/(zwykle odwzorować na /dev/sd*)

Zamień na <your uuid>swój UUID

UUID=<your uuid> /mnt/e ntfs auto,users,uid=1000,gid=1000,dmask=027,fmask=137 0 0

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.