Bir NTFS bölümünü / etc / fstab içine nasıl doğru bir şekilde bağlayabilirim?


72

Tüm bölümümü dolduran denetlenmeyen otomatik podcast indirmelerinin neden olduğu kötü bir bölümden (benim ikinci öğrenimim diye düşünürdüm) sonra nihayet sadece ~/Musickendi bölümüne geçtim . Kullandığım bölüm zaten NTFS olarak biçimlendirilmişti (bu dahice bir bölüm: bu bilgisayarı üç yıl önce aldığımda, aslında daha önce bu sorunu yaşadığım için 20G'lik bir müzik bölümü kurdum, ama aslında müzik depolamak için kendimi organize ettim.Bu yüzden benim arkamdan yapıyorum İşte ihtiyacım olan şey şu:

Başlangıçta montaja başlamak istediğim iki bölümüm var:

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

Ext4 bölümü para cezasına çarptırılır (bana aittir, yalnızca bana yazılabilir), ancak ntfs herkes için okuma ve yazma izniyle root'a aittir. Bunu nasıl düzelteceğimi bilmiyorum. Ntfs hakkında ilginç bir şey var mı yoksa başka bir yerde bu soruna neden olan bir şey mi yaptım?

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

"Noatime" veya "relatime" seçenekleri kalıcı ntfs montajı için kullanılabilir ve önerilir (bkz. Man mount.ntfs). Ext3 / 4 ve ntfs ile de bazı hdd meşgul-ness sorunları vardı!

Yanıtlar:


89

Ntfs ve vfat dosya sistemleri için izinleri ile ayarlanması gerekir dmask, fmaskve umaskseçenekler. dmaskDizinler için izinleri fmaskdenetler, dosyalar için izinleri umaskdenetler ve her ikisini de denetler. Bu seçenekler maskeleri ayarladığından , istediğiniz izinlerin tamamlayıcısı olmalıdır. Örneğin, sahibi için rwx ve diğerleri için rx, 755 yerine 022'dir.

Sahibini ayarlamak için , sırasıyla kullanıcı ve grup için uidve gidseçeneklerini kullanın . UID'nizi komut ile bulabilirsiniz id -u. GID’nizi bulmak için kullanın id -g. Bu değerlerin ikisi de genellikle 1000'dir.

Ntfs için ortak bir takma seçenekleri kümesidir uid=1000,gid=1000,dmask=027,fmask=137. Bu, sizi sürücünün sahibi olarak belirler ve izinleri olarak ayarlar drwxr-x---.

İşte / etc / fstab çalışmalarımdan iki satır

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

Yeniden başlattıktan sonra görünür bir hata almazsanız ve bölümler salt okunur kalırsa veya şuna benzer bir hata alırsanız:

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

Bunun nedeni, Windows 8 ve 10'un "tamamlanmayan" kapatmaya bağlı olan bir "Hızlı Başlangıç" seçeneği sunmasıdır. "Power Options" altındaki bu adımları izleyerek hızlı başlatmayı devre dışı bırakabilirsiniz .



Bu aslında yukarıdakilerin çoğunun kaynağı. Ayrıca, maske seçeneklerinin nasıl çalıştığı hakkında daha ayrıntılı açıklamalar da ekledim.
bessman

3
Bir satırda kullanılan seçenekleri gösteren/etc/fstab
puk

3
@puk, askubuntu.com/a/507326/221448 UUID=3030BD846F74E514 /media/iam/ntfspartition ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0adresinde de bulunduğum gibi (ayrıca bahsettiğim bind).
Brady Trainor

1
@ScottFuid=0,gid=0
wjandrea, 13:17

34

Ntfs bölümünü izinler seçeneğiyle birlikte bağlarsanız, chmod / chown çalışacaktır.

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

Sonra yapabilirsin

sudo chown your_user:your_user /mnt/excess

Daha kolay o zaman uid, şut, şut.


Bu sudo chownkomuta herhangi bir olumsuz / yan etkisi var mı? Tam olarak ne işe yarıyor?
ReneSac

5
Chown komutu, bağlama noktasının sahibini (/ mnt / excess) istenen kullanıcıya değiştirir. Bu adım, bölüm her monte edildiğinde, deneyimlerime göre (en azından her yeniden başlatmadan sonra) tekrarlanacak ... bu yüzden, uygun olanı yapın, uid / gid / umask ayarlayın ... isteğe bağlı - dosyalar ve dizinler için farklı izinler istediğiniz gibi.
telaşsız

7

Bununla ilgili biraz sorun yaşadım çünkü disk adını değiştirdiğimde değişiklikler değişti ... ( sda0 - sdb2 )

Bu sorunu fstab'a UUID ile monte ederek düzelttim, sabit sürücüleriniz için UUID'yi aşağıdakileri girerek görüntüleyebilirsiniz: sudo blkid

FStab dosyanızın yedeğini alın:

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

Birini yerleştirirseniz,>> fstab'ınızın üzerine yazarsanız >> 'yi kontrol ettiğinizden emin olun!

sudo blkid >> /etc/fstab

Hala batırdıysanız, fstab'ınızı orijinali ile değiştirebilirsiniz:

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

Sonra bir klasör yap:

sudo mkdir /media/mydrivename

Fstab'ı yapılandırın:

sudo vim /etc/fstab

Blkid'den çıkan çıktının satır başında '#' ile yorum yapmayı unutmayın!

Bunu fstab dosyasına ekleyin, UUID'yi yukarıdaki komutla eklediğiniz blokta bulabilirsiniz. media / mydrivename , bölümün monte edilmesi gereken yerdir.

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

Bu benim fstab dosyam:

# /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" 

Yazarak sistemi yeniden başlatın:

sudo reboot

Bölümün monte edilip edilmediğini kontrol etmek için yazabilirsiniz df -k.

Kendine sahiplik et:

sudo chown -R USERNAME:USERNAME /media/mydrivename

Bunu Ubuntu Server 14.04.01'de yaptınız !

Umarım bu cevap birine yardımcı olur ;-)


