현재 사용자의 실제 유효한 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
)은 소유자 또는 루트만 실행할 수 있습니다.