0
(0)

Todos los sistemas operativos multitarea modernos, incluido Linux, ejecutan una serie de procesos para cada una de las tareas que se ejecutan. Una aplicación de bloc de notas es un proceso, una ventana de terminal es un proceso, el servidor SSH es un proceso, cada conexión SSH es un proceso y así sucesivamente. Linux programa los diversos recursos del sistema (tiempo de CPU, memoria, E/S) para que cada proceso tenga la oportunidad de ejecutarse.

Para ver la lista de procesos actuales en ejecución, puede utilizar el ps dominio. Prueba esto en una terminal:

ps aux

Él aux los parámetros dicen ps para enumerar todos los procesos del sistema con información adicional sobre quién es el propietario de los procesos y qué parámetros de llamada se usaron.

hidepid-ps-aux

Como puede ver, la lista muestra procesos propiedad de diferentes usuarios, incluidos «pi» (el usuario predeterminado de Raspbian en una Raspberry Pi), «raíz» y «www-data». Aquí hay una captura de pantalla ligeramente modificada que muestra los procesos junto con detalles más completos sobre los comandos y sus parámetros.

hidepid-ps-aux-john

Si mira hacia abajo en la lista, verá el comando nano MYBANKACCOUNTNUMBER.TXT que es propiedad del usuario «john». Imagínese si el nombre del archivo fuera un poco más revelador que el ejemplo; dichos datos están expuestos a todos los usuarios del sistema y podrían utilizarse con fines malintencionados.

Desde el kernel de Linux 3.2, existe una manera de evitar que los usuarios accedan a información sobre procesos que no son de su propiedad. Él ps El comando obtiene la información del proceso del sistema de archivos /proc (donde «proc» es la abreviatura de proceso). Hay un nuevo parámetro llamado «hidepid» que se usa cuando se monta el sistema de archivos /proc. Puede ocultar procesos y controlar quién tiene acceso a la información bajo /proc.

  • ocultarpid=0 – El comportamiento predeterminado donde cualquier usuario puede leer los archivos en /proc/PID/
  • ocultarpid=1 – Significa que los usuarios no pueden acceder a ningún subdirectorio /proc/PID/ excepto al suyo propio. También archivos como cmdline, io, sched*, status, wchan son inaccesibles para otros usuarios.
  • ocultarpid=2 – Todo, desde hidepid=1, más todos los subdirectorios /proc/PID/ estarán ocultos para otros usuarios.

El sistema de archivos /proc se puede volver a montar sobre la marcha usando la opción de volver a montar del mount dominio. Para probar hidepid, puede volver a montar el sistema de archivos /proc de esta manera:

sudo mount -o remount,rw,hidepid=2 /proc

Ahora puedes probar el ps comando de nuevo:

ps aux

hidepid2-ps-aux

Ahora la salida solo muestra los procesos que son propiedad del usuario «pi».

Para que este cambio sea permanente, debe editar el archivo «/etc/fstab» de su Pi. El archivo «fstab» controla qué sistemas de archivos se montan al inicio.

sudo nano /etc/fstab

Y encuentra la línea que dice:

proc            /proc           proc    defaults          0       0

Y cambiarlo a:

proc            /proc           proc    defaults,hidepid=2          0       0

Salga del editor usando «Ctrl + X». Ahora reinicie su Raspberry Pi. Cuando se reinicie, verifique que el sistema de archivos /proc se haya montado con las opciones correctas. Primer uso mount y grep para ver las opciones actuales:

mount | grep hidepid

hidepid-mount-grep

Ahora prueba el ps comando, exactamente como hemos hecho anteriormente:

ps aux

Observe ahora que solo los procesos propiedad de «pi» son visibles, pero a diferencia de antes, cuando volvimos a montar el sistema de archivos /proc, esta es ahora la configuración permanente. Sin embargo, una palabra de advertencia, incluso cuando se usa hidepid, «root» aún puede ver todos los procesos y los parámetros de llamada.

La técnica utilizada anteriormente funcionará en otras máquinas y distribuciones de Linux, no solo en Raspberry Pi con Raspbian. Si tiene preguntas sobre el uso de la opción «hidepid» en el sistema de archivos /proc, no dude en utilizar la sección de comentarios a continuación y veremos si podemos ayudarlo.

¿Le ha parecido útil este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.