Mount / fstab için varsayılan bağlama ayarları nelerdir?


18

"Root" dışı bir bölüm için varsayılan montaj seçenekleri nelerdir?

Mount için adam girişi diyor ki ...

defaults - use default options: rw, suid, dev, exec, auto, nouser, and async.

... görmeyi umduğumuz şey bu olabilir. Ama bir şeyi kaçırmazsam, olan bu değil.

Ben sistem tarafından / dev / sdc6 olarak görülen "NewHome20G" etiketli bir ext3 bölüm var. Bunu görebiliyoruz ...

root@john-pc1204:~# blkid | grep NewHome20G
/dev/sdc6: LABEL="NewHome20G" UUID="d024bad5-906c-46c0-b7d4-812daf2c9628" TYPE="ext3" 

Fstab'da şöyle bir giriş var ...

root@john-pc1204:~# cat /etc/fstab | grep NewHome
LABEL=NewHome20G        /media/NewHome20G        ext3         rw,nosuid,nodev,exec,users     0  2

Bu fstab satırında belirtilen seçenek ayarlarını not edin.

Şimdi bölümün açılıştan sonra nasıl monte edildiğine bakıyorum ...

root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

... yani dosya sistemi bağlandığında, belirlediğim exec & users seçenekleri yok sayılıyor gibi görünüyor.

Sadece emin olmak için, sdc6 bağlantısını kesin, yeniden takın ve montaj seçeneklerine tekrar bakın ...

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

.... aynı sonuç

Şimdi bölümü tekrar ayırıyorum, exec seçeneğini belirterek tekrar takın ve sonuca bakın ...

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o exec
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,nosuid,nodev) [NewHome20G]

... ve burada exec seçeneği nihayet yürürlüğe girdi ve noexec ayarı kayboldu.

Sadece ilgi için, bölümü varsayılan seçenekle yeniden bağlarım

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o defaults
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

Noexec geri döndü, bu yüzden rw, noexec, nosuid, nodev gibi görünüyor, insanın söylediği DEĞİL varsayılan seçenekler.

Bu neden önemli?

Bir veri diskinde depolanan yararlı komut dosyalarıyla dolu bir klasör var. Bu disk takıldığı için, hepsi chmod 777 ile ayarlanmış olsa bile, bu komut dosyaları çalışmaz. Bunu çeşitli şekillerde çalışabilirim, ancak adam girişinin yanlış olduğu hayal kırıklığı yaratıyor.

Burada bariz bir şeyi kaçırdım mı veya Ubuntu'daki varsayılan seçeneklerin birkaç sürümden önce değişti mi?

Yanıtlar:


18

Kılavuz doğrudur . Sorununuz, belki de 3 önemli ayrıntıyı açıklamamanızdır:

  • users(ve user) ima seçenekleri noexec, nosuidve nodev

  • Sonraki seçeneklerle geçersiz kılınmadıkça

  • Seçenekler sipariş önemlidir;)

Kullandığınızda Yani rw,nosuid,nodev,exec,userssizin de fstab , son seçenek, users, setleri noexec,nosuid,nodev, böylece sizin devre dışı bırakma exec(ve aynı zamanda yapım nosuid,nodevlüzumsuz).

Sonuç, beklendiği gibi rw,noexec,nosuid,nodev.

Ve hayır, usersgöz ardı edilmedi, genellikle mountliste çıktısında görünmüyor . Ancak herhangi bir kullanıcı onu çıkarabilir ve tekrar takabilir. Dene!

rodrigo@desktop ~ $ mount /dev/sda6                     # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works       # noexec will deny this
bash: /mnt/mint10/bin/echo: Permission denied

mountyalnızca kullanıcıya ilişkin bir şey göstereceğim user( değil users ) kullanılır ve sıradan olmayan kök kullanıcı bağlar o böyle:

rodrigo@desktop ~ $ mount /dev/sda6         # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6  # it will list current "owner"
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev,user=rodrigo)
rodrigo@desktop ~ $ umount /dev/sda6
rodrigo@desktop ~ $ sudo mount /dev/sda6
rodrigo@desktop ~ $ mount | grep /dev/sda6  # since owner=root, it won't show
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6        # only mounter can unmount
umount: only root can unmount LABEL=MINT10 from /mnt/mint10

Ayrıca, useronsuz kullanıldığında noauto, bölümün önyüklemede otomatik olarak (kök tarafından) olacağını unutmayın. Böylece kök onu ayırıncaya kadar, kimse sökemez veya (yeniden) monte edemez.

Bununla birlikte, sanırım çözümünüzü zaten çözdünüz: sadece seçeneklerinizin sırasını değiştirin ve her şey iyi çalışacaktır:

LABEL=NewHome20G  /media/NewHome20G  ext3  users,exec  0  2

Nasıl Bildirimi execolduğunu sonra users . Ayrıca rw,nosuid,nodevgerekli de değil. rwzaten bir varsayılan ayardır ve diğerleri tarafından otomatik olarak açılır.users

Ve sonuç:

rodrigo@desktop ~ $ mount /dev/sda6                  # user mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works    # exec works
it works
rodrigo@desktop ~ $ sudo umount /dev/sda6            # root unmount
rodrigo@desktop ~ $ sudo mount /dev/sda6             # root mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6                 # user unmount
rodrigo@desktop ~ $

Yani herhangi bir kullanıcı, root veya root olmayan, daha önce kimin monte ettiği veya bağlantısını kestiğine bakılmaksızın, onu monte edebilir ve çıkarabilir. Ve yürütülebilir dosyalar da çalışır :)


Eğer "kullanırken ... kastettiniz userolmadan auto, bölüm ... automounted olacak"?
Andreas J.9

@AndreasJ. Hayır, demek istedim noauto. autozaten varsayılan davranıştır, bu nedenle olmadan noautoile aynıdır auto: bölüm otomatik olarak numaralandırılır.
MestreLion

Üzgünüm, cümlenizi yanlış okudum. Mükemmel mantıklı!
Andreas J.
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.