Согласно патчу ядра 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