El comando hidepid
se utiliza para evitar que los usuarios vean todos procesos que no les pertenecen, pero no ofrece la posibilidad de seleccionar un proceso específico. ¿Es posible ocultar solo uno? proceso en una máquina Linux?
Respuesta aceptada:
Un poco sucio, y probablemente haya una solución más limpia (tal vez usando SELinux o grsec), pero puede ocultar un proceso montando un directorio vacío dentro de /proc/<pid>
.
Por ejemplo, algo como esto:
mount -o bind /empty/dir /proc/42
evitará que los usuarios regulares vean el proceso 42.
Sin embargo, verán que algo está oculto ya que podrán ver el punto de montaje.
Si desea hacer esto para un servicio, deberá hacerlo cada vez que se inicie, utilizando su secuencia de comandos de inicio o lo que sea.
Si desea ocultar el pid solo de un usuario específico, puede jugar con espacios de nombres (tal vez usando pam_namespace
) para que el enlace de montaje se realice solo en el espacio de nombres del usuario de destino.
Para revertir esto, simplemente ejecute:
umount /proc/42