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?
command-line
bash
Kevin Hernandez
fuente
fuente
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.Respuestas:
Los bits de permiso para el archivo
/proc/sys/net/ipv4/ip_forward
son:con el
owner:group
serroot:root
.Entonces solo
root
puede escribir en el archivo.Cuando tu lo hagas:
como usuario normal, no podrá escribir en el archivo debido a un permiso insuficiente.
Tu puedes hacer:
Uso
sudo
ybash
:Uso
tee
: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
:Entonces corre:
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.fuente
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 problemarm
!/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.