web-dev-qa-db-ja.com

FreeBSDのルートファイルシステムでTunefsを実行する方法は?

FreeBSD11システムのACLを有効にしたい。 FreeBSD Handbook によると、これは2つの方法で行うことができます。

  1. マウントオプションを使用する-mount -o acls

  2. スーパーブロックを変更することにより--tunefs -a enable

次の理由から、2番目のオプションを使用することが望ましいと書かれています。

マウント時ACLフラグは、完全なumount(8)と新しいmount(8)によってのみ、再マウント(mount(8)-u)によって変更することはできません。これは、起動後にルートファイルシステムでACLを有効にできないことを意味します。また、使用中のファイルシステムの配置を変更できないことも意味します。

スーパーブロックフラグを設定すると、fstabエントリがない場合やデバイスが並べ替えられた場合でも、ファイルシステムは常にACLが有効な状態でマウントされます。これにより、ACLが有効になっていない状態でファイルシステムが誤ってマウントされ、ACLが不適切に適用されて、セキュリティの問題が発生するのを防ぐことができます。

Tunefsから manページ

Tunefsユーティリティは、レイアウトポリシーに影響を与えるUFSファイルシステムの動的パラメータを変更するように設計されています。 tunefsユーティリティは、アクティブなファイルシステムでは実行できません。アクティブなファイルシステムを変更するには、読み取り専用またはアンマウントにダウングレードする必要があります。

問題は、rootfs(/)をアンマウントできないことです。

ルートファイルシステムでtunefsを実行するにはどうすればよいですか?

6
Brandon Bradley

ファイルシステムを読み取り専用で強制的に再マウントできます。

mount -fur /
tunefs -a enable /
reboot

rebootステップが必要なようです。まず、読み取り/書き込みを再マウントします(mount -uw /)ACL有効化フラグを取得しません。次に、読み取り専用を再マウントすると、ディスクへの書き込みが必要なすべてのもの(syslogdなど)が破損するため、その時点で再起動することをお勧めします。