Я хочу отслеживать запуск процесса на El Capitan.
Darwin MaeLucirdosiMac.home 15.5.0 Darwin Kernel Version 15.5.0: вторник, 19 апреля 18:36:36 PDT 2016; root: xnu-3248.50.21 ~ 8 / RELEASE_X86_64 x86_64
Ниже моя конфигурация. Я добавил , pc
в строку 2
bash-3.2# cat /etc/security/audit_control
#
# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_control#8 $
#
dir:/var/audit
flags:lo,aa,pc
minfree:5
naflags:lo,aa
policy:cnt,argv
filesz:2M
expire-after:10M
superuser-set-sflags-mask:has_authenticated,has_console_access
superuser-clear-sflags-mask:has_authenticated,has_console_access
member-set-sflags-mask:
member-clear-sflags-mask:has_authenticated
bash-3.2 #
Darwin MaeLucirdosiMac.home 15.5.0 Ядро Дарвина Версия 15.5.0: Вт, 19 апреля, 18:36:36 PDT 2016; root: xnu-3248.50.21 ~ 8 / RELEASE_X86_64 x86_64
Ниже представлена моя конфигурация. Я добавил , pc
в строку 2
bash-3.2# cat /etc/security/audit_control
#
# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_control#8 $
#
dir:/var/audit
flags:lo,aa,pc
minfree:5
naflags:lo,aa
policy:cnt,argv
filesz:2M
expire-after:10M
superuser-set-sflags-mask:has_authenticated,has_console_access
superuser-clear-sflags-mask:has_authenticated,has_console_access
member-set-sflags-mask:
member-clear-sflags-mask:has_authenticated
bash-3.2 #
Darwin MaeLucirdosiMac.home 15.5.0 Ядро Дарвина Версия 15.5.0: Вт, 19 апреля, 18:36:36 PDT 2016; root: xnu-3248.50.21 ~ 8 / RELEASE_X86_64 x86_64
Ниже представлена моя конфигурация. Я добавил , pc
в строку 2
bash-3.2# cat /etc/security/audit_control
#
# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_control#8 $
#
dir:/var/audit
flags:lo,aa,pc
minfree:5
naflags:lo,aa
policy:cnt,argv
filesz:2M
expire-after:10M
superuser-set-sflags-mask:has_authenticated,has_console_access
superuser-clear-sflags-mask:has_authenticated,has_console_access
member-set-sflags-mask:
member-clear-sflags-mask:has_authenticated
bash-3.2 # ««
Я могу запускать и останавливать службу с помощью launchctl, и pid действительно меняется, но я не могу его загрузить и выгрузить. Мне не ясно, нужно ли это.
bash-3.2 # launchctl list | grep audit
- 0 com.apple.auditd
bash-3.2 # launchctl unload -w /System/Library/LaunchDaemons/com.apple.auditd.plist
/System/Library/LaunchDaemons/com.apple.auditd.plist: операция не разрешена, пока включена защита целостности системы
bash-3.2 # launchctl start com.apple.auditd
bash-3.2 # launchctl list | grep audit
5493 0 com.apple.auditd
bash-3.2 # launchctl load -w /System/Library/LaunchDaemons/com.apple.auditd.plist
/System/Library/LaunchDaemons/com.apple.auditd.plist: служба уже загружена
bash-3.2 # launchctl stop com.apple.auditd
bash-3.2 # launchctl start com.apple.auditd
bash-3.2 # launchctl list | grep audit
5500 0 com.apple.auditd
bash-3.2 #
Однако мне ясно, что, несмотря на все перезапуски и процессы, которые я запускаю, в текущий журнал, похоже, ничего не записывается, а это не самая последняя временная метка, и praudit
ничего не показывает о процессы.
bash-3.2 # ls -trl / var / audit /
. . . .
-r - r ----- 1 корневое колесо 125 20 июня 18:16 20160620215442.20160620221602
-r - r ----- 1 корневое колесо 250 20 июня 18:17 20160620221602.20160620221734
-r - r ----- 1 корневое колесо 250 20 июня 19:16 20160620221734.20160620231602
-r - r ----- 1 корневое колесо 125 20 июня 19:17 20160620231602.20160620231733
-r - r ----- 1 корневое колесо 250 20 июня 20:16 20160620231733.20160621001602
-r - r ----- 1 корневое колесо 125 20 июня 20:17 20160621001602.20160621001734
-r - r ----- 1 корневое колесо 250 20 июня 21:16 20160621001734.20160621011602
-r - r ----- 1 корневое колесо 125 20 июня 21:17 20160621011602.20160621011733
-r - r ----- 1 корневое колесо 125 20 июня 21:18 20160621011733.20160621011807
lrwxr-xr-x 1 root wheel 40 20 июня 21:18 current -> /var/audit/20160621011843.not_terminated
-r - r ----- 1 root wheel 0 20 июня 21:18 20160621011843.not_terminated
-r - r ----- 1 корневое колесо 250 20 июня 21:18 20160621011807.20160621011843
bash-3.2 # praudit -l /var/audit/20160621011807.20160621011843
заголовок, 125,11, начало сеанса, 0, Пн 20 июня 21:18:14 2016, +120 мс, аргумент, 1,0x0, sflags, аргумент, 2,0x0, am_success, аргумент, 3,0x0, am_failure, тема , -1, корень, колесо, корень, колесо, 0,100118,0,0.0.0.0, возврат, успех, 0, прицеп, 125,
заголовок, 125,11, конец сеанса, 0, Пн 20 июня 21:18:43 2016, + 771 мс, аргумент, 1,0x0, sflags, аргумент, 2,0x0, am_success, аргумент, 3,0x0, am_failure, тема , -1, корень, колесо, корень, колесо, 0,100118,0,0.0.0.0, возврат, успех, 0, прицеп, 125,
bash-3.2 # praudit -l / var / audit / current
bash-3.2 #
Как получить аудит для повторного чтения файлов конфигурации?
Правильный способ сделать это - разгрузить и перезагрузить аудиторский лист. Например:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.auditd.plist
sudo sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.auditd.plist
Но помните о catch22 здесь, где El Capitan включен по умолчанию SIPS, так что вы получите:
/System/Library/LaunchDaemons/com.apple.auditd.plist: Operation not permitted while System Integrity Protection is engaged
Вам нужно будет перезагрузить, чтобы изменения в правиле аудита вступили в силу. Остановка и запуск демона запуска с помощью launchctl {stop,start} com.apple.auditd
не приводит к повторному прочтению файла audit_control
.