Что самый безопасный путь состоит в том, чтобы позволить пользовательскому доступу для чтения к файлу журнала?

Allan Hirt является известным человеком в области SQL Server, специализирующейся на Высокой доступности, и записал превосходную книгу по этой теме.

http://www.amazon.com/Server-2005-High-Availability-ebook/dp/B001U5VK08/ref=sr_1_2?ie=UTF8&s=books&qid=1261964956&sr=8-2

SQLPass. Org является бесплатным вебсайтом, и можно найти немного видео от экспертов по промышленности по этой теме также.

http://www.sqlpass.org/LearningCenter/SummitOnDemand.aspx

Paul Randal управлял командой SQL Server, и у него есть некоторые превосходные сообщения по этой теме также. http://sqlskills.com/BLOGS/PAUL/category/High-Availability.aspx

И наконец немного хороших отчетов об этой теме по http://technet.microsoft.com/en-us/library/ee229552 (SQL.10) .aspx

21
задан 12 April 2011 в 18:59
7 ответов

Никакая потребность добавить корень к группе, поскольку это будет иметь доступ через пользователя privs так или иначе, просто дайте чтение группы тому, что когда-либо группа Вы решаете. Не забудьте вносить изменения с logrotate также, или изменения группы будут вытерты ночью.

7
ответ дан 2 December 2019 в 20:05

Ваш план приемлем, и в "традиционных" полномочиях Unix схема является лучшим способом пойти.
Другая опция состоит в том, чтобы иметь системный журнал, отклоняют сообщения интереса для другого файла (который старается не предоставлять доступ пользователя приложения к чему-либо чувствительному, которое может быть в /var/log/messages).

Если Вы не испытываете желание связываться традиционной схемой полномочий User/Group/Other, можно также использовать POSIX ACLs (другой, возможно лучшие практические руководства/информация, доступные через Google) для предоставления доступа только для чтения пользователя приложения к /var/log/messages - это является немного более мелкомодульным и не рискует случайно помещать кого-то еще в группу приложения и предоставлять им доступ к вещам, которые они не должны мочь видеть.

5
ответ дан 2 December 2019 в 20:05

Можно использовать ACL для этого. Это позволяет Вам устанавливать определенные дополнительные правила доступа для определенных пользователей и файлов.

0
ответ дан 2 December 2019 в 20:05

Йип Я использовал setfacl , чтобы сделать это, чтобы предоставить доступ к файлу mail.log для клиента, вам также не нужно вставьте команду в файл logrotate.conf , чтобы заново установить ACL после ротации журналов, например:

postrotate
         /usr/bin/setfacl -m o::r /var/log/mail.log  
endscript

Примечание. Я только что настроил это и не тестировал, но хотя он напишу здесь, не понимаю, почему это не работает, кто-нибудь поправит меня, если я ошибаюсь.

2
ответ дан 2 December 2019 в 20:05

Просто для того, чтобы немного расширить ответы на приведенные выше вопросы, здесь приведен реальный случай использования. Я запускаю приложение для анализа логов предприятия Splunk на ящике Redhat. Оно запускается под пользователем splunk и группой splunk. Это предотвращает доступ splunk к журналам в /var/log, так как они доступны только root (или sudo admin)

Чтобы разрешить доступ только для чтения для splunk, я использовал некоторые ACL и модифицированный логротат для его сохранения.

Вы можете вручную установить ACL с помощью

sudo setfacl -m g:splunk:rx /var/log/messages

Это не будет сохраняться, так как логротат не будет повторно применять настройку ACL, поэтому для более постоянного решения я добавил правило для логротата для сброса ACL. Я добавил файл...

/etc/logrotate.d/Splunk_ACLs

с

{
    postrotate
        /usr/bin/setfacl -m g:splunk:rx /var/log/cron
        /usr/bin/setfacl -m g:splunk:rx /var/log/maillog
        /usr/bin/setfacl -m g:splunk:rx /var/log/messages
        /usr/bin/setfacl -m g:splunk:rx /var/log/secure
        /usr/bin/setfacl -m g:splunk:rx /var/log/spooler
    endscript
}

Проверка ACL статуса файла с

$ getfacl /var/log/messages

Для получения более подробной информации об ACL смотрите https://help.ubuntu.com/community/FilePermissionsACLs http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/

17
ответ дан 2 December 2019 в 20:05

после того, как вы настроили свой ACL, как говорили другие люди, вместо того, чтобы помещать все ваши правила acl в конфигурацию postrotate, вы можете переключить logrotate, чтобы использовать copytruncate вместо создания нового файла журнала каждый раз

-1
ответ дан 2 December 2019 в 20:05

Я бы проверил параметр «perm» для системного журнала -ng,если это программное обеспечение для регистрации, которое вы используете. Ссылка:https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.16/administration-guide/12

    file(
        "/var/log/messages"
        owner("root")
        group("root")
        perm(0644)
        );
    };

В противном случае вы можете добавить дополнительный файл журнала, например /var/log/apps/app1 _messages.log

0
ответ дан 2 November 2021 в 15:55

Теги

Похожие вопросы