Jakie są domyślne ustawienia montowania dla mount / fstab?


18

Jakie są domyślne opcje montażu dla partycji innej niż root?

Wpis man dotyczący mount mówi:

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

... więc możemy się tego spodziewać. Ale chyba, że ​​czegoś mi brakuje, nie dzieje się tak.

Mam partycję ext3 oznaczoną „NewHome20G”, którą system postrzega jako / dev / sdc6. Widzimy to z ...

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

Mam wpis w fstab w następujący sposób ...

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

Zwróć uwagę na ustawienia opcji określone w tym wierszu fstab.

Teraz patrzę na to, jak partycja jest faktycznie zamontowana po uruchomieniu ...

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

... więc kiedy system plików zostanie zamontowany, podane opcje exec i users wydają się być ignorowane.

Dla pewności odłączam sdc6, ponownie go instaluję i ponownie sprawdzam opcje montowania ...

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]

.... ten sam wynik

Teraz odmontowuję partycję ponownie, podłączam ją ponownie, określając opcję exec i sprawdzam wynik ...

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]

... i tutaj w końcu zaczęła obowiązywać opcja exec, a ustawienie noexec zniknęło.

Dla zainteresowania ponownie instaluję partycję z opcją defaults

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 powrócił, więc wygląda na to, że rw, noexec, nosuid, nodev są domyślnymi opcjami, których NIE mówi człowiek.

Dlaczego to ma znaczenie?

Mam folder pełen przydatnych skryptów przechowywanych na dysku z danymi. Ponieważ ten dysk jest zamontowany bez tych skryptów, te skrypty nie będą działać, mimo że wszystkie zostały ustawione w chmod 777. Mogę to obejść na kilka sposobów, ale rozczarowujące jest to, że wpis man wydaje się błędny.

Czy przeoczyłem coś oczywistego tutaj lub zmieniłem domyślne opcje w Ubuntu w porównaniu z poprzednimi wersjami?

Odpowiedzi:


18

Instrukcja jest poprawna . Problem polega na tym, że być może nie uwzględniłeś 3 ważnych szczegółów:

  • users(i user) implikuje opcje noexec, nosuidoraz nodev

  • Chyba że zostaną zastąpione kolejnymi opcjami

  • Opcje zamówienia mają znaczenie;)

Więc kiedy używasz rw,nosuid,nodev,exec,usersw swoim fstab , ostatnia opcja users, ustawia noexec,nosuid,nodev, wyłączając w ten sposób twój exec(i czyniąc twój nosuid,nodevredundantnym).

Wynik, zgodnie z oczekiwaniami, jest rw,noexec,nosuid,nodev.

I nie, usersnie został zignorowany, po prostu zwykle nie wyświetla się w mountwynikach listowania. Ale każdy użytkownik może go odmontować i zamontować ponownie. Spróbuj!

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

mountpokaże coś związanego z użytkownikiem tylko wtedy, gdy zostanie użyty user(a nie users ), a zwykły użytkownik inny niż root zainstaluje go w następujący sposób:

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

Zauważ również, że przy użyciu userbez noautopartycja zostanie automatycznie zamontowana (przez root) podczas rozruchu. Zatem dopóki root nie odmontuje go, nikt nie będzie w stanie odmontować ani (ponownie) zamontować.

To powiedziawszy, myślę, że już wymyśliłeś swoje rozwiązanie: po prostu zmień kolejność swoich opcji i wszystko będzie działać dobrze:

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

Zwróć uwagę, jak execto jest później users . I również rw,nosuid,nodevnie jest konieczne. rwjest już domyślny, a pozostałe są automatycznie włączane przezusers

Rezultat to:

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 ~ $

Oznacza to, że każdy użytkownik, root lub inny niż root, może go zamontować i odmontować, niezależnie od tego, kto go wcześniej zamontował lub odmontował. Pliki wykonywalne też działają :)


Czy miałeś na myśli „... gdy używasz userbez auto, partycja zostanie automatycznie zamontowana ...”?
Andreas J.,

@AndreasJ. Nie, miałem na myśli noauto. autojest już domyślnym zachowaniem, więc bez noautojest takie samo jak w przypadku auto: partycja zostanie automatycznie zamontowana.
MestreLion,

Przepraszam, źle odczytałem twoje zdanie. To ma sens!
Andreas J.,
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.