3 votos

Error al usar `sudo shutdown` en máquina remota

Estoy apagando remotamente un montón de Macs usando ssh para ejecutar el shutdown en cada uno de ellos. He hecho la pregunta antes ( ¿Apagado "sin tty presente y sin programa askpass especificado"? ) y lo hice funcionar añadiendo ADMIN ALL=(ALL) NOPASSWD: /sbin/shutdown -h now a los archivos sudoers como se recomienda.

Mientras tanto, dos de los Mac remotos se actualizaron a Sierra y vuelvo a tener

sudo: no tty present and no askpass program specified

aunque la línea en el archivo sudoers sigue ahí.

¿Qué tengo que cambiar para que esto funcione con Sierra?

0voto

klanomath Puntos 19587

Una solución adecuada para su apagado remoto de secuencia de comandos es la siguiente:

Secuencia de comandos (por favor, ajuste el MAX_UPSEC valor, para propósitos de prueba he utilizado un valor bajo):

#!/bin/bash
BOOT_TIME=$(sysctl -n kern.boottime | sed -e 's/.* sec = \([0-9]*\).*/\1/')
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

Si ejecuta la secuencia de comandos de apagado (suponiendo que el script se encuentra en ~/bin/sh/) con el siguiente comando:

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

el buen sudoers líneas en los hosts remotos son entonces

root        ALL = (ALL) ALL
%admin      ALL = (ALL) ALL
admusr      ALL = (ALL) NOPASSWD: /bin/bash

-1voto

Gunter Puntos 8

Lo he descubierto yo mismo.

Es una solución aproximada, pero de momento ayuda. Acabo de añadir

admusr ALL=NOPASSWD: /sbin/shutdown
%admin ALL=(ALL NOPASSWD: ALL

En admusr es probablemente innecesario, pero no quiero probarlo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X