FreeBSDフラグ、不変、リンク解除の違いは何ですか?

FreeBSDフラグ、不変、リンク解除の違いは何ですか?

FreeBSDフラグsimmutable / uimmutableとsunlink / uunlinkの違いや類似点は何ですか?

読むフラグを手動で変更、次のフラグが表示されます。

schg, schange, simmutable
    set the system immutable flag (super-user only)
sunlnk, sunlink
    set the system undeletable flag (super-user only)
uchg, uchange, uimmutable
    set the user immutable flag (owner or super-user only)
uunlnk, uunlink
    set the user undeletable flag (owner or super-user only)

不変属性の現在の理解は、Linuxのマニュアルページに記載されているものと同じですchattr

「i」属性を持つファイルは変更できません。削除したり名前を変更したり、ファイルへのリンクを作成したり、ファイルにデータを書き込めません。スーパーユーザーまたはCAP_LINUX_IMMUTABLE機能を持つプロセスのみがこのプロパティを設定または消去できます。

FreeBSDの「不変」と「削除不可能」の違いは何ですか?

ベストアンサー1

システムコールのマンページフラグ変更(2):

SF_IMMUTABLE   The file may not be changed.
SF_NOUNLINK    The file may not be renamed or deleted.
[...]
UF_IMMUTABLE   The file may not be changed.
UF_NOUNLINK    The file may not be renamed or deleted.

プレフィックス付きフラグSF_スーパーユーザーのみを設定または設定解除できます。他のプレフィックスは次のとおりです。UF_ファイル所有者またはスーパーユーザーが設定または設定解除できます。

ノート:このフラグの1つがSF_設定されていると、スーパーユーザー以外の人はフラグを変更できず、スーパーユーザーでもsecurelevelが0のときにのみフラグを変更できます。

sysctl(8)を使用して、kern.securelevel変数のセキュリティレベルを設定できます。

おすすめ記事