URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID13
Нить номер: 876
[ Назад ]

Исходное сообщение
"Перманентный доступ на чтение логов Аудита"

Отправлено Dionis80 , 03-Мрт-14 13:47 
Добрый день.

Подскажите, пожалуйста, как решить следующую задачу:
Необходимо дать перманентный доступ на чтение, логов из папки /var/audit, для определенного пользователя.
Проблема в том, что если дать команду:

chown -R root:USER /var/audit
chmod -R g+r /var/audit

После подачи команды: audit -n
Либо после перезапуска службы: svcadm disable auditd
Либо после перезагрузки ОС

Права на доступ к логу "/var/audit/*not_terminated*" остаются только у привилегированного пользователя!

-bash-3.2# ls -l /var/audit/
total 1290
-rw-r-x---   1 root     USER      579355 Mar  3 14:48 20140303080818.20140303084821.unknown
-rw-------   1 root     USER         488 Mar  3 15:30 20140303084825.20140303093002.unknown
-rw-------   1 root     root        1291 Mar  3 15:36 20140303093006.not_terminated.unknown
-bash-3.2#

Заранее благодарю за ответ!

Данные о системе:
-bash-3.2# cat /etc/release
                    Oracle Solaris 10 1/13 s10x_u11wos_24a X86
  Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
                            Assembled 17 January 2013
-bash-3.2#


Содержание

Сообщения в этом обсуждении
"Перманентный доступ на чтение логов Аудита"
Отправлено exSun , 07-Мрт-14 18:02 
Там захардкодено вот так:

newfd = open(newname, O_RDWR | O_APPEND | O_CREAT | O_EXCL, 0600);

, т.ч. сходу предложить вариант не могу (ACL-и тоже не помогут, как мне кажется). Кстати, в опенсолярисе и дальше файл создаётся с правами 0640 - см. http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/...


"Перманентный доступ на чтение логов Аудита"
Отправлено Dionis80 , 12-Мрт-14 12:07 
Спасибо, exSun!

Скажите, пожалуйста, правильно ли я понял?

Данная логика работы, службы Аудита, жестко запрограммирована, для того чтобы что-то изменить необходимо исправить программный код, и перекомпилировать исходные файлы.

exSun, подскажите еще, пожалуйста, как я понимаю, любая служба SMF выполняется от имени определенного пользователя, возможно ли повлиять от имени какого пользователя запускается служба? И соответственно существует ли такое понятие, что сервис запускается как от определенного пользователя, так и от имени определенной группы и возможно ли поменять эту группу? Или я ошибаюсь?


"Перманентный доступ на чтение логов Аудита"
Отправлено exSun , 12-Мрт-14 12:47 
> Данная логика работы, службы Аудита, жестко запрограммирована, для того чтобы что-то изменить
> необходимо исправить программный код, и перекомпилировать исходные файлы.

Да, необходимы исходные тексты Solaris 10 вашей версии, среда для сборки и т.д. Также можно рассмотреть вариант миграции на Solaris 11, в котором также присутствуют изменения, которые внесены в OpenSolaris (создание логов с правами 0640), или же на опенсорсные дистрибутивы на основе Illumos (SmartOS, OmniOS и т.д.) - так можно даже самому править что-то по мелочи, если надо.

> exSun, подскажите еще, пожалуйста, как я понимаю, любая служба SMF выполняется от
> имени определенного пользователя, возможно ли повлиять от имени какого пользователя запускается
> служба? И соответственно существует ли такое понятие, что сервис запускается как
> от определенного пользователя, так и от имени определенной группы и возможно
> ли поменять эту группу? Или я ошибаюсь?

Возможно, но конкретно auditd должен работать от рута (иначе он не будет работать вовсе). От имени пользователя выполняется exec_method за счёт задания method_credential, например:

        <exec_method
            type='method'
            name='start'
            exec='/path/to/some/binary'
            timeout_seconds='600'>
        <method_context>
          <method_credential
            user='user1'
            group='group1'/>
          <method_environment>
                <envvar name='LD_LIBRARY_PATH' value='/path/to/non/standard/lib'/>
          </method_environment>
        </method_context>

        </exec_method>


"Перманентный доступ на чтение логов Аудита"
Отправлено Dionis80 , 12-Мрт-14 16:08 
exSun, как Вы думаете, если изменит для службы "auditd" группу запуска:
<method_credential user='root' group='USER' />
Это может отразится на ее работе?
Другими словами служба будет запускаться от имени суперпользователя, но в группе USER.
Понимаю что мне это не поможет так как файлы создаются с маской "0600", спрашиваю на будущее.

"Перманентный доступ на чтение логов Аудита"
Отправлено exSun , 13-Мрт-14 08:53 
> exSun, как Вы думаете, если изменит для службы "auditd" группу запуска:
> <method_credential user='root' group='USER' />
> Это может отразится на ее работе?
> Другими словами служба будет запускаться от имени суперпользователя, но в группе USER.
> Понимаю что мне это не поможет так как файлы создаются с маской
> "0600", спрашиваю на будущее.

Попробуйте, я не знаю.


"Перманентный доступ на чтение логов Аудита"
Отправлено Dionis80 , 28-Мрт-14 13:07 
Возможно, кому-то пригодится, решил задачу следующим образом:
zfs create rpool/audit
zfs set aclinherit=passthrough rpool/audit
zfs set aclmode=passthrough rpool/audit
chmod A+group:USER:rwxpdDaARWcCos:fd:allow /rpool/audit
chown root:USER /rpool/audit
chmod 750 /rpool/audit
vi /etc/security/audit_control
#dir:/var/audit
dir:/rpool/audit