
En un script de shell que se utiliza curl
para buscar un script y luego ejecutarlo, ¿son estos dos enfoques materialmente diferentes?
curl http://address-to-some-script/dosomething.sh | sudo tee /usr/bin/dosomething.sh
...contra...
sudo curl http://address-to-some-script/dosomething.sh >> /usr/bin/dosomething.sh
Hay algo en el sudo
derecho anterior curl
en el segundo comando que me hace reflexionar, pero no puedo articular si es diferente (¿más riesgoso?) que el primero y en qué medida.
Respuesta1
Hay una serie de diferencias materiales.
curl http://address-to-some-script/dosomething.sh | sudo tee /usr/bin/dosomething.sh
se ejecuta curl
como usuario actual y tee
como root; también borra el contenido /usr/bin/dosomething.sh
antes de escribirle.
sudo curl http://address-to-some-script/dosomething.sh >> /usr/bin/dosomething.sh
se ejecuta curl
como root e intenta agregar /usr/bin/dosomething.sh
los permisos del usuario actual (el shell actual configura la redirección).