"top" 명령을 내리고 "c" 키를 누른 후 내 달리기 세부 정보를 다른 사람이 볼 수 없도록 하는 방법

"top" 명령을 내리고 "c" 키를 누른 후 내 달리기 세부 정보를 다른 사람이 볼 수 없도록 하는 방법

우리 학교에서는 프로그램을 실행하기 위해 서버를 공유합니다.

이를 사용하여 top서버에서 무슨 일이 일어나고 있는지 확인할 수 있으며 키를 누르면 c내 연구실 데이터 정보가 포함된 명령 세부 정보도 볼 수 있습니다.

그렇다면 나의 달리기 정보를 다른 사람이 보지 못하게 하려면 어떻게 해야 합니까 c? 프로세스 이름(java 또는 awk)만 표시하고 세부 정보는 숨길 수 있습니까?

답변1

사용자 정보 숨기기

따라서 top기본 동작은 상자의 모든 프로세스를 표시하는 것이며 다른 사용자가 해당 세부 정보를 보는 것을 실제로 거부할 수는 없습니다. 이를 수행하는 방법은 다음 U&L Q&A에서 논의됩니다.

세 번째 링크는 흥미로운 접근 방식을 보여줍니다.커널 패치hidepidLinux 커널 3.3+에서 호출되는 옵션이 추가되었습니다 .mount

$ mount /proc -o remount,hidepid=2

숨기기PID=0(기본값)은 이전 동작을 의미합니다. 누구나 읽을 수 있는 모든 /proc/PID/* 파일을 누구나 읽을 수 있습니다.

hidepid=1이는 사용자가 /proc// 디렉터리에 액세스할 수 없고 자신의 디렉터리에만 액세스할 수 있음을 의미합니다. cmdline, sched*, status 등과 같은 민감한 파일은 이제 다른 사용자의 공격으로부터 보호됩니다. proc_pid_permission()에서 권한 확인이 이루어지고 파일의 권한은 변경되지 않으므로 특정 파일 모드를 요구하는 프로그램이 혼동되지 않습니다.

hidepid=2hidepid=1과 모든 /proc/PID/가 다른 사용자에게 표시되지 않음을 의미합니다. 이는 프로세스가 존재하는지 여부(kill -0 $PID 등 다른 방법으로 알 수 있음)를 숨기는 것이 아니라 프로세스의 euid 및 egid를 숨긴다는 의미입니다. 이는 특정 데몬이 높은 권한으로 실행되고 있는지, 다른 사용자가 특정 민감한 프로그램을 실행하고 있는지, 다른 사용자가 어떤 프로그램을 실행하고 있는지 등을 포함하여 실행 중인 프로세스에 대한 정보를 수집하는 침입자의 작업을 복잡하게 만듭니다.

그룹 번호=XXX모든 프로세스에 대한 정보를 수집할 수 있는 그룹을 정의합니다(예: hidepid=0 모드). sudoers 파일이나 다른 파일에 루트가 아닌 사용자를 배치하는 대신 이 그룹을 사용해야 합니다. 그러나 시스템 전체에서 작업을 모니터링해서는 안 되는 신뢰할 수 없는 사용자(예: 데몬 등)는 이 그룹에 추가하면 안 됩니다.

노트:공개 여부를 제어할 수 있는 기능은 제공되지 않으며 사용자가 아래 세부정보를 볼 수 없도록 제한할 뿐입니다 /proc.

다른 사용자에게 정보 숨기기

사용하는 동안 다른 사용자가 볼 수 없도록 숨기려면 top다음과 같이 하세요.

$ top -u '!root'
...
top - 00:04:16 up 2 days,  1:51,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  80 total,   1 running,  79 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1016156 total,   204212 free,    80104 used,   731840 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   755224 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  597 dbus      20   0   26668   1924   1364 S  0.0  0.2   0:08.55 dbus-daemon
  633 polkitd   20   0  536264  10216   4796 S  0.0  1.0   0:00.35 polkitd
  634 libstor+  20   0    8576    816    668 S  0.0  0.1   0:00.49 lsmd
 1305 postfix   20   0   91956   4292   3232 S  0.0  0.4   0:00.09 qmgr
 4199 vagrant   20   0  152392   3020   1424 S  0.0  0.3   0:01.53 sshd
 4200 vagrant   20   0  116196   2928   1796 S  0.0  0.3   0:00.05 bash
 5622 postfix   20   0   91776   4044   3028 S  0.0  0.4   0:00.00 pickup
 5672 user1     20   0  116096   2864   1808 S  0.0  0.3   0:00.04 bash
 5758 user1     20   0  157624   2136   1544 R  0.0  0.2   0:00.00 top

상징, '!root'의미아니요루트 사용자를 표시합니다.

관련 정보