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変数のセキュリティレベルを設定できます。