Dar permisos de administrador a un script

Imagen de Mow
Mow
0 puntos

Buenas, me gustaría saber como poder ejecutar comandos que requieren permisos root en un script de manera automática, sin tener que escribir la contraseña manualmente. Por ejemplo:

#!/bin/bash
ls /etc > /root/contenidoetc

Para poder crear ese fichero en el directorio /root/ necesitaría permisos.

No me vale iniciar sesión como root en el terminal o ejecutar el script con sudo, quiero que todo se haga de manera automática.

Creo que hay alguna opción con "su -c `comando` contraseña". Por favor, espero que puedan ayudarme.

Imagen de .doc
+1
0
-1

¿y con
sudo ls /etc...
por cierto, fíjate que hay un espacio entre ls y la ruta /etc... (en lo que has puesto no la hay)

+1
0
-1
Imagen de Mow
+1
0
-1

Bueno en realidad lo del espacio no importa, era solo por poner un ejemplo.

Si pongo sudo, al ejecutar el script me pedirá por el terminal la contraseña. Lo que yo quiero es que no me la pida de ninguna forma, que ejecute el script dando permisos de administrador a todos los comandos.

+1
0
-1
Imagen de Alcruz
+1
0
-1

Te lo explico con un ejemplo
1.- supongamo crear un script en el PATH del sistema, por ejemplo en /usr/local/bin con el nombre 111aaa
ejecutamos
sudo /usr/local/bin/111aaa
copiamos este script
#!/bin/sh
ls / >> /opt/lista.txt
guaedas y cierras
2.- le das permisos de ejecución al archivo recién creado
sudo chmod +x /usr/local/bin/111aaa
3.- edita el archivo /etc/sudoers
ejecuta
sudo visudo
agregas la siguiejte linea
tu_usuario ALL=NOPASSWD: /usr/local/bin/111aaa
Ctrl + O
Enter
Ctrl + X
4.- Ya quedo listo, ahora puedes ejecutar
sudo 111aa
se gerará el archivo lista.txt en el directorio /opt sin que te pida contraseña
En lo persomal prefiero cambiar la contraseña y poner una muy simple, por ejemplo 3333

+1
0
-1