Здравствуйте!
int main ( int argc, char *argv[] )
{
cout << «Hello, world!» << endl;
FILE *fp,*fp_mon;
FILE *outf,*inf;
unsigned int i,ii,j,k,n,prioritet,nzak;
int nya,nuzno_cell,n_max,n_izd;
char c,*s,*v,ss[128],q[128],zakaz[10];
zapis tb;
DIR *dir;
dirent *dd;
fp_mon=fopen(«monitor»,«w+b»);
if(!fp_mon)
{
printf(«Fail not open monitor\n»);
return 1;
}
dir=opendir(«/tmp/BB»);
if(!dir)
return 1;;
while(1)
{
dd=readdir(dir);
if(!dd)
break;
s=strchr(dd->d_name,’M');
if(s)
{
sprintf(ss,«/tmp/BB/%s»,dd->d_name);
fp=fopen(dd->d_name,«rb»);
if(fp)
{
while(1)
{
if(!fread(&tb,sizeof(zapis),1,fp))
break;
fwrite(&tb,sizeof(zapis),1,fp_mon);
}
fclose(fp);
remove(dd->d_name);
}
else
printf(«not_open %ld\n»,fp);
}
}
fclose(fp_mon);
return 0;
}
Программа не открывает файлы «M*****»даже если пользователь рут.
А в допуске к файлам разрешено все.
При чем в МС файлы копируютс,стираются и модифицируются даже простым пользователем
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ОС FEDORA 8? планируется использовать в ОС
ScientificLinux5.0
Скорее всего EACCES на opendir.
Писать надо программы аккуратно, чтобы не приходилось гадать.
Если программа запущена в /tmp/BB то она открывает и читает файлы M* даже простым пользователем.
А какие выводы надо сделать из
«Скорее всего EACCES на opendir»
я не понял.Спасибо за внимание
Нужно обрабатывать возможные ошибки после вызова функция API системы и выводить диагностические сообщения (например, с помощью функции perror) и тогда многие вопросы отпадут сами собой.