mount / fstabのデフォルトのマウント設定は何ですか?


18

非ルートパーティションのデフォルトのマウントオプションは何ですか?

mountの男性エントリには...

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

...それが私たちが期待するものかもしれません。しかし、私が何かを逃さない限り、それは起こりません。

「NewHome20G」というラベルの付いたext3パーティションがあり、システムからは/ dev / sdc6として認識されます。これは私たちから見ることができます...

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

次のようにfstabにエントリがあります...

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

そのfstab行で指定されているオプション設定に注意してください。

起動後、パーティションが実際にどのようにマウントされるかを見てみましょう...

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

...したがって、ファイルシステムがマウントされると、指定したexec&usersオプションは無視されたようです。

念のため、sdc6をアンマウントし、再マウントして、マウントオプションをもう一度確認します...

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]

....同じ結果

今、私は再びパーティションをアンマウントし、execオプションを指定して再マウントし、結果を見て...

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]

...そして、ここでexecオプションがついに有効になり、noexec設定が消えました。

興味のある方のために、デフォルトオプションでパーティションを再マウントします

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が戻ってきたので、rw、noexec、nosuid、nodevがデフォルトのオプションであるように見えますが、これは人間の言うことではありません。

なぜこれが重要なのですか?

データディスクに格納された便利なスクリプトでいっぱいのフォルダーがあります。そのディスクはnoexecでマウントされているため、これらのスクリプトはすべてchmod 777で設定されていますが、実行されません。

ここで何か明らかなことを見逃したか、Ubuntuのデフォルトオプションを数バージョン前のものから変更しましたか?

回答:


18

マニュアルは正しいです。あなたの問題は、おそらくあなたが3つの重要な詳細を説明しなかったことです:

  • users(とuser)オプションを意味しnoexecnosuidおよび nodev

  • 後続のオプションによってオーバーライドされない限り

  • オプションの順序が重要です;)

したがってrw,nosuid,nodev,exec,usersfstabで使用する場合、最後のオプションusers、sets noexec,nosuid,nodevを使用して、無効にしますexec(また、nosuid,nodev冗長にします)。

結果は予想どおりですrw,noexec,nosuid,nodev

いいえ、users無視されませんでした。通常、mountリスト出力には表示されません。ただし、すべてのユーザーがアンマウントして再度マウントできます。それを試してみてください!

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

mountusernot users)が使用され、通常の非rootユーザーが次のようにマウントした場合にのみ、ユーザーに関連するものが表示されます。

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

また、userなしnoautoで使用すると、ブート時にパーティションが(ルートによって)自動マウントされることに注意してください。そのため、rootがアンマウントするまで、誰もアンマウントまたは(再)マウントできません。

そうは言っても、あなたはすでにあなたの解決策を理解していると思います:オプションの順序を変更するだけで、すべてがうまくいきます

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

どのように注意してくださいexecです users。また、rw,nosuid,nodev必要ありません。rw既にデフォルトであり、他は自動的にオンになりますusers

結果は次のとおりです。

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

ルートまたは非ルートのユーザーは、以前に誰がマウントまたはアンマウントしたかに関係なく、マウントおよびアンマウントできます。そして、実行可能ファイルも動作します:)


「... userなしautoで使用すると、パーティションは自動マウントされます...」という意味ですか?
アンドレアスJ.

@AndreasJ。いいえ、私は意味しましたnoautoautoはすでにデフォルトの動作であるため、without noautoはwithと同じautoです。パーティションは自動マウントされます。
メストレリオン

申し訳ありませんが、私はあなたの文章を読み違えました。それは完全に理にかなっています!
アンドレアスJ.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.