Ejecutar script con permiso de superusuario

1

Necesito crear un script para modificar algunos datos, lo que requeriría el permiso de superusuario. ¿Hay alguna forma de automatizar este proceso a través de shell script en Mac 10?

Guión de muestra:

sed s/Hello/World/g /usr/local/opt/test.xml 

Para ejecutar este script, el usuario necesita el permiso de superusuario, ¿hay alguna forma de proporcionar credenciales de root en el script y ejecutarlo?

Santosh M
fuente
¿esto necesita ejecutarse a pedido, o podría ejecutarse cada hora por cron?
PurplePilot

Respuestas:

1

Puede cambiar los permisos en el archivo de script de shell para que se ejecute automáticamente como root.

Desde la página de manual de chmod:

4000    (the set-user-ID-on-execution bit) Executable files with
        this bit set will run with effective uid set to the uid of
        the file owner.  Directories with the set-user-id bit set
        will force all files and sub-directories created in them to
        be owned by the directory owner and not by the uid of the
        creating process, if the underlying file system supports
        this feature: see chmod(2) and the suiddir option to
        mount(8).

Un comando de ejemplo podría verse como:

sudo chown root:root file.sh
sudo chmod 4755 file.sh
Bandit
fuente
Estoy ejecutando esto a través de shell script. ¡Solía ​​esperar resolver esto! Gracias :)
Santosh M
Creo que usar el bit set-user-ID-on-execute no funcionará en un script de shell Debe ser un programa compilado.
Gordolio