Não é possível executar um script systemtap no xenial. Possível problema de SSL

1

Eu tenho um laptop rodando xenial. Eu não tenho depuração kerneol símbolos instalados porque não consigo encontrá-los. Eu estou nos grupos stapdev e stapusr uname -a é o seguinte:

  

Linux zippy1981-Inspiron-15-7568 4.4.0-21-generic # 37 Ubuntu SMP Mon 18 de abril 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux

Parece ser uma questão de falta de certificados SSL, mas não sei como corrigi-lo. A execução de um simples stap one liner produz o seguinte:

zippy1981@zippy1981-Inspiron-15-7568:~$ stap -e 'probe kernel.function("sys_open") {log("hello world") exit()}'
Using a compile server.
Error initializing NSS for dbm:/etc/systemtap/ssl/client
(-8015) Database has the wrong format.
Unable to find a suitable compile server.  [man stap-server]
The following servers are online:
 host=zippy1981-Inspiron-15-7568.local address=fe80::881:e05c:d69d:de29%enx00e08f008e53 port=37512 sysinfo="4.4.0-21-generic x86_64" version=2.9 certinfo="00:a6:b9:e1:85"
 host=zippy1981-Inspiron-15-7568.local address=172.17.0.1 port=37512 sysinfo="4.4.0-21-generic x86_64" version=2.9 certinfo="00:a6:b9:e1:85"
 host=zippy1981-Inspiron-15-7568.local address=192.168.0.211 port=37512 sysinfo="4.4.0-21-generic x86_64" version=2.9 certinfo="00:a6:b9:e1:85"
No servers matched the selection criteria of online,trusted,compatible.
Passes: via server failed.  Try again with another '-v' option.
The kernel on your system requires modules to be signed for loading.
The module created by compiling your script must be signed by a systemtap compile-server.  [man stap-server]
--use-server was automatically selected in order to request compilation by a compile-server.
Tip: /usr/share/doc/systemtap/README.Debian should help you get started.
zippy1981@zippy1981-Inspiron-15-7568:~$

O que devo fazer?

    
por Justin Dearing 21.06.2016 / 22:17

1 resposta

2

A mensagem de erro desta versão mais antiga do systemtap não é específica o suficiente sobre o problema. A linha chave é "Usando um servidor de compilação". Por que está usando esse servidor? Porque sua conta não tem os privilégios necessários para criar & amp; executar um script de systemtap arbitrário. O Systemtap espera que, ao usar um servidor de compilação que tenha sido autorizado pelo seu administrador de sistema local, seu usuário sem privilégios possa executar o script. Então, esse esforço falha porque nenhum dos servidores encontrados é tão autorizado.

Então, o que fazer? O mais fácil é executar o systemtap como root : sudo stap .... . A segunda coisa mais fácil de fazer é colocar o ID do usuário nos grupos stapdev e stapusr UNIX, que é aproximadamente equivalente em root no poder. Em ambos os casos, você pode criar localmente & amp; executar scripts stap arbitrários. A terceira coisa mais fácil de fazer é configurar a compilação remota & amp; material de privilégio limitado; para isso, veja man stap-server .

    
por fche 22.06.2016 / 16:20