У меня проблема с запуском следующей программы на C:
#include<unistd.h>
void main()
{
if (access("/root/main.c",R_OK)==0)
{
printf("/root/main.c can be read\n");
}
else
{
printf("can't be read\n");
}
}
Когда я запускаю исполняемый файл как root, я могу получить результат:
/root/main.c can be read
Но когда я устанавливаю разрешения для исполняемого файла на 4755
и запускаю его как обычный пользователь, я получаю только вывод:
can't be read
Есть ли в моем протоколе ошибка?