quarta-feira, 15 de fevereiro de 2017

RPCBind

Assunto: daemon RPCBind (pacote rpcbind-0.2.3)


= = = = = = = = = =
= = = = = = = = = =

Sistema Operacional: GNU + Linux From Scratch - versão 7.10 (systemd)


Saída do comando <systemctl status rpcbind.service>:


● rpcbind.service - RPC Bind Service
   Loaded: loaded (/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled)
   Active: failed (Result: start-limit-hit) since dom 2017-02-12 10:53:19 BRT; 9min ago
  Process: 2057 ExecStart=/sbin/rpcbind -w (code=exited, status=1/FAILURE)

fev 12 10:53:19 lfs-comp02 systemd[1]: Starting RPC Bind Service...
fev 12 10:53:19 lfs-comp02 rpcbind[2057]: usage: rpcbind [-adhilswf]
fev 12 10:53:19 lfs-comp02 systemd[1]: rpcbind.service: Control process exited, code=exited status=1

fev 12 10:53:19 lfs-comp02 systemd[1]: Failed to start RPC Bind Service.
fev 12 10:53:19 lfs-comp02 systemd[1]: rpcbind.service: Unit entered failed state.
fev 12 10:53:19 lfs-comp02 systemd[1]: rpcbind.service: Failed with result 'exit-code'.
fev 12 10:53:19 lfs-comp02 systemd[1]: rpcbind.service: Start request repeated too quickly.
fev 12 10:53:19 lfs-comp02 systemd[1]: Failed to start RPC Bind Service.
fev 12 10:53:19 lfs-comp02 systemd[1]: rpcbind.service: Failed with result 'start-limit-hit'.


= = = = = = = = = =
= = = = = = = = = =


Obs.: o daemon foi recompilado acrescentando a opção <--enable-warmstarts> nas opções de configuração. Eis todas as opções de  configuração aplicadas:

./configure --prefix=/usr  \
            --bindir=/sbin \
            --with-rpcuser=rpc \
   --enable-warmstarts


Obs.: o daemon foi executado manualmente com o comando <systemctl start rpcbind.service>.


Obs.: o daemon foi habilitado para execução automática; comando <systemctl enable rpcbind.service>.


= = = = = = = = = =
= = = = = = = = = =


Saída do comando <systemctl status rpcbind.service>:


● rpcbind.service - RPC Bind Service
   Loaded: loaded (/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled)
   Active: active (running) since seg 2017-02-13 05:16:24 BRT; 9min ago
 Main PID: 2136 (rpcbind)
   CGroup: /system.slice/rpcbind.service
           └─2136 /sbin/rpcbind -w

fev 13 05:16:23 lfs-comp02 systemd[1]: Starting RPC Bind Service...
fev 13 05:16:24 lfs-comp02 systemd[1]: Started RPC Bind Service.


Obs.: transcrito da página de manual "rpcbind(8)":

-w      Cause rpcbind to do a "warm start" by read a state file when rpcbind starts up. The state file is created when rpcbind terminates.

Tradução livre: -w: Faz com que rpcbind faça um "início quente" pela leitura de um arquivo de estado quando rpcbind inicializa. O arquivo de estado é criado quando rpcbind finaliza [sua execução].


Entretanto, o binário foi configurado inicialmente sem habilitar a opção "warm start" nas opções de configuração <--enable-warmstarts>. Conclui-se que o livro Beyond Linux From Scratch (BLFS) - versão 7.10 (systemd) contém um defeito de falta de informação.


= = = = = = = = = =
= = = = = = = = = =


Saída do comando <systemctl status rpcbind.socket>:


● rpcbind.socket - RPC Bind Server Activation Socket
   Loaded: loaded (/lib/systemd/system/rpcbind.socket; disabled; vendor preset: enabled)
   Active: inactive (dead)
   Listen: /var/run/rpcbind.sock (Stream)


Saída do comando <systemctl status rpcbind.service>:


● rpcbind.service - RPC Bind Service
   Loaded: loaded (/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled)
   Active: inactive (dead)


Obs.: as duas Unidades systemd acima referidas estão ligadas intimamente. Observou-se que, quando se solicita para habilitar e (ou) desabilitar o "rpcbind.service", é o rpcbind.socket" que é afetado, removendo ou criando a ligação simbólica. Talvez essa seja a explicação para que a palavra "indirect" sempre apareça na consulta à situação de "rpcbind.service". Por sua vez, na Unidade "rpcbind.socket" apareçe a palavra "disabled" ou "enabled", como é de se esperar.


Obs.: observou-se que, ao se iniciar a Unidade "rpcbind.service", a Unidade "rpcbind.socket" também é inicializada. Porém o contrário não ocorreu, ou seja, inicializar a Unidade "rpcbind.socket" não inicializa a Unidade "rpcbind.service". Isso demonstra claramente a íntima ligação entre as duas Unidades.


Obs.: observou-se que, ao se parar a Unidade "rpcbind.socket", a Unidade "rpcbind.service" também é parada. Porém, o contrário não ocorreu, ou seja, parar a Unidade "rpcbind.service" não para a Unidade "rpcbind.socket", e ainda é lançada uma mensagem de alerta:

Warning: Stopping rpcbind.service, but it can still be activated by:
  rpcbind.socket


= = = = = = = = = =
= = = = = = = = = =


Saída do comando </sbin/rpcinfo>:

rpcinfo: can't contact rpcbind: RPC: Remote system error - Connection refused

Obs.: isso ocorreu pois o Servidor RPC ("rpcbind.socket") estava fora de execução. Para que haja retorno de informação, é condição necessária que, pelo menos, o Servidor RPC ("rpcbind.socket") esteja em execução.

Jamenson Ferreira Espindula de Almeida Melo
Usuário GNU/Linux nº 166197
https://linuxcounter.net/cert/166197.png

Impressão digital da chave:
234D 1914 4224 7C53 BD13  6855 2AE0 25C0 08A8 6180

Nenhum comentário:

Postar um comentário