Linux 関数を使用すると、現在のaccess()
ユーザーのファイル アクセス許可を確認できます。
同じ情報を提供する同様の機能がありますが、現在のユーザーをチェックする代わりに、特定のシステムユーザーの権限をチェックしますか?
のようなものint access_for(const char *pathname, uid_t uid, int mode);
か何か
seteuid()
同時にすべてのスレッドに影響を与えるマルチスレッド プロセス (POSIX スレッド) にこれが必要なため、使用できません。そのため、ファイルのアクセス許可を自分で確認する必要があります。
編集:プロセス自体は、少なくとも関連するユーザーの権限を持っていることがわかっている/想定されています。したがって、理論的には、ファイル システムを調べて手で権利を計算することもできますが、1 秒間に数回 (最大で数百回) チェックを実行する必要があるため、はるかに効率的な方法が必要です。可能?