Eu tentei correr
echo 1 > /proc/sys/net/ipv4/ip_forward
Ele diz que Acesso negado do bash, então fiz:
sudo chmod 1+x /proc/sys/net/ipv4/ip_forward
e agora diz Operação não permitida.
Como posso obter acesso?
command-line
bash
Kevin Hernandez
fonte
fonte
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
é que o redirecionamento da saída não é feito assimsudo
, portanto não funciona. Na página de manual:,tee - read from standard input and write to standard output and files
e se feito,sudo
ele possui privilégios suficientes para gravar no arquivo.Respostas:
Os bits de permissão para o arquivo
/proc/sys/net/ipv4/ip_forward
são:com
owner:group
serroot:root
.Então, só
root
pode escrever no arquivo.Quando você faz:
como usuário normal, você não poderá gravar no arquivo devido à permissão insuficiente.
Você pode fazer:
Use
sudo
ebash
:Use
tee
:Observe que você deve usar
/etc/sysctl.conf
para operações persistentes nos/proc/sys
subdiretórios.Em poucas palavras, para ativar o encaminhamento de IP, basta colocar o seguinte em
/etc/sysctl.conf
:Então corra:
ter efeito imediato.
Isso tem o mesmo efeito que editar o arquivo
/proc/sys/net/ipv4/ip_forward
diretamente, sem mencionar muito mais limpo e, é claro, persistente.fonte
tee
é um comando para enviar o que receber para a saída padrão e para os arquivos. Verifiqueman tee
rm /proc/sys/net/ipv4/icmp_echo_ignore_all
) para remover esse arquivo! Até chequei o bit imutável e não está definido nesse arquivo ... Recebo o mesmo erro "rm: não é possível remover '/ proc / sys / net / ipv4 / icmp_echo_ignore_all': permissão negada". Mas magicamente eu posso editar o arquivo como você descreveu! Não consigo perceber qual é o problemarm
!/proc
isto é,procfs
vive na memória e é exposto pelo kernel. Então você está tendo uma visão do kernel, e o que quer que o kernel permita que você faça com os arquivos em um FS é totalmente dependente do kernel.