Как изменить пользовательскую группу, от имени которой сервис (SMF) создает файлы?

OpenSolaris, Illumos, OpenIndiana

Модератор: Модераторы разделов

Dionis#$%
Сообщения: 2

Как изменить пользовательскую группу, от имени которой сервис (SMF) создает файлы?

Сообщение Dionis#$% »

Добрый день.
Подскажите, пожалуйста, как решить следующую задачу:
Во время своей работы сервис "auditd" создает лог файл "/var/audit/*not_terminated*". Лог файл создается с правами на доступ только для привилегированного пользователя!
Мне необходимо дать доступ на чтение этого файла, сервису который запускается от пользователя без привилегий супер пользователя.

Проблема в том, что если дать команду:

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#

Как настроить сервис, так чтобы он создавал файлы, с заданными мной привилегиями?
Есть ли возможность изменить пользователя от имени, которого запускается сервис SMF.
Либо изменить пользовательскую группу в которую входит сервис?

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

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

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Как изменить пользовательскую группу, от имени которой сервис (SMF) создает файлы?

Сообщение drBatty »

Dionis#$% писал(а):
07.03.2014 09:33
Во время своей работы сервис "auditd" создает лог файл "/var/audit/*not_terminated*". Лог файл создается с правами на доступ только для привилегированного пользователя!
Мне необходимо дать доступ на чтение этого файла, сервису который запускается от пользователя без привилегий супер пользователя.

вы делаете неправильно.

Проще сделать так:

1. скопировать логи командой

Код: Выделить всё

cp -v /var/audit/*not_terminated* other_dir/


2. установить права

Код: Выделить всё

chown -v user:group other_dir/*


PS: да, это не очень хорошо с т.з. безопасности

PPS: да, если копировать долго, используйте rsync, которая копирует не всё, а только новое.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Как изменить пользовательскую группу, от имени которой сервис (SMF) создает файлы?

Сообщение drBatty »

более сложный и грамотный путь:

1. создать группу admin
2. ввести пользователя от которых запускается демон в группу admin
3. для второго демона повторить п2
4. сменить группу каталога на admin
5. установить на каталог SET GID бит
6. установить группу всех файлов в каталоге на admin
7. проверить и поставить umask демона создающего файлы в 0022 если нужно только чтение и 0002 если ещё и запись(создание файлов)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

Dionis#$%
Сообщения: 2

Re: Как изменить пользовательскую группу, от имени которой сервис (SMF) создает файлы?

Сообщение Dionis#$% »

Возможно, кому-то пригодится, решил задачу следующим образом:
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
Спасибо сказали: