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

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

FreeBSD 11システムのACLを有効にしたいです。 ~によるとFreeBSDマニュアルこれは2つの方法で行うことができます。

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

  2. スーパーブロックを修正して -tunefs -a enable

次の理由から、2番目のオプションを使用する方が良いと思います。

ACLフラグは、マウント中に再マウント(mount(8)-u)することで変更することはできず、umount(8)と新しいマウント(8)全体にのみ変更できます。これは、起動後にルートファイルシステムでACLを有効にできないことを意味します。これは、ファイルシステムが使用中の場合、その設定を変更できないことを意味します。

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

曲からマニュアルページ:

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

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

ルートファイルシステムでtunefsを実行するには?

答え1

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

mount -fur /
tunefs -a enable /
reboot

このrebootステップは必要なようです。まず、Read-Write(mount -uw /)を再マウントするとACL有効フラグが選択されず、2番目に読み取り専用で再マウントされた場合はディスクに書き込むすべてのエントリ(syslogdなど)が削除されるため、再起動で実行することをお勧めします。

関連情報