Se state costruendo un programma java che deve lanciare in background un eseguibile in Windows ecco il codice che potrebbe fare al caso vostro.

Per prima cosa dichiariamo le variabile all’interno del nostro codice

ProcessBuilder pbEseguibile = new ProcessBuilder();
Process pEseguibile = null;

Poi aggiungiamo il seguente codice per lanciare l’eseguibile in un processo

pbEseguibile.command( "c:\\test.exe" );
try {
    pEseguibile = pbEseguibile.start();
} catch (IOException ex) {
    Logger.getLogger(jtTest.class.getName()).log(Level.SEVERE, null, ex);
}

Se dobbiamo “uccidere” il processo basta che lanciamo il codice

if (pEseguibile != null) {
    pEseguibile.destroy();
}

 

Sa avete installate un server Pure-FTPd e non volete far apparire il Welcome Message classico di Pure-FTPd per offuscare il demone usato dove:

  • creare un nuovo file, esempio: /etc/pure-ftpd/pure-ftpd.conf
  • modificare il file /etc/pure-ftpd/pure-ftpd.conf e cambiare la riga

# Display fortune cookies
FortunesFile /etc/pure-ftpd/welcomeMessage.msg

  • riavviare il servizio con systemctl restart pure-ftpd

Se avete degli “UserParameter” configurati nel vostro Zabbix Agent che eseguono degli script e ricevete l’errore

[m|ZBX_NOTSUPPORTED]

Potrebbe dipendere dal fatto che lo script aggiunge il carriage return in fondo alla stringa.

Esempio che vi restituirà l’errore [m|ZBX_NOTSUPPORTED]

UserParameter=postfix.deferred[*],/usr/sbin/postqueue -p | egrep -c “^[0-9A-F]{10}[^*]”
UserParameter=postfix.active[*],/usr/sbin/postqueue -p | egrep -c “^[0-9A-F]{10}[*]”

La soluzione è togliere i caratteri speciali in fondo alla stringa con il comando tr -d ‘\r\n’

UserParameter=postfix.deferred[*],/usr/sbin/postqueue -p | egrep -c “^[0-9A-F]{10}[^*]” | tr -d ‘\r\n’
UserParameter=postfix.active[*],/usr/sbin/postqueue -p | egrep -c “^[0-9A-F]{10}[*]” | tr -d ‘\r\n’

Se avete abilitato SELINUX in modalità enforcing e provate ad avviare il demone zabbix-agent potreste ricevere l’errore:

Job for zabbix-agent.service failed because a configured resource limit was exceeded. See “systemctl status zabbix-agent.service” and “journalctl -xe” for details.

Infatti se andiamo a controllare l’audit log

grep zabbix_agent /var/log/audit/audit.log

possiamo vedere che AVC ha impedito l’azione setrlimit a zabbix_agentd

type=AVC msg=audit(1505217991.711:2169): avc: denied { setrlimit } for pid=9247 comm=”zabbix_agentd” scontext=system_u:system_r:zabbix_agent_t:s0 tcontext=system_u:system_r:zabbix_agent_t:s0 tclass=process
type=SYSCALL msg=audit(1505217991.711:2169): arch=c000003e syscall=160 success=no exit=-13 a0=4 a1=7fff96165e20 a2=0 a3=8 items=0 ppid=1 pid=9247 auid=4294967295 uid=996 gid=993 euid=996 suid=996 fsuid=996 egid=993 sgid=993 fsgid=993 tty=(none) ses=4294967295 comm=”zabbix_agentd” exe=”/usr/sbin/zabbix_agentd” subj=system_u:system_r:zabbix_agent_t:s0 key=(null)

Per ovviare a questo problema basta aggiungere una nuova policy con il comando:

grep zabbix_agent /var/log/audit/audit.log | audit2allow -M zabbix_agent

ed attivarla

semodule -i zabbix_agent.pp

 

Oggi mi è capitato di dover aggiungere una nuova CA alle mie root CA. In MAC OS X è molto semplice, basta eseguire il seguente comando:

sudo security add-trusted-cert -d -r trustRoot -k “/Library/Keychains/System.keychain” “/Users/utente/Desktop/root_CA.cer

naturalmente al posto della scritta rossa dovrete mettere il percorso di dove avete salvato la vostra CA nel vostro Mac.

A volte capite che il server di stampa di Windows faccia un po’ le bizze … Ecco un piccolo script da eseguire per cancellare tutti i jobs di stampa e ri-avviare il processo spooler. Aprite il vostro editor di testo e incollate queste righe:

@echo off
echo fermo il servizio stampa
net stop spooler
echo cancello i job
del %systemroot%\System32\spool\printers\* /Q /F /S
echo riavvio il server di stampa
net start spooler

Salvate il file sul desktop con un nome a vostro piacere, l’importante è che l’estensione sia .bat (esempio printer.bat)

Una volta salvato fateci tasto destro e cliccate su esegui come amministratore.