Sudo con redireccion del output a un fichero de sistema

El otro dia me encontre con una situación curiosa. No tenía acceso como root a un servidor solo “sudo” y necesitaba ejecutar el siguiente comando

echo "- - -" > /sys/class/scsi_host/host0/scan

Mi usuario no tiene permisos en este fichero al ser privilegiado del sistema y la redirección “>” no se ejecuta dentro del “sudo”, si no que usa el output del comando. Con lo cual me respondía que no tenía los permisos necesarios para escribir en el.

Un par de soluciones rapidas

1. Usando “tee”:

echo "---" | sudo tee -a /sys/class/scsi_host/host0/scan

La descripcion de “tee” dice:
tee – read from standard input and write to standard output and files

2. Usando “sudo” para invocar una shell, que normalmente no suele estar permitido:

sudo sh -c "echo '---' > sys/class/scsi_host/host0/scan"

Leave a Reply

Your email address will not be published.