5 votos

Cómo abrir un shell script en una nueva ventana de Terminal y ejecutarlo con privilegios de administrador

Necesito programación abra un shell de comandos en una ventana de Terminal y ejecutarlo con privilegios de administrador. Estoy usando osascript como muestra un conveniente solicitar un administrador de inicio de sesión/contraseña.

Actualmente estoy usando esto :

osascript -e 'do shell script "open -a Terminal \"'"$appDir"'\"" with administrator privileges'

El problema es que, incluso después de introducir las credenciales en el OS X del símbolo, el recién inaugurado secuencia de comandos de inicio de una contraseña en el primer comando sudo.

¿Cómo puedo pasar las credenciales de administrador para el abierto de secuencia de comandos?

3voto

Brethil Puntos 313

Me gustaría tratar de escribir una simple secuencia de comandos:

#!/bin/bash
sudo /usr/bin/id

guardar esto como something.command, cambiar sus permisos al archivo ejecutable con chmod +x, y a continuación, ejecute este de AppleScript con

osascript -e 'do shell script "open -a Terminal ./something.command"'

En lugar de /usr/bin/id usted puede llamar a cualquier secuencia de comandos que necesita para ejecutar con privilegios de administrador, a continuación,.

EDITAR:

Esto va a funcionar:

osascript -e 'do shell script "sudo /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" with administrator privileges'

-1voto

yoliho Puntos 340

Quitar el sudo desde el interior de la secuencia de comandos. Utilizar sudo parte superior de cambiar el usuario, pero si se ejecuta la totalidad de la secuencia de comandos con privilegios de Administración a la que usted no necesita cambiar

La autenticación se acaba de hacer por el osascript comando y no tanto en el guión y la osascript

En efecto, esto es lo mismo que ejecutar la secuencia de comandos completa bajo sudo.

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