Одним из альтернативных решений является запуск дистрибутивов Linux на виртуальных машинах. Например, вы можете установить Virtualbox и создать отдельные виртуальные машины для Kali и Debian. Virtualbox по умолчанию помещает гостевые операционные системы за NAT. Если это проблема, выберите мостовой адаптер в сетевых настройках Virtualbox, чтобы гости были в той же сети, что и физический компьютер.
Настоящий root должен уметь это делать. Я думаю, вам нужно уточнить, кто пытается прочитать /proc/pid/fd/
, если вы хотите, чтобы мы предложили более конкретное решение!
Обратите внимание, что в этом случае у root могут отсутствовать некоторые из его обычных возможностей, которые позволяют ему обходить проверки разрешений.
http://man7.org/linux/man-pages/man5/proc.5.html
Разрешение на разыменование или чтение (readlink(2)) символического ссылки в этом каталоге регулируются режимом доступа ptrace проверка PTRACE_MODE_READ_FSCREDS; см. ptrace(2).
http://man7.org/linux/man-pages/man2/ptrace.2.html
Запретить доступ, если атрибут «dumpable» целевого процесса имеет значение, отличное от 1 (SUID_DUMP_USER; см. обсуждение PR_SET_DUMPABLE в prctl(2)), и вызывающая сторона не имеет Возможность CAP_SYS_PTRACE в пользовательском пространстве имен цели процесс.
http://man7.org/linux/man-pages/man2/prctl.2.html
PR_SET_DUMPABLE (начиная с Linux 2.3.20) Установите состояние флага «dumpable», который определяет, будет ли дампы ядра создаются для вызывающего процесса при доставке сигнала, поведение которого по умолчанию заключается в создании дампа ядра. В ядрах до 2.6.12 включительно arg2 должен быть либо 0 (SUID_DUMP_DISABLE, дамп процесса невозможен) или 1 (SUID_DUMP_USER, процесс доступен для дампа). Между ядрами 2.6.13 и 2.6.17 допускалось также значение 2, что вызывало любые двоичный файл, который обычно не сбрасывается для дампа читается только пользователем root; из соображений безопасности эта функция был удален. (См. также описание /proc/sys/fs/ suid_dumpable в proc(5).) Обычно этот флаг установлен в 1. Однако он сбрасывается в текущее значение содержится в файле /proc/sys/fs/suid_dumpable (который по умолчанию имеет значение 0), в следующем обстоятельства:
Изменился эффективный идентификатор пользователя или группы процесса.
Изменен идентификатор пользователя или группы файловой системы процесса (см. учетные данные (7)).
Процесс выполняет (execve(2)) set-user-ID или set- программа group-ID, приводящая к изменению либо эффективный идентификатор пользователя или эффективный идентификатор группы.
Процесс выполняет (execve(2)) программу, которая имеет файл возможности (см. возможности(7)), но только если полученные возможности превышают уже имеющиеся разрешено для процесса.