tail head cat sleep
QR code linking to this page

manページ  — _SECURE_PATH

名称

_secure_path – ファイルが安全であるように見えるかどうかを判定する

内容

ライブラリ

System Utilities Library (libutil, -lutil)

書式

#include <sys/types.h>
#include <libutil.h>

int
_secure_path(const char *path, uid_t uid, gid_t gid);

解説

この関数は、指定のパスについて基本的なセキュリティチェックを行います。 これは root 特権で実行中のプロセスが使用することを意図しています。指定の ファイルの内容を信頼するかどうかを判定するためです。この関数は、システムの 危険性を検出するために使用される方法としてよく使われます。 ファイルは、次の条件を満たす場合に '安全である' と考えられます。
  1. ファイルが存在し、それが通常のファイルである (シンボリックリンク、 ファイル、デバイスに固有のファイル、または名前付きのパイプファイル でない)。
  2. 誰もが書き込み可能な属性を持っていない。
  3. uid が -1 でない場合は、指定された uid または uid 0 のユーザによって 所有されている。
  4. グループの書き込み属性がない、または gid が -1 でない場合は指定の gid によるグループ所有権がある。

戻り値

この関数は、ファイルが存在し、安全であると考えられる場合は 0 を返します。 ファイルが存在しない場合は -2 を返します。 セキュリティ障害を示す場合には -1 を返します。 syslog(3) が、この関数の処理失敗を理由を含めて LOG_ERR 優先順位のログに 記入するために使用されます。

バグ

実行されるチェックは基本的なものであり、この関数の使用と参照ファイルへの アクセスの間の競争状況を除去しようとする試みは行われません。

関連項目

lstat(2), syslog(3)

歴史

この関数の由来であるコードは、Berkeley Software Design,Inc. によって FreeBSD プロジェクトに寄与されたものです。

_SECURE_PATH (3) May 2, 1997

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

If at first you don't succeed, you must be a programmer.