Necesito abrir mediante programación un script de shell en una ventana de Terminal y ejecutarlo con privilegios de administrador. Estoy usando osascript ya que muestra un aviso conveniente para un inicio de sesión/contraseña de administrador.
Actualmente estoy usando esto:
osascript -e 'do shell script "open -a Terminal \"'"$appDir"'\"" with administrator privileges'
El problema es que, incluso después de ingresar las credenciales en el indicador de OS X, el script recién abierto solicitará una contraseña en el primer comando sudo.
¿Cómo paso las credenciales de administrador al script abierto?
Intentaría escribir un guión simple:
#!/bin/bash
sudo /usr/bin/id
guarde esto como something.command
, cambie sus permisos a ejecutable con chmod +x
, y luego ejecútelo desde AppleScript con
osascript -e 'do shell script "open -a Terminal ./something.command"'
En lugar de eso /usr/bin/id
, puede llamar a cualquier secuencia de comandos que necesite ejecutar con privilegios de administrador.
EDITAR:
Esto funcionará:
osascript -e 'do shell script "sudo /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" with administrator privileges'
osascript -e 'do shell script "sudo /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal \"'"$appDir"'\"" with administrator privileges'
. Los privilegios de administrador solicitados por el cuadro de diálogo OS X se pasaron con éxito al script ejecutado.
sin ladera
davidd