De acordo com o patch do kernel http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=0499680a42141d86417a8fbaa8c8db806bea1201 , você pode usar a opção hidepid para o sistema de arquivos proc:
hidepid = 0 (padrão) significa o comportamento antigo - qualquer pessoa pode ler todos os arquivos / proc / PID / * legíveis pelo mundo.
hidepid = 1 significa que os usuários não podem acessar nenhum diretório / proc //, mas os seus próprios. Arquivos sensíveis como cmdline, sched *, status agora estão protegidos contra outros usuários. Como a verificação de permissão feita em proc_pid_permission () e as permissões de arquivos são deixadas intocadas, os programas que esperam modos de arquivos específicos não são confundidos.
hidepid = 2 significa hidepid = 1 mais todos / proc / PID / serão invisíveis para outros usuários. Isso não significa que oculta se existe um processo (pode ser aprendido por outros meios, por exemplo, com kill -0 $ PID), mas oculta o processo 'euid e egid. Compica a tarefa do invasor de reunir informações sobre processos em execução, se algum daemon é executado com privilégios elevados, se outro usuário executa algum programa sensível, se outros usuários executam algum programa etc.
gid = XXX define um grupo que poderá reunir as informações de todos os processos (como no modo hidepid = 0). Este grupo deve ser usado em vez de colocar o usuário não raiz no arquivo sudoers ou algo assim. No entanto, usuários não confiáveis (como daemons etc.) que não devem monitorar as tarefas em todo o sistema não devem ser adicionados ao grupo.
Você não pode controlar a visibilidade no nível do processo, mas pode garantir que seus usuários possam ver apenas seus próprios processos.
Caso você tenha uma versão do kernel maior que 3.3, você pode tentar com o seguinte comando:
mount /proc -o remount,hidepid=2