Traté de correr
echo 1 > /proc/sys/net/ipv4/ip_forward
Dice acceso denegado de bash, luego hice:
sudo chmod 1+x /proc/sys/net/ipv4/ip_forward
y ahora dice Operación no permitida.
¿Cómo puedo obtener acceso?
fuente
Traté de correr
echo 1 > /proc/sys/net/ipv4/ip_forward
Dice acceso denegado de bash, luego hice:
sudo chmod 1+x /proc/sys/net/ipv4/ip_forward
y ahora dice Operación no permitida.
¿Cómo puedo obtener acceso?
Los bits de permiso para el archivo /proc/sys/net/ipv4/ip_forward
son:
-rw-r--r--
con el owner:group
ser root:root
.
Entonces solo root
puede escribir en el archivo.
Cuando tu lo hagas:
echo 1 > /proc/sys/net/ipv4/ip_forward
como usuario normal, no podrá escribir en el archivo debido a un permiso insuficiente.
Tu puedes hacer:
Uso sudo
y bash
:
sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
Uso tee
:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
Tenga en cuenta que debe usarlo /etc/sysctl.conf
para operaciones persistentes en los /proc/sys
subdirectorios.
En pocas palabras, para habilitar el reenvío de IP, puede poner lo siguiente en /etc/sysctl.conf
:
net.ipv4.ip_forward = 1
Entonces corre:
sudo sysctl -p
tener efecto inmediato
Esto tiene el mismo efecto que editar el archivo /proc/sys/net/ipv4/ip_forward
directamente, y sin mencionar que es mucho más limpio y, por supuesto, persistente.
tee
es un comando para enviar lo que reciba tanto a la salida estándar como a los archivos. Comprobarman tee
rm /proc/sys/net/ipv4/icmp_echo_ignore_all
) para eliminar dicho archivo! Incluso verifiqué el bit inmutable y no está configurado en ese archivo ... Me sale el mismo error "rm: no se puede eliminar '/ proc / sys / net / ipv4 / icmp_echo_ignore_all': Permiso denegado". ¡Pero mágicamente puedo editar el archivo como lo describiste! ¡No me doy cuenta de cuál es el problema rm
!
/proc
es decir, procfs
vive en la memoria y está expuesto por el núcleo. Entonces, está obteniendo una vista del núcleo, y lo que sea que le permita hacer a los archivos en tal FS depende totalmente del núcleo.
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
es que la redirección de la salida no se realiza comosudo
, por lo que no funciona. Desde la página de manual:,tee - read from standard input and write to standard output and files
y si se hace, yasudo
que tiene suficientes privilegios para escribir en el archivo.