Согласно патчу ядра http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=0499680a42141d86417a8fbaa8c8db806bea1201, вы можете использовать опцию hidepid для файловой системы proc:
hidepid = 0 (по умолчанию) означает старое поведение - любой может прочитать все общедоступные файлы /proc /PID / *.
hidepid = 1 означает, что пользователи могут иметь доступ не к каким-либо каталогам /proc //, а к своим. Чувствительные файлы, такие как cmdline, sched *, status теперь защищены от других пользователей. Так как проверка полномочий выполняется в proc_pid_permission (), а права доступа к файлам остаются нетронутыми, программы, ожидающие режимы определенных файлов, не путаются.
hidepid = 2 означает, что hidepid = 1 плюс все /proc /PID / будут невидимы для других пользователей. Это не означает, что он скрывает, существует ли процесс (его можно узнать другими способами, например, kill -0 $ PID), но он скрывает euid и egid процесса. Это усложняет задачу злоумышленника по сбору информации о запущенных процессах, о том, работает ли какой-либо демон с повышенными привилегиями, запускает ли другой пользователь какую-либо чувствительную программу, запускают ли другие пользователи вообще какую-либо программу и т.д.
gid = XXX определяет группу, которая сможет собирать информацию обо всех процессах (как в режиме hidepid = 0). Эту группу следует использовать вместо помещения пользователя root в файл sudoers или что-то в этом роде. Однако недоверенные пользователи (например, демоны и т.д.), Которые не должны следить за задачами во всей системе, не должны добавляться в группу.
Вы не можете контролировать видимость на уровне процессов, однако вы можете гарантировать, что ваши пользователи смогут видеть только свои процессы.
Если у вас версия ядра больше 3.3, попробуйте выполнить следующую команду:
mount /proc -o remount,hidepid=2