Ubuntu'da yazma izinlerine sahip bir Windows klasörü bağlama


17

Görünüşe göre cevap burada: /superuser/251537/mount-specific-ntfs-directory-on-linux ancak beklendiği gibi çalışmıyor.

Windows 7 ve Ubuntu 13.04 (12.10'dan yükseltilmiş) ile çift önyükleme sistemim var ve hem okuma hem de yazma için Windows 7 kişisel klasörlerime erişmek istiyorum. Verilen bağlantıya göre talimatları izledim ve dosyam /etc/fstabşöyle görünüyor:

/dev/sda1 /media/windows ntfs ro,umask=0222,defaults 0 0
/media/windows/Users/MyUser/    /home/myuser/Windows    ntfs-3g rbind,user,umask=0222,defaults 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0

Neredeyse beklendiği gibi çalışıyor. Windows bölümüm /media/windows/salt okunur izinlerle açık ve Windows kişisel klasörüm açık ~/Windows. Ancak bu kişisel klasör de salt okunurdur.

Not Ben bunu çoklu oturum ortamında yapılandırıyorum, bu yüzden oturumum ve diğer kullanıcı oturumları için çalışmak için buna ihtiyacım var. Her kullanıcının Windows klasörlerini Linux'tan erişebilmesi ve yazabilmesi ve okuyabilmesi gerekir.


Tüm sistemi yeniden başlatmak zorunda kalmadan yapılandırmaları değiştirebilmem ve test edebilmemin herhangi bir yolu var mı? Şimdiye kadar umask değiştirmeyi denedim (0002'ye kadar), uid ve gid parametreleri vb.
Carlos Eugenio Thompson Pinzón

100 lütuf fikrini totti'ye verdim ya da altındaki bölümü /root/(çalışıyor) monte ettim . Şu anki çözümüm falconer, ajThapa, totti ve yilmi tarafından sağlanan ipuçlarını kullanıyor, hiçbiri orijinal soruda beklendiği gibi çalışmıyor (korumalar yeterli değil), ama çalışıyor (kullanıcılar verilerine rw erişimi var). Bahsedilen tüm cevaplar iptal edildi.
Carlos Eugenio Thompson Pinzón

Yanıtlar:


6

Yukarıdaki bağlantılı süper kullanıcı sorusu, bölümü ve alt dizini salt okunur modda bağlamak içindir . Okuma-yazma için sadece alt dizine (kişisel klasör) ihtiyacınız vardır.

Öncelikle sisteminizin ntfs bölümünü okuma-yazma modunda monte edip edemediğini kontrol edin

mount -t ntfs-3g  -o rw /dev/sda1 /media/windows

Şimdi monte edilen fs'nin yazılabilir olup olmadığını test edin. Değilse burada durun ve bu sitede başka bir soru sorun.

Sorun RO monte edilmiş bir bölümün alt dizini RW içinde olamaz. Böylece çözüm, Windows bölümünü RW'ye gizli ve erişilemez bir yere monte etmektir. Öyleyse, root olmayan kullanıcılar tarafından erişilemeyen / root / win üzerine monte edelim (olmadan sudo)

Bir itibariyle kök kullanıcı aşağıdakileri yapın
Adımlar
RW 1. Dağı pencereler bölümü

mount -t ntfs-3g -o rw /dev/sda1 /root/win  

2. Bağlayın

mount --bind /root/win/Users/MyUser/  /home/myuser/Windows  

3. Windows bölümünün salt okunur bir örneğini bağlama

mount --bind /root/win /media/windows  
mount -o remount,ro /media/windows

Şimdi her şey yolunda olmalı. Ayrıca windows bölümü bağlantısını kesebilirsiniz ama bazı sistemde sizi bağlı bir (@home) erişilemez hale getirecek uyarıyorum. Kodumount /root/win

Alternatif olarak, Windows bölümünü RW'ye / media / windows (/ root / win yerine) olarak bağlayabilir ve hemen aynı bağlama noktasına (/ media / windows) bağlayabilirsiniz, böylece hiç kimse (hatta kök) bölümü (ancak kullanıcı klasöründe).


Çalışıyor mu ? Sorun ne?
totti

İlk bölüm, rw / media / windows içine montajı w izinleri rapor etmese de çalışıyor gibi görünüyor aslında dosyaları dokunmak ve düzenlemek.
Carlos Eugenio Thompson Pinzón

Yeniden monte ederken aşağıdaki hatayı alıyorum:Remounting is not supported at present. You have to umount volume and then mount it once again.
Carlos Eugenio Thompson Pinzón

Bence bu sizin sisteminizin sorunu. Ben ubuntu 12.10 başarıyla test var. Ben ubuntu 10.04 bile böyle bir hata görmüyorum. Canlı bir sistemde deneyebilirsiniz (işletim sistemi güncellenmiş gibi görünüyordu).
totti

Zarif bir çözüm ve çok net bir açıklama için benden +1 teşekkürler. Özellikle kullanıcı klasörü dışında bir tane (hatta kök) yazabilirsiniz böylece kullanıcı klasörü montaj hile seviyorum. Sistem dosyalarının ait olduğu Windows 8.1 örneği dışında hiçbir işletim sistemi örneği bu sistem dosyalarına erişen herhangi bir işletmeye sahip olmadığından, bu en iyi çözümdür. Ancak paylaşılan veriler farklı bir hikaye.
Bill The Ape

5

Bağlı süper kullanıcı cevabının çalışan bir cevap olduğundan şüpheliyim. (Gerçi ben denemek olamaz.) Gönderen man mount:

Dosya sistemi bağlama seçeneklerinin orijinal bağlama noktasındaki seçeneklerle aynı kalacağını ve -o seçeneği --bind / - rbind ile birlikte geçirilerek değiştirilemeyeceğini unutmayın. Bağlama seçenekleri ayrı bir yeniden komutla değiştirilebilir, örneğin:

mount --bind olddir newdir
mount -o remount,ro newdir

Ben de --rbindfarklı bir dosya sistemi sürücüsü (ntfs vs ntfs-3g) ile bir dosya sisteminin bir parçası mümkün olduğundan şüphe .

Ne zaman rbindmontaj hiçbir şey okuma-yazma olacak böylece komut, her seçeneği göz ardı eder. Çekirdek ntfs sürücüsü yazma işlemlerini desteklemediğinden, rwseçenek de buna yardımcı olmaz. NTFS-3G sürücüsünü kullanın.

Temel olarak yapmanız gereken bu (bir terminalde):

mount -t ntfs-3g -o ro /dev/sda1 /media/windows
mount --bind /media/windows/Users/MyUser/    /home/myuser/Windows
mount -o remount,rw /home/myuser/Windows

(Bence bu --rbindda gereksiz, --bindyeterli olmalı.)

Ve şu sorunun altındaki yorumla ilgili: Elbette sistemi test etmek için yeniden başlatmanız gerekmez, sadece mountyukarıda yaptığım gibi komutu kullanın . (Ve umountkomutla bağlantısını kesin .)

Bunun amaçlandığı gibi çalıştığını doğruladıktan sonra, yalnızca montajı değiştirir ve istediğiniz seçenekleri eklersiniz: uid, gid, umask, vb.


Bunu kullanarak test edebilirim mount, ancak çalışma yapılandırmasını bulduğumda, otomatik olarak ya /etc/fstabda başka yollarla yapmak isteyeceğim . (Ob Sorusu ile: mountkomutları fstabparametrelere nasıl çevirebilirim ?)
Carlos Eugenio Thompson Pinzón

@ CarlosEugenioThompsonPinzón Başlangıçta komutla fstabsırayla ayrıştırılan bir dosyadır mount. Ancak Ubuntu'nun fstab'daki komutları sırayla çalıştırmayabileceğini mountancak mountallbaşlangıçta kullanmadıklarını düşünüyorum . Bu yüzden evet, bu komut parametrelerini basitçe koymak fstabişe yaramayabilir. Ancak her zaman çalışma bağlama komutlarını bir başlangıç ​​komut dosyasına (örn. /etc/rc.local) Koyabilir veya bunlardan bir başlangıç ​​işi yapabilirsiniz. Sizin durumunuzdaki en önemli şey, çalışma sırasında bir montaj şemasını bulmaktır;
falconer

@ CarlosEugenioThompsonPinzón Hata! Yorumdan son soruyu kaçırdım. Peki mount komutları fstab'a nasıl çevrilir? Buradanman mount veya içine bakabilirsiniz . Kısa hikaye: ilk alan: montaj cihazı, ikinci alan: montaj noktası, üçüncü alan: fs tipi (daha kesin olarak fs sürücüsü), dördüncü alan: montaj seçenekleri, diğer alan artık daha az önem taşımaktadır. Yani arkada yazdığımız stringin mount komutunu üçüncü alana, arkasında yazdığımız string dördüncü alana gider. -t-o
falconer

3

Bunun yardımcı olup olmadığına bakın ...

Eğer sda1zaten monte edilir /media/windows, bunu birlikte kaldırmak olabilir:

sudo umount /media/windows

Sonraki dizini oluşturmak windowsiçinde /media/:

sudo mkdir /media/windows

/etc/fstabAşağıdaki gibi düzenleyin :

/dev/sda1  /media/windows ntfs-3g  rw,nodev,noexec,auto,nouser,async,locale=en_US.utf8,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/MyUser/  /home/myuser/Windows  ntfs-3g rbind,user,rw,nodev,noexec,auto,async,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/OtherUser/  /home/otheruser/Windows  rbind,user,rw,nodev,noexec,auto,async,uid=1001,gid=1001,umask=0002 0 0

( Not : uid ve gid değerlerini kullanıcı için olduğu gibi değiştirin . Bir kullanıcının uid ve gid değerini almak için komutu id -u usernameve id -g usernameresp'yi kullanabilirsiniz.)

Şimdi bunları şu komutla monte edebilirsiniz:

sudo mount -a

Şimdi yeniden bağlanan dizinlere gidin ve dosyayı düzenleyip düzenleyemeyeceğinize bakın. Ve bitirmelisin.


Tamam, kök olarak rw izinleri var /media/windows(rapor değil ls, ancak dosyaları düzenleyebilirim), ancak sudodosyaları değiştirmek için gereken yerel dizinlerde .
Carlos Eugenio Thompson Pinzón

... ve şimdi tüm dizinleri gelen, bana (kullanıcıyı 1000) ait olan monte /media/windowsetmek /home/someotheruser/Windows.
Carlos Eugenio Thompson Pinzón

Sanırım şimdi siz ve diğer kullanıcılar ilgili çalışmaları yapabilir ve kaydedebilirsiniz. kullanıcıların $ HOME içindeki bağlama noktaları ... geri kalan kullanıcılar hala RW erişimine sahip değilse, bunları grubunuza ekleyin (muhtemelen gid 1000 ile)
tam

Şu anda tüm yerel kullanıcıların bağlı olduğu bir grubum var ve bu gruba yazma izinleri veriyorum. Bu, “her kullanıcının kendi verilerine rw erişimi vardır”, ancak tüm bölüm ve diğer kullanıcıların verileri korunmaz.
Carlos Eugenio Thompson Pinzón

3

Fstab yapılandırma dosyanızı düzenlemeden önce tüm testlerinizi yapın.

Eğer büyük olasılıkla dosya sistemi kirli olarak işaretlenmişse ntfs dosya sisteminin otomatik olarak salt okunur olarak bağlandığını biliyorsunuzdur. Cevaplardan herhangi birini denemeden önce yapmanız gereken şey, diski pencerelere monte etmek ve tekrar takmaya çalışmadan önce chkdsk çalıştırmaktır.

Ayrıca, rw'ye montaj hala başarısız oluyorsa, sudo mount -t ntfsveyasudo mount -t ntfs-3g

FS rw'ye bağlandıktan sonra aşağıdakileri yapabilirsiniz:

mount --bind /media/MOUNTPOINT/TARGETFOLDER /home/SHAREDDIRECTORY/ mount -o remount,ro /home/SHAREDDIRECTORY/

veya

sudo gksu nautilusveya sudo gksu dolphinsu haklarına sahip bir kaşif açmak


İçin teşekkür ederim chkdsk. Gerçekten NTFS bölümünde bazı bozulmalar vardı ve şimdi bağlı sürücüye yazabilirim sudo.
Carlos Eugenio Thompson Pinzón

2

Neden okuma ve yazma özelliğiyle bağlamaya çalışmıyorsunuz rw ?

/ dev / sda1 / medya / windows ntfs rw , umask = 0222, varsayılan 0 0


Ben kontrol, ancak ben bütün bölüm salt okunur ve sadece belirli klasörler okuma-yazma olarak sahip olmasını tercih ediyorum.
Carlos Eugenio Thompson Pinzón

İşe yaramadı. Hem bölüm hem de klasörler hala salt okunurdur. Tek fark, chmod ve chown'un salt okunur bir hatayı bildirmemesi: sadece çalışmazlar.
Carlos Eugenio Thompson Pinzón

2

Ancak tam olarak emin değilim, lütfen bunu deneyebilir misiniz? Sürücü monte edildikten sonra terminalde aşağıdaki komutu verin

sudo gksu nautilus

yönetici parolanızı girin ve açılan grafik penceresinde sürücüyü tıklayıp okuma / yazma izinlerini değiştirebilmeniz gerekir.

Bunun işe yarayıp yaramadığını bana bildirin. Kök ayrıcalıklarına sahip grafik arayüzlü nautilus kullanımı için yardım mevcuttur.


Bu, dosyalara erişime izin verir ve bunlar da kopyalanabilir, ancak unix olmayan dosya sistemleri salt okunur olarak bağlandığından salt okunur izinler değişmeyebilir ...
Wilf


0

Windows'u okuma-yazma olarak monte etmenin en kolay yolu, yeniden başlatmanız veya tamamen kapatmanızdır. "Hızlı kapanma" kullanıldığında NTFS bölümü hazırda bekletme moduna geçer . Bu ilke bu bağlantıda daha ayrıntılı olarak ele alınmaktadır.

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.