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"