Добрый день.
Подскажите, пожалуйста, как решить следующую задачу:
Во время своей работы сервис "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#
Как изменить пользовательскую группу, от имени которой сервис (SMF) создает файлы?
Модератор: Модераторы разделов
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Как изменить пользовательскую группу, от имени которой сервис (SMF) создает файлы?
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, которая копирует не всё, а только новое.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Как изменить пользовательскую группу, от имени которой сервис (SMF) создает файлы?
более сложный и грамотный путь:
1. создать группу admin
2. ввести пользователя от которых запускается демон в группу admin
3. для второго демона повторить п2
4. сменить группу каталога на admin
5. установить на каталог SET GID бит
6. установить группу всех файлов в каталоге на admin
7. проверить и поставить umask демона создающего файлы в 0022 если нужно только чтение и 0002 если ещё и запись(создание файлов)
1. создать группу admin
2. ввести пользователя от которых запускается демон в группу admin
3. для второго демона повторить п2
4. сменить группу каталога на admin
5. установить на каталог SET GID бит
6. установить группу всех файлов в каталоге на admin
7. проверить и поставить umask демона создающего файлы в 0022 если нужно только чтение и 0002 если ещё и запись(создание файлов)
-
- Сообщения: 2
Re: Как изменить пользовательскую группу, от имени которой сервис (SMF) создает файлы?
Возможно, кому-то пригодится, решил задачу следующим образом:
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
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