1

Я работаю в небольшой софтверной компании. У нас есть продукт, который по умолчанию записывает в каталог журналов внутри установочного каталога (я знаю, это может быть не лучшим способом, но на данный момент это исправлено): /opt/<program>/logs

У меня есть пользователь, который хочет, чтобы каждый из его пользователей (в Linux) при запуске нашей программы записывал журналы в свой каталог пользователей за сеанс, например /home/<user>/<program>/logs . Есть ли хороший способ настроить это, полагаясь на то, что моя программа всегда записывает в /opt/<program>/logs по умолчанию?

Я не эксперт по Linux, но думаю, что это можно сделать.

Будет ли это лучше спросить на плате Linux SE?

Любая помощь приветствуется!

ПРИМЕЧАНИЕ. - Эти журналы создаются для программы при ее запуске, независимо от того, кто вошел в систему для ее использования. Все они находятся в одном каталоге: /opt/<program>/logs . Если я создаю символическую ссылку, то все, что она делает, дублирует журналы в другой каталог. Что мне нужно, так это то, что каждый пользователь регистрирует свою сессию в соответствующем каталоге /home/<user>/<program>/logs .

3 ответа3

3

Создайте ссылку из папки /opt/program/logs и укажите ее /home/user/logs:

ln -s /home/user/logs /opt/program/logs
1

Попробуйте удалить каталог /logs /, перейти в /opt /program и набрать

ln -s ~/logs

Тем не менее, вам нужно будет добавить

mkdir ~/logs

каждому пользователю скрипт запуска.

1

Как выглядит журнал? Есть ли возможность проверить, какой пользователь создал запись?
Вы можете использовать syslog-ng для поиска файлов в /opt/<program>/logs и в зависимости от записи (например, регулярного выражения) записать второй файл журнала в $USERHOME/logs .

Если только один пользователь использует вашу программу, вы можете дать ему разрешения на чтение для этого каталога и его файлов. Но если есть толковые записи от других пользователей, это плохая идея.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .