¿Cómo puedo aplicar un script de terminal usando ssh a todos los usuarios?

1

Necesito deshabilitar la opción de vista previa de impresión de Google Chrome usando el script "los valores predeterminados escriben com.google.Chrome DisablePrintPreview -boolean true -contributed by CutMaster", a un mac que usa ssh y lo aplica a todos los usuarios.

El script anterior solo funciona cuando se ingresa cuando se inicia sesión como usuario. Sin embargo, no tengo acceso a la cuenta del usuario, pero sí tengo acceso a la cuenta de administrador.

Tu ayuda es muy apreciada.

    
pregunta Mart Angelo Babaan 17.05.2016 - 17:58

3 respuestas

0

Usa el comando sudo

El comando es sudo -u username command

Por lo tanto, después de SSH como administrador, ejecute el comando:

sudo -u <username> defaults write  /Users/<username>/Library/Preferences/com.google.Chrome.plist D
isablePrintPreview -boolean true

Eso establecerá el valor de preferencias para el usuario en particular que le interesa sin tener que conocer su contraseña.

Lo verifiqué personalmente en OS X 10.11.4 usando una cuenta llamada "testguy". Pude SSH en la máquina, configuré las preferencias con el comando que proporcionó y verifiqué que se configuró emitiendo el comando:

sudo -u testguy defaults read  /Users/testguy/Library/Preferences/com.google.Chrome.plist Di
sablePrintPreview  

La respuesta fue 1 (verdadero)

    
respondido por el Allan 17.05.2016 - 18:47
0

Primero, debo decir que en este momento no estoy donde puedo ssh en otra Mac para probar esto, sin embargo, lo voy a ofrecer de todos modos ya que creo que esto puede funcionar.

Algunas suposiciones de mi parte ...

  • Cada uno de los sistemas a ser tocados tiene más de una cuenta de usuario.
  • Utilizará las credenciales de administrador para modificar el archivo .plist de destino.

Notas:

Para tocar el archivo .plist de destino debajo de cada Cuenta, deberá usar sudo y como tal cambiará el owner: group de el archivo de destino a root: wheel y deberá volver a cambiarse después de que se ejecute el comando defaults write ... en el archivo de destino. Por lo tanto, la información de owner: group del archivo deberá ser determinada y almacenada en variables antes de ser tocada.

Si Google Chrome se está ejecutando en el momento en que se toca su .plist , es probable que los cambios no surtan efecto hasta que la aplicación se cierre y se vuelva a abrir. Además, dependiendo de la versión de OS X, el cambio puede sobrescribirse cuando se cierra la aplicación. Si este es el caso, necesita agregar código adicional para verificar y ver si la aplicación se está ejecutando y cerrarla antes de tocar su archivo .plist .

El siguiente bash script debe hacer lo que sea necesario.

#!/bin/bash

f="/Library/Preferences/com.google.Chrome.plist"

for d in /Users/*; do
    if [[ -f $d$f ]]; then
        og="$(ls -l "$d$f" | awk '{print $3":"$4}')"
        defaults write "$d$f" DisablePrintPreview -boolean true
        chown "$og" "$d$f"
    fi
done

    
respondido por el user3439894 17.05.2016 - 20:35
0

Aprecio sus sugerencias chicos. La sugerencia de Allan y User3439894 son correctas y realmente me ayudaron mucho. Probé esto en 10.11.4 y usé los scripts anteriores a 10.9-10.11. Probablemente solo necesito enviar un correo electrónico a los usuarios para relanzar Google Chrome para que la configuración tenga efecto.

La razón por la que quiero desactivar esta vista previa de impresión en Chrome para Mac es que cuando los usuarios imprimen en nuestra impresora Konica, que tiene la autenticación habilitada, muestra "imprimir" como el nombre de usuario de los registros. Otros navegadores como Firefox o Safari muestran el nombre de usuario apropiado. No pude encontrar una solución para eso, así que decidí desactivar la vista previa de impresión de Chrome en su lugar.

    
respondido por el Mart Angelo Babaan 17.05.2016 - 22:15

Lea otras preguntas en las etiquetas