2
Bu genel olarak sağlam bir tavsiye gibi görünse de, UUID'yi sudo blkidher şeyden atmak yerine /etc/fstabve geçici olarak yozlaştırmak yerine basitçe UUID'nin çıktısından kopyalamayı daha zarif buluyorum . Başka bir yol UUID'yi GParted'deki bölümün özellikler iletişim kutusundan almaktır.
David Foerster

Sunucumda bunu yaptığım için gerçekten kopyalamanın bir yolunu göremiyorum ... Elimdeki tek şey bir klavye ve bash.
rotgers

Çoğu terminal emülatörü, bir şeyleri kopyalamanıza izin verir (uzaktan erişim veya ham sanal terminal gibi screenveya tmuxyerine bir terminal emülatörü kullandığınız varsayılmaktadır ).
David Foerster

Kötü varsayım haha, bir terminal emülatörü kullanmıyordum. Ancak, birinin batırması durumunda fstab dosyasının bir kopyasını aldığım için cevabımı bazı şeyler ekledim. :)
rotgers 19:14

UUID'yi LABEL olarak kullanmaya başladım, çünkü bir nedenden dolayı UUID bir bölüm değiştirdiğimde değişti ama etiket isimleri değişmedi. Ayrıca fstab'da neler olup bittiğini LABEL = "some-name" ile görmek, UUID = "long random string" den daha kolay buluyorum.
Eliptik görünüm


4

İyi bir çözüm olmayabilir, ancak kullanıcı kimliğini kendi kimliğinizle veya grup kimliğiyle her zaman eşleyebilirsiniz:

Burada sadece bir örnek, kullanıcı kimliğim 1000 idi

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

Bu durumda, takılı tüm dosyalar kullanıcısına ait olan 1000 ided


1
Bu çalışır, ancak "rw" seçeneğiyle veya hariç, hala izinlerle drwxrwxrwx
Amanda

Bu benim için çalışıyor. İzinler için fstab dosyasına file_mode = 0770, dir_mode = 0770
Rui F Ribeiro

2

Ntfs sürücünüzü bir etiket kullanarak monte ederseniz ve bu sürücüdeki dizinlerin veya dosyaların izinlerini değiştirebilmeyi istiyorsanız aşağıdakilerin iyi sonuç verdiğini unutmayın (/ etc / fstab komutunu düzenleyin örneğin sudo nano / etc / fstab ve sonra ekleyin) :

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

Aşağıda Oysa ediyorum DEĞİL Eğer dizin veya dosya izinlerini değiştirmesine izin:

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

1

Doğru kullandığımı aşağıdakileri kullanırım mount üzerine izinler verir (çift önyükleme sistemi kurulumundan NTFS sürücüsü):

Düzenle /etc/fstab:

Uuıdlerin bulunabilir /dev/disk/by-uuid/(genellikle eşleme /dev/sd*)

<your uuid>UUID'nizle değiştirin

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.