6. Script D: monitoramento de privilégios #!/usr/sbin/dtrace -s /* Não exibe mensagens de alerta do dtrace */ #pragma D option quiet /* * Mensagem de inicialização */ dtrace:::BEGIN { printf("Monitorando a utilizacao de privilegios... Ctrl-C pára a execução."); printf("%15s %15s %25s %15s", "execname", "probe", "probefunc", "privilégio"); } /* * Detecta quando um processo tentou utilizar algum privilegio. * se a tentativa ocorrer com sucesso, o probename será priv-ok; * se a tentativa falhar, o probename será priv-err. Isto significa * que o processo não tem permissão para utilizar o recurso solicitado. */ sdt:::priv-* { printf("%15s %15s %25s %15d", execname, probename, probefunc, arg0); }
7. Script Perl: geração de tabela de privilégios use Sun::Solaris::Privilege qw(:ALL); printf("%4s %20s", "id", "privilégio"); while ($priv = priv_getbynum($i)) { printf("%4d %20s", $i, $priv); $i++; }