Tüm kullanıcıların bir EXT4 Birimine Okuma ve Yazma için fstab girişini değiştirin


44

EXT4 bölmeli bir Ubuntu 10.04 kutum var. Bu bölüm otomatik olarak bağlanacak şekilde ayarlanmış /etc/fstab. Bu yazının amaçları için, onu arayacağım: /media/foo.

Ne yazık ki, yalnızca rootkök dosya sisteminde dosya / dizin oluşturabilir / silebilir foo. Diğer kullanıcıların bu birimde dosya / io gerçekleştirebilmesi rootiçin bir dizin ve chmodbaşkalarının izinlerini oluşturması gerekir .

Kimsenin gerek kalmadan hacmine okuma / yazma mümkün olacağını böyle birimini bağlamaya istiyorum rootiçin chmod.

Aşağıda benim fstabgiriş:

/dev/sda8    /media/foo    ext4    rw,user,exec 0 0

Girdi orijinal defaultsyerine oldu rw,user,exec. rwHerhangi bir kullanıcının okuyabilmesi / yazabilmesi için ek girişler ekledim .

Ne yazık ki, fstabgiriş çalışmıyor. İyi monte edilir, ancak yine rootde müdahale etmesi gerekir.

Ve, vaka soran sadece, sadece çalıştırarak: chmod -R 777 *on /media/fooolarak rootiş yapmaz.

Yanıtlar:


45

Mount seçeneği usersadece dosya sisteminin herhangi bir kullanıcı tarafından monte edilmesine izin verir. rwSeçenek değil salt okunur dosya sistemini yapar. Üst dizini yazılabilir yapmak için izinleri kullanmak zorunda kalacaksınız.

chmod 777 /media/foo

chmodGöstermek komutu yalnızca mevcut dosyaları etkiler içinde /media/foo .


2
Ubuntu'da bu komutu başlangıçta eklemek için en iyi yer neresidir?
Ivan Balashov

@ IvanBalashov: Bir @rebootgirişi /etc/crontabdiğer olasılıklar arasında da kullanabilirsiniz .
Dennis Williamson

3
@DennisWilliamson Teşekkürler. /etc/rc.localHerhangi bir fark yaratırsa onu koydum . Genel olarak beni bu konuda rahatsız eden şey, bunun gerçekten yapılandırılması gerektiği fstab. Değilse, montaj noktası değişebilir ve komut dosyaları da değişmek zorunda, cehennem.
Ivan Balashov

Vay, şu şeyleri tahmin etmeye başlamalıyım: D, çok teşekkür ederim.
erm3nda

1
Chmod katılıyorum ama bir ekleyin: kendi alt dizin oluşturmak için etkinleştirmek için chmod + t / medya / foo
user1251840

25

Fstab girişini şu şekilde değiştirmenin daha kolay olacağını düşünüyorum:

/dev/sda8    /media/foo    ext4    rw,user,exec,umask=000 0 0

umask=000Herhangi birisinin foo içindeki herhangi bir dosyayı veya dizini okuyabileceği, yazabileceği veya yürütebileceği anlamına gelir. Her zamanki varsayılan 022, bu da kullanıcıların yazamayacağı anlamına gelir.


32
umask sadece ntfs / vfat bölümleri için bir seçenektir. mount bir ext dosya sisteminde umask sevmez.
Daniel

8

OpenSUSE'de de aynı sorunu yaşadım, ancak çözümün de buna uygulanabileceğini düşünüyorum. Bağlı dosya sistemini paylaşmak istediğim tüm kullanıcılar aynı birincil gruba ait: kullanıcılar

Fstab'ımda şu satır var:

/dev/<partition> <mount_point>          ext4       rw,acl       0 0

ve aşağıdaki komutları koştum:

sudo chgrp -R users <mount_point>
sudo setfacl -d -m g::rwx <mount_point>

Böylece yeni oluşturulan dosyalar veya dizinler bu izinleri alır. Bu, acl paketinin kurulu olduğu anlamına gelir.


Eğer şifreli bir dizin ise /home, bu /etc/crypttab?
George Udosen

2

Bir şey için, / media / foo dizininin yazılabilir olduğundan emin olmak istersiniz. Zaten değilse, aşağıdaki komutu çalıştırın:

chmod +w /media/foo

Unutmayın, yıldız sadece dizinin kendisi veya görünür olmayan dosyalar için değil, dizinin görünür içeriği için geçerlidir.


1

Deneyin,

sudo setfacl -R -d -m u::rwx,g::rwx,o::rwx <mount_point>

0

Birkaç yıl önce bağlama noktasının grubunu plugdev grubuna ayarladım, kullanıcıyı o gruba ekledi. Bu sayede, yeni gruplar oluşturarak, kullanıcı bazında izin vermek mümkündür. Evde kullanım için, bağlama noktası izinlerini başkalarına ayarlamak yeterlidir: yukarıda yazıldığı gibi okuma / yazma / yürütme.

Terminalde 'sudo nautilus &' ile yaptım ve sağ tıklama -> özellikleri -> haklar, ancak root olarak çalışan herhangi bir dosya yöneticisi iyi olurdu.

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.