우리 학교에서는 프로그램을 실행하기 위해 서버를 공유합니다.
이를 사용하여 top
서버에서 무슨 일이 일어나고 있는지 확인할 수 있으며 키를 누르면 c내 연구실 데이터 정보가 포함된 명령 세부 정보도 볼 수 있습니다.
그렇다면 나의 달리기 정보를 다른 사람이 보지 못하게 하려면 어떻게 해야 합니까 c? 프로세스 이름(java 또는 awk)만 표시하고 세부 정보는 숨길 수 있습니까?
답변1
사용자 정보 숨기기
따라서 top
기본 동작은 상자의 모든 프로세스를 표시하는 것이며 다른 사용자가 해당 세부 정보를 보는 것을 실제로 거부할 수는 없습니다. 이를 수행하는 방법은 다음 U&L Q&A에서 논의됩니다.
세 번째 링크는 흥미로운 접근 방식을 보여줍니다.커널 패치hidepid
Linux 커널 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'
의미아니요루트 사용자를 표시합니다.