現在のユーザーの実際の有効なUIDを取得できます。したがって、いくつかのファイルまたはディレクトリがある場合は、これらのUIDを使用して、rwx
そのファイルまたはディレクトリへのアクセス/変更に対する特定のユーザーの権限をどのように確認できますか?
答え1
roaimaのコメントのおかげで、私は次の結論に達しました。
//snip...
#include <fcntl.h>
#include <unistd.h>
...
bool bcanR, bcanW, bcanX;
//'fullpath' is to file or directory..
bcanR=(faccessat(0, fullpath, R_OK, AT_EACCESS)==0);
bcanW=(faccessat(0, fullpath, W_OK, AT_EACCESS)==0);
bcanX=(faccessat(0, fullpath, X_OK, AT_EACCESS)==0);
...
//snip
これは有効なUIDを使用して権限を確認するため、私の要件を満たしています。
また、この回答覚えておくべき変化権限(使用chmod
)は所有者またはルートのみ実行できます。