Errore durante l'uso di 'sudo shutdown' sulla macchina remota

3

Sto remotamente chiudendo un gruppo di Mac usando ssh per eseguire il comando shutdown su ognuno di essi. Ho già fatto la domanda ( Shutdown "no tty presente e nessun programma askpass specificato "? ) e ha funzionato aggiungendo ADMIN ALL=(ALL) NOPASSWD: /sbin/shutdown -h now ai file sudoers come raccomandato.

Nel frattempo due dei Mac remoti sono stati aggiornati a Sierra e io ho ricevuto nuovamente

sudo: no tty present and no askpass program specified

anche se la riga nel file sudoers è ancora lì.

Che cosa devo cambiare per farlo funzionare con Sierra?

    
posta Gunter 19.12.2016 - 10:09
fonte

1 risposta

0

Una soluzione adeguata per lo script di spegnimento remoto è la seguente:

Script (regola il valore MAX_UPSEC, per scopi di test ho usato un valore basso):

#!/bin/bash
BOOT_TIME=$(sysctl -n kern.boottime | sed -e 's/.* sec = \([0-9]*\).*//')
CURR_TIME=$(date +%s)
MAX_UPSEC=300 #Seconds

SECS_UP=$(($CURR_TIME - $BOOT_TIME))
    if [ $SECS_UP -ge ${MAX_UPSEC} ];then
        echo "Mac is going to shutdown because it is already $SECS_UP seconds running"
        shutdown -h now
    else
        echo "No shutdown needed because the Mac is only $SECS_UP seconds up"
fi

Se si esegue lo script di arresto (supponendo che lo script si trovi in ~ / bin / sh /) con il seguente comando:

ssh admusr@host  'sudo bash -s' < /Users/admusr/bin/sh/ShutdownUPTIME.sh

le corrette linee di sudoers sugli host remoti sono quindi

root        ALL = (ALL) ALL
%admin      ALL = (ALL) ALL
admusr      ALL = (ALL) NOPASSWD: /bin/bash
    
risposta data 19.12.2016 - 18:41
fonte

Leggi altre domande sui tag