unistd.h определяет функцию access () ,
int access(const char *path, int amode);
где путь - ваше имя файла, а amode - побитовое включение ИЛИ разрешений на доступ для проверки.
R_OK, W_OK и X_OK содержат значения режима для проверки прав на чтение, запись и поиск / выполнение соответственно.
int readable, readwritable;
//checking for read access
readable = access("/usr/bin/file", R_OK);
//checking for read and write access
readwritable = access("/usr/bin/file", R_OK|W_OK);
Полное описание доступа () вы можете найти в справочных страницах Unix.