Não foi possível ligar o socket: Permissão negada ao tentar iniciar o NDOUtils usando o soquete UNIX

1

Eu segui estas direções para um tee:

Tudo estava indo bem até que eu realmente tentei executar este comando (há um erro de digitação no artigo, eu corrigi aqui):

/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

Meus resultados:

# /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg 
Could not bind socket: Permission denied

Estou executando este comando como root já. Eu escolhi usar o soquete do UNIX em vez do TCP. O log do Nagios mostra o seguinte após uma nova reinicialização, mas nada se eu tentar executar esse comando manualmente.

[1371152186] ndomod: NDOMOD 1.5.2 (06-08-2012) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
[1371152186] ndomod: Could not open data sink!  I'll keep trying, but some output may get lost...
[1371152186] Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.

Olhando para a árvore de processos, não vejo nenhum processo "ndo" de nenhum tipo em execução.

Olhando para o netstat, vejo isto:

unix  2      [ ACC ]     STREAM     LISTENING     841374 /var/run/saslauthd/mux
unix  2      [ ACC ]     STREAM     LISTENING     840356 @/com/ubuntu/upstart
unix  2      [ ]         DGRAM                    840610 @/org/kernel/udev/udevd
unix  10     [ ]         DGRAM                    841162 /dev/log
unix  2      [ ACC ]     STREAM     LISTENING     841337 /var/lib/mysql/mysql.sock
unix  2      [ ]         DGRAM                    857504 
unix  2      [ ]         DGRAM                    847472 
unix  2      [ ]         DGRAM                    841625 
unix  2      [ ]         DGRAM                    841584 
unix  2      [ ]         DGRAM                    841534 
unix  2      [ ]         DGRAM                    841517 
unix  2      [ ]         DGRAM                    841373 
unix  2      [ ]         DGRAM                    841212 
unix  3      [ ]         DGRAM                    840614 
unix  3      [ ]         DGRAM                    840613 

Eu tentei ativar a depuração para este utilitário:

debug_level=-1
debug_verbosity=1
debug_file=/usr/local/nagios/var/ndo2db.debug
max_debug_file_size=1000000

Mas nada é gravado em /usr/local/nagios/var/ndo2db.debug .

    
por harperville 13.06.2013 / 21:58

2 respostas

1

Foram permissões. Este processo está tentando iniciar sob "nagios" do usuário, mas root: root é o usuário: o proprietário do grupo / usr / local / nagios e o nagios do usuário não é um membro do grupo raiz:

# groups nagios
nagios: nagios centreon

De qualquer forma, a solução é (eu acho):

# chmod -R 770 /usr/local/nagios
# chgrp -R nagios /usr/local/nagios

Agora começa:

# /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg 
# ps aux | grep ndo
nagios    4423  0.0  0.0   8220   652 ?        Ss   00:14   0:00 /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

Se você encontrar algum problema com essas permissões, informe-nos.

# stat /usr/local/nagios
  File: '/usr/local/nagios'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 18h/24d Inode: 75507753    Links: 5
Access: (0770/drwxrwx---)  Uid: (    0/    root)   Gid: (  499/  nagios)
Access: 2013-06-14 00:16:38.195375728 +0400
Modify: 2013-06-13 22:38:29.836402241 +0400
Change: 2013-06-14 00:16:38.196375599 +0400
    
por 13.06.2013 / 22:21
0

O erro Could not bind socket: Permission denied pode ser devido à permissão de gravação no diretório em que o arquivo de soquete está sendo gravado.

No meu caso, tive que chmod o /dir/of/socket/fie/ to 777 . Processo iniciado com sucesso após essa alteração.

O IMO alterando as permissões em /usr/local/nagios não é necessário .. é apenas o diretório em que o processo ndo2db tenta gravar um arquivo de soquete. [Tipicamente o seu ../var porém isto pode ser configurado em algum outro lugar em ndo config files. ]

    
por 23.02.2016 / 20:00