Linux에서 사용자가 다른 사람의 프로세스를 보지 못하게 하기 - hidepid

2669 단어 linux
Linuxkernel 3.2 이상에서 루트 사용자는 일반 사용자가 다른 사용자의 프로세스를 볼 수 있도록 커널을 설정할 수 있습니다.여러 사용자가 사용하는 시스템에 적용됩니다.이 기능은 커널에서 제공되므로 이 자습서는 Debian/Ubuntu/RHEL/CentOS 등에 적용됩니다.
의 원리
Linux에서는/proc 파일 시스템을 통해 많은 커널의 내부 정보를 액세스할 수 있습니다./proc 파일 시스템의 최초 디자인도 프로세스와 관련된 정보를 쉽게 접근할 수 있도록 하기 때문에 proc라고 명명되었다.현재 이 파일 시스템은 시스템의 중국 측 정보를 반영하는 데 사용되고 있다. 예를 들어/proc/modules는 모듈의 목록이고/proc/meminfo는 메모리가 사용하는 통계이다./proc 파일 시스템의 디렉터리는 영구적으로 저장된 정보가 아니다. 즉, 디렉터리는 디스크에 진실하게 저장되지 않고, 접근할 때 동적으로 생성된다.
우리가 관심 있는 것은/proc 파일 시스템에서 프로세스에 대한 정보입니다.모든 프로세스는/proc 파일 시스템에 디렉터리 (/proc/), 디렉터리 이름은 프로세스 번호가 있습니다.self 디렉터리는 현재 프로세스를 가리키는 링크입니다.
ps 명령과 top 명령은/proc 파일 시스템에서 프로세스 정보를 읽고 표시합니다.따라서 프로세스의 프로세스 번호가/proc 파일 시스템에 반영되지 않으면 이 프로세스는 숨겨지고 숨겨진 프로세스는 ps나 top 명령의 출력에 나타나지 않습니다.
hidepid 옵션 설명
이 옵션은 Linux 사용자가 볼 수 있는 다른 사용자의 정보를 정의합니다.보호 레벨은 0, 1, 2 세 레벨로 나뉘어 밑에서 높은 방어력까지 강화됩니다.
hidepid=0 - 클래식 모드 -/proc//* 폴더에 있는 모든 읽을 수 있는 파일을 누구나 접근할 수 있습니다 (기본값).
hidepid=1 - 민감한 보호 - 폴더/proc/에서 민감한 파일, 예를 들어 cmdline,sched*,status는 다른 사람의 접근을 허용하지 않습니다hidepid=2 - 강력한 보호 - It means hidepid=1 plus all/proc/PID/will be invisible to other users.It compicates intruder's task of gathering info about running processes, whether some daemon runs with elevated privileges, whether another user runs some sensitive program, whether other users run any program at all, etc.
커널 보호: 다른 사용자의 프로세스를 숨깁니다.
다음 명령을 사용하여 구성을 즉시 적용할 수 있습니다.
# mount -o remount,rw,hidepid=2 /proc

 
/etc/fstab 파일을 편집하여 서버 시작 시 구성이 자동으로 적용됩니다.
# vi /etc/fstab

 
proc    /proc    proc    defaults,hidepid=2     0     0

저장 종료.
예: 사용자가 다른 사람의 프로세스를 보지 못하게 하기
다음은 하나의 예이다
$ ssh vivek@cbz-test
$ ps -ef
$ sudo -s
# mount -o remount,rw,hidepid=2 /proc
$ ps -ef
$ top
$ htop

실전 기록:
 
gif 애니메이션:hidepid 실전
 
Tip: Dealing with apps that breaks when you implement this technique
You need to use gid=VALUE_HERE option:
gid=XXX defines a group that will be able to gather all processes' info (as in hidepid=0 mode). This group should be used instead of putting nonroot user in sudoers file or something. However, untrusted users (like daemons, etc.) which are not supposed to monitor the tasks in the whole system should not be added to the group.
So add the user called monapp to group (say admin) that want to see process information and mount/proc as follows in/etc/fstab:
proc /proc proc defaults,hidepid=2,gid=admin 0 0 

  :http://www.cyberciti.biz/faq/linux-hide-processes-from-other-users/ 

좋은 웹페이지 즐겨찾기