dos ideas que no han sido sugeridas sin embargo, ambos de los cuales son probablemente mejor/más seguro que la respuesta aceptada actualmente:
La primera opción sería la de poner la parte de la secuencia de comandos que necesita ser ejecutado como root en un archivo de script (.sh o algo), y luego hacer que setuid como root: chmod go-w,+sx scriptfile
, sudo chown root scriptfile
. Esto significa que el script se ejecutará automáticamente como root, lo que le evitará la necesidad de autenticarse para ejecutarlo (solo para cambiarlo). Mientras su operación no esté sujeta a la entrada del usuario, esto debería ser bastante seguro. (Por supuesto, si usted hace un script que toma un argumento de entrada y lo elimina o lo dirige, o hace la mayor parte nada más con ella, que sería no estar a salvo.)
La segunda opción sería utilizar AppleScript (posiblemente a través de osascript). Applescript le permite do shell script "sudo command goes here" with administrator privileges
, que aparecerá un cuadro de diálogo gráfico que le pedirá una contraseña.
La primera de estas opciones sería buena para un entorno automatizado, aunque podría no ser adecuada (por ejemplo) para ser registrada en un SCM o para ser enviada a otro usuario. La segunda opción funcionaría mejor con eso, pero requiere una entrada de contraseña cada vez, por lo que no funciona tan bien para una secuencia de comandos de compilación automatizada.
Te recomiendo que especifiques para qué estás utilizando el acceso de sudo. Eso puede abrir alternativas más amplias. –
Copie un archivo de una ubicación a otra y debe hacerse con acceso de root. – ericg
Tengo el mismo problema y he configurado ALL = NOPASSWD para esa secuencia de comandos. De hecho, si lo ejecuto desde la consola, no solicita la contraseña – hithwen