![No se puede editar el archivo '/etc/network/interfaces' mediante el script bash en Ubuntu](https://rvso.com/image/1344715/No%20se%20puede%20editar%20el%20archivo%20'%2Fetc%2Fnetwork%2Finterfaces'%20mediante%20el%20script%20bash%20en%20Ubuntu%20.png)
Posible duplicado:
permiso sudo denegado
Necesito editar /etc/network/interfaces a través del script bash, estoy haciendo algo como lo siguiente...
sudo echo something > /etc/network/interfaces
Cuando se ejecuta esta línea, aparece el error que se menciona a continuación:
bash: /etc/network/interfaces: Permission denied
Pero si edito el mismo archivo con algún editor, funciona perfectamente... es decir
sudo nano /etc/network/interfaces
arriba déjame editar este archivo.
Respuesta1
Esta pregunta ya está respondida en algún lugar de este sitio, aunque no pude encontrarla.
Pero básicamente todo se reduce a esto:
sudo nano /etc/network/interfaces
empiezanano /etc/red/interfacescomo uid 0. Dado que nano se ejecuta en uid 0 y tiene permiso para escribir en /etc/network/interfaces.
sudo echo something > /etc/network/interfaces
empiezahacer eco de algocomo uid 0. Esa parte tiene éxito. La salida se redirige a >
/etc/network/interfaces`. Sin embargo, esta redirección se realiza con su propia cuenta. Y ese no tiene permiso para escribir en esa ubicación.
Pruebe esto en su lugar:
sudo bash -c "echo something > /etc/network/interfaces"
Eso debería ejecutar bash como uid 0 y permitir que bash ejecute todo el comando como uid 0.
O simplemente su -
rootear. No se recomienda ejecutar todo el tiempo como root; sin embargo, hay ocasiones en las que simplemente desea tener suficientes derechos sin escribir un comando sudo delante de cada línea. Simplemente no utilice root como usuario principal. Usarlo para instalar y configurar un sistema está bien.