回答:
によって設定されるアクセス制御リストsetfacl
や機能フラグによって設定される拡張アクセス許可setcap
は、従来のアクセス許可やchmod
ファイルのiノード内の:によって設定されるset [ug] idフラグと同じ場所に保存されます。
(それらは実際にはディスク上の別のブロックに格納されている可能性があります。これは、iノードのサイズが固定されているため、従来のアクセス許可ビットの余地はありますが、無制限の拡張アクセス許可の余地はないためです。setcap
ディスク領域が不足する可能性があることに注意してください。ただしchmod
、重複排除を使用するシステムでは、ディスク領域が不足する可能性もあります!)
GNU lsはファイルのsetcap属性を表示しません。で表示できますgetcap
。ですべての拡張属性をリストできますgetfattr -d -m -
。setcap属性が呼び出されsecurity.capability
、getcap
デコードされるバイナリ形式でエンコードされます。
setcapは、ファイルシステム拡張属性に格納されるファイル機能を設定します。これらはで説明されていman 7 capabilities
ます:
ファイル機能セットは、security.capabilityという名前の拡張属性(setxattr(2)を参照)に格納されます。
でCapInh / CapPrm / CapEffフィールドを調べることにより、実行中のプロセスの機能を検査できます/proc/PID/status
。execでのプロセスに機能がどのように適用されるかについては、「setcapコマンドで機能を設定する方法」に対する私の回答を参照してください。
/usr/bin/sleep
このコピーに機能を付与します。