私が理解したのは、カーネルの/proc/mounts
デフォルトを含むファイルシステムのすべてのマウントオプションをリストする必要があることです。それで、exec(他のものの中で)がここにリストされていないのを見て驚きましたか?
たとえば、fstab のルートおよび基本ファイルシステムは次のとおりです。
/dev/mapper/vg0-xen_root / ext4 noatime,errors=remount-ro 0 1
/dev/mapper/vg1-xen_home /home ext4 defaults 0 2
そして/proc/mountsにどのように現れるか:
/dev/mapper/vg0-xen_root / ext4 rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered 0 0
/dev/mapper/vg1-xen_home /home ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0
ファイルシステムに依存しないデフォルト値は次のとおりですman mount
。
defaults
Use default options: rw, suid, dev, exec, auto, nouser, and async.
いくつかのデフォルト値(例rw
:)がリストされ、他のデフォルト値(例exec
:)がリストされないのはなぜですか?ファイルシステムに関連する完全なインストールオプションセットを取得する方法はありますか?
ベストアンサー1
exec
その理由は逆になる可能性があり、リストされていnoexec
ますnoexec
。したがって、noexec
存在しない場合、ユーザーはそれがexec
有効であることを知ります。これはdev
/に似ていますnodev
。例外はrw
基本リストにありますが、リストされているようです。
注: mount(8) のマニュアルページにはこれがdefaults
固定されたデフォルトオプションのリストとなっていますが、システムテーブルウィキペディアページには、「デフォルト設定は各ファイルシステムのファイルシステムレベルで定義されています」と記載されています。