Ошибка разрешения на logdirectory в Ubuntu 18.10 - PullRequest
0 голосов
/ 03 января 2019

У меня есть программа-демон python, которая хочет записывать логи в / var / log / xxxxx / yyyy

Демон запускается с помощью start-stop-daemon с опцией chuid для непривилегированного пользователя.

Однако, когда я запускаю программу, она вылетает с ошибкой Permission при записи в файл журнала. Это произойдет, даже если я установлю разрешения для каталогов 777.

Я дал соответствующие разрешения непривилегированному пользователю. Я проверил это пользователем su и записал файл в каталог журналов. Это работает хорошо. Кроме того, я проверил, что это действительно тот пользователь, который запускает программу. Это также проверяет правильно. Также я проверил, была ли это проблема с start-stop-daemon, поэтому я запустил программу вручную от пользователя tm7. Это дает ту же проблему. Наконец, программа запустится, если запущена от имени пользователя root.

Jan 03 08:56:09 testlinux testde[13205]:  * Starting DataExtractor tm7 carp suite
Jan 03 08:56:09 testlinux systemd-resolved[574]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP.
Jan 03 08:56:09 testlinux testde[13205]: sourcedir /opt/tm7/dataextractor/src
Jan 03 08:56:09 testlinux testde[13205]: sys.path is ['/opt/tm7/dataextractor/src', '/opt/tm7/dataextractor', '/opt/tm7/dataextractor/src', '/opt/tm7/venv/dataextractor/lib/python36.zip', '/opt/tm7/
Jan 03 08:56:09 testlinux testde[13205]: Collector started with config /etc/tm7/Customers/Sparq/config.yml
Jan 03 08:56:09 testlinux testde[13205]: Config setup started with customer Sparq and file None
Jan 03 08:56:09 testlinux testde[13205]: get definition directory
Jan 03 08:56:09 testlinux testde[13205]: Definition directory: /etc/tm7/Customers
Jan 03 08:56:09 testlinux testde[13205]: ******* tm7 Start dataextractor_main version developer Logging in /var/log/collector using /etc/tm7/Customers/generic/logger.ini
Jan 03 08:56:09 testlinux testde[13205]: Traceback (most recent call last):
Jan 03 08:56:09 testlinux testde[13205]:   File "src/main.py", line 72, in <module>
Jan 03 08:56:09 testlinux testde[13205]:     main()
Jan 03 08:56:09 testlinux testde[13205]:   File "src/main.py", line 64, in main
Jan 03 08:56:09 testlinux testde[13205]:     setup_loggers('main')
Jan 03 08:56:09 testlinux testde[13205]:   File "/opt/tm7/dataextractor/src/utils/SetUpLog.py", line 94, in setup_loggers
Jan 03 08:56:09 testlinux testde[13205]:     fileConfig(logconf, defaults=None, disable_existing_loggers=False)
Jan 03 08:56:09 testlinux testde[13205]:   File "/usr/lib/python3.6/logging/config.py", line 84, in fileConfig
Jan 03 08:56:09 testlinux testde[13205]:     handlers = _install_handlers(cp, formatters)
Jan 03 08:56:09 testlinux testde[13205]:   File "/usr/lib/python3.6/logging/config.py", line 148, in _install_handlers
Jan 03 08:56:09 testlinux testde[13205]:     h = klass(*args)
Jan 03 08:56:09 testlinux testde[13205]:   File "/usr/lib/python3.6/logging/handlers.py", line 150, in __init__
Jan 03 08:56:09 testlinux testde[13205]:     BaseRotatingHandler.__init__(self, filename, mode, encoding, delay)
Jan 03 08:56:09 testlinux testde[13205]:   File "/usr/lib/python3.6/logging/handlers.py", line 57, in __init__
Jan 03 08:56:09 testlinux testde[13205]:     logging.FileHandler.__init__(self, filename, mode, encoding, delay)
Jan 03 08:56:09 testlinux testde[13205]:   File "/usr/lib/python3.6/logging/__init__.py", line 1032, in __init__
Jan 03 08:56:09 testlinux testde[13205]:     StreamHandler.__init__(self, self._open())
Jan 03 08:56:09 testlinux testde[13205]:   File "/usr/lib/python3.6/logging/__init__.py", line 1061, in _open
Jan 03 08:56:09 testlinux testde[13205]:     return open(self.baseFilename, self.mode, encoding=self.encoding)
Jan 03 08:56:09 testlinux testde[13205]: PermissionError: [Errno 13] Permission denied: '/var/log/collector/collector-main.log'
Jan 03 08:56:09 testlinux systemd[1]: testde.service: Control process exited, code=exited status=1
Jan 03 08:56:09 testlinux systemd[1]: testde.service: Failed with result 'exit-code'.
Jan 03 08:56:09 testlinux systemd[1]: Failed to start LSB: DataExtractor.
-- Subject: Unit testde.service has failed
-- Defined-By: systemd
--

1 Ответ

0 голосов
/ 07 января 2019

Я отвечу на свой вопрос.

Хорошее чтение - недооцененное достоинство ...... Он пытается писать в / var / log / collector, а все мои усилия направлены на /var / log / tm7 / collector.

Надеюсь, вы не потратили слишком много времени на этот бесполезный вопрос ......

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...