xattr_get

拡張属性を取得する

説明

string xattr_get(string $filename, string $name, int $flags = 0)

この関数は、ファイルの拡張属性の値を取得します。

拡張属性には二種類の異なる名前空間、つまり、ユーザーとルートがあります。 ユーザー名前空間は、すべてのユーザーで利用可能ですが、ルート名前空間は、ルート権限を有するユーザーのみ利用可能です。 xattr はデフォルトでユーザー名前空間で処理を行いますが、 flags 引数によりこれを変更することができます。

パラメータ

filename

属性を取得するファイル。

name

属性の名前。

flags

サポートされる xattr のフラグ
XATTR_DONTFOLLOW シンボリックリンクのリンク先をたどらず、リンクそのものを操作します。
XATTR_ROOT root (信頼された) 名前空間に属性を設定します。root 権限が必要です。

戻り値

値を含む文字列、あるいは属性が存在しない場合には false を返します。

例1 システム管理者がファイルに署名をしているかどうかを調べる

<?php
$file = '/usr/local/sbin/some_binary';
$signature = xattr_get($file, 'Root signature', XATTR_ROOT);

/* ... $signature が正しいものかどうかを調べます ... */

?>

参考

  • xattr_list
  • xattr_set
  • xattr_remove