Я запускаю программу (syslog-ng), которая должна читать и записывать несколько файлов по указанному пути. Она зависала при запуске, заявляя, что не может открыть файл по этому пути.
Пожалуйста, предположим следующую структуру каталогов:
/var/platform/program
Для каталога platform
установлено разрешение 0655 (не разрешение на выполнение для пользователя-владельца). Если я изменю это разрешение на 0755, syslog-ng будет работать нормально.
С другой стороны, я написал небольшую программу на языке C, которая пытается открыть файл в том же каталоге и записать в него данные. Она работает без проблем при запуске от имени root, но syslog-ng дает сбой...
В чем может быть проблема в данном случае?
решение1
syslog, вероятно, хочет обратиться chdir
к каталогу и поэтому ему необходимо установить бит выполнения для каталога.
ВидетьВыполнение vs Чтение бита. Как работают права доступа к каталогам в Linux?Чтобы получить больше информации.