Como escrever em arquivos protegidos usando o sudo e redirecionamento
Dica publicada em Shell Script / Avançado
Como escrever em arquivos protegidos usando o sudo e redirecionamento
Você está como usuário comum e deseja escrever usando direcionamento de saída para um arquivo que requer permissão de root para escrita:
echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
Beleza, vamos tentar com o sudo?
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
Opa, mesmo erro? Sim! Isso ocorre porque o sudo executou o comando echo como superusuário, mas após o redirecionamento de saída você volta a ter permissão de usuário comum.
Para resolver esse problema usamos o comando "tee" combinado com o sudo:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
Espero ter ajudado!
echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
Beleza, vamos tentar com o sudo?
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
Opa, mesmo erro? Sim! Isso ocorre porque o sudo executou o comando echo como superusuário, mas após o redirecionamento de saída você volta a ter permissão de usuário comum.
Para resolver esse problema usamos o comando "tee" combinado com o sudo:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
Espero ter ajudado!
$ su -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'