Perché il mio programma launchctl non accetta connessioni esterne?

1

Sto provando a configurare l'agente Check_MK con launchd su un server Mac, per restituire i dati sulla porta 6556 quando un'altra macchina si connette ad essa.

(L'agente stesso è essenzialmente solo uno script di shell che restituisce varie informazioni sullo stato della macchina in un formato vagamente leggibile dalla macchina.)

Sono in grado di connettermi dalla macchina stessa, ad es. con curl localhost:6556 , ma se provo a connettermi esternamente, si verifica solo un timeout.

Ho un file .plist impostato come quello di de.mathias-kettner.check_mk.plist , memorizzato in / Library / LaunchDaemon:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>EnvironmentVariables</key>
        <dict>
                <key>HOME</key>
                <string>/var/root</string>
                <key>PATH</key>
                <string>/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin</string>
        </dict>
        <key>Label</key>
        <string>de.mathias-kettner.check_mk</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/bin/check_mk_agent</string>
        </array>
        <key>Sockets</key>
        <dict>
                <key>Listeners</key>
                <dict>
                        <key>SockServiceName</key>
                        <string>6556</string>
                </dict>
        </dict>
        <key>inetdCompatibility</key>
        <dict>
                <key>Wait</key>
                <false/>
        </dict>
        <key>AbandonProcessGroup</key>
        <true/>
        <key>StandardErrorPath</key>
        <string>/var/log/check_mk.err</string>
        <key>WorkingDirectory</key>
        <string>/var/root</string>
</dict>
</plist>

(L'unica differenza è che check_mk_agent è / usr / local / bin invece di / usr / bin, perché non posso creare il file lì.)

Il file check_mk_agent si trova a: check_mk_agent.macosx

La cosa strana è che se indico il file .plist a qualcosa come /bin/date , allora funziona anche esternamente.

L'unica cosa che posso concludere è che l'attività viene eseguita con autorizzazioni diverse a seconda dell'IP o dell'interfaccia dalla quale proviene la connessione, ma non so come modificare le autorizzazioni con cui tenta di eseguire.

    
posta mwfearnley 31.10.2017 - 15:09
fonte

1 risposta

1

perché non usi ssh per richiedere i dati dall'agente al mac? link Non è necessario il launchd.

saluti, Oliver

    
risposta data 31.10.2017 - 19:51
fonte

Leggi altre domande sui tag