У меня есть такое сомнение: ich Какие различия между: открыть файл и получить доступ к файлу?
Я работаю с fanotify, и меня интересуют только события FAN_ACCESS. Я запускаю свою программу, и когда я пытаюсь отредактировать какой-либо файл, программа делает то, что должна.
Сказал, что я написал несколько тестов, а в некоторых тестовых случаях используется такой код:
filesystem::ofstream acces_to_file;
acces_to_file.open('/tmp/test_file.txt');
acces_to_file << "Some text" << endl;
acces_to_file.close();
но удивительно, этот доступ не обнаружен моей программой. Я получаю доступ к тому же файлу из nano (даже без перезапуска упомянутой программы), и все снова работает.
Вот почему я думаю, что должна быть некоторая разница между доступом и открытием файла.
Программа всегда выполняется пользователем root.
Я установил флаги следующим образом:
fanotify_mark(fd, FAN_MARK_ADD, FAN_ACCESS | FAN_EVENT_ON_CHILD, AT_FDCWD, MONITOR_ROOT_PATH);
В общем, открытие файла говорит операционной системе, что вы хотите работать с файлом.
В общем, доступ к файлу — это то, как вы работаете с файлом: только чтение, только запись, чтение & написать. Некоторые права доступа также включают в себя последовательное или случайное.
Что именно вы спрашиваете? Если вы спрашиваете о возможности доступа к текстовому файлу, в который вы хотите записать, где вы храните текстовый файл? Если вы храните текстовый файл в месте, доступном только для чтения, запись в текстовый файл не удастся. Он все еще может открыть файл и закрыть его, но запись не будет выполняться. Например, если ваш текстовый файл находится в программном файле вашего ПК, у вас есть доступ на чтение только к тем элементам, которые там хранятся. Если вам нужен доступ для чтения / записи к файлу, сохраните его в C: \ Users \ Default \ AppData