Ieri ho visto scritto su una mailing list di Ninux:
echo 0 | sudo tee /proc/sys/net/ipv6/conf/all/disable_ipv6
E’ geniale ! Vi state chiedendo perché ?
Qualche anno fa avevo avuto questo problema:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Ma cosa significa? esegui "sudo echo 1"
, poi l’output del comando viene preso
e scritto su /proc/sys/net/ipv4/ip_forward
Quando viene effettuata la scrittura però non abbiamo più i privilegi di root, e quindi questa forma NON FUNZIONA !
Avevo risolto all’epoca usando la sintassi corretta:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Ovvero con il privilegio sudo chiamiamo l’interprete dei comandi sh e gli diciamo di eseguire con -c il comando nella stringa che segue tra le “”. In questo modo funziona, e quando redirigo l’output verso /proc ho ancora i privilegi di root.
Ma devo dire che la soluzione echo sudo tee è molto più elegante !!!