Процесс, принадлежащий root, не может записывать файлы

Процесс, принадлежащий root, не может записывать файлы

Я запускаю программу (syslog-ng), которая должна читать и записывать несколько файлов по указанному пути. Она зависала при запуске, заявляя, что не может открыть файл по этому пути.

Пожалуйста, предположим следующую структуру каталогов:

/var/platform/program

Для каталога platformустановлено разрешение 0655 (не разрешение на выполнение для пользователя-владельца). Если я изменю это разрешение на 0755, syslog-ng будет работать нормально.

С другой стороны, я написал небольшую программу на языке C, которая пытается открыть файл в том же каталоге и записать в него данные. Она работает без проблем при запуске от имени root, но syslog-ng дает сбой...

В чем может быть проблема в данном случае?

решение1

syslog, вероятно, хочет обратиться chdirк каталогу и поэтому ему необходимо установить бит выполнения для каталога.

ВидетьВыполнение vs Чтение бита. Как работают права доступа к каталогам в Linux?Чтобы получить больше информации.

Связанный контент