*nix 시스템에서 "ps"(프로세스 상태) 유틸리티를 제거하는 방법은 무엇입니까?

*nix 시스템에서 "ps"(프로세스 상태) 유틸리티를 제거하는 방법은 무엇입니까?

ps(프로세스 상태)는 쉘 기록처럼 사용자의 명령 기록을 저장할 수 있다고 들었습니다 .

원천:StackOverflow에 댓글을 남겨주세요,

명령줄 인수에서 비밀번호를 숨기는 것이 목표라면 ps를 통해 계속 표시됩니다. – Benitok 2019년 4월 27일 3:50

이는 보안 위험인 것 같습니다.

질문:

  • 기록을 삭제할 수 있나요 ps? 어떻게 해야 하나요?

아니면 그게 불가능하다면,

  • 이 유틸리티를 제거, 삭제 또는 비활성화하려면 어떻게 해야 합니까 ps?

답변1

ps아무것도 저장하지 않지만 시스템에서 실행 중인 모든 프로세스를 볼 수 있으며 저장할 수 있습니다. ps커널에서 사용자 공간으로 데이터를 계속 사용할 수 있으므로 유틸리티를 제거해 도 문제가 해결되지 않습니다.

Linux에서 이 정보는라는 옵션이 있는 가상 /proc 파일 시스템을 통해 제공됩니다. hidepid이를 통해 사용자가 자신에게 속하지 않은 프로세스를 보지 못하도록 할 수 있습니다. hidepid=2로 마운트하면 사용자가 계속 사용할 수 있지만 ps자신의 프로세스 이외의 프로세스는 볼 수 없습니다.

자세한 내용은 여기를 참조하세요.

https://linux-audit.com/linux-system-hardening-adding-hidepid-to-proc/

security.curtainNetBSD 에는 비슷한 효과가 있는 이라는 옵션이 있습니다 . freebsd에서는 조정 가능한 매개변수가 호출됩니다 security.bsd.see_other_uids.

안전에 미치는 영향에 관해서. UNIX 개발자는 민감한 정보를 다른 사람이 볼 수 있으므로 프로세스 명령줄 인수에 인코딩하지 않도록 교육받습니다. 그러나 프로세스 정보를 숨기는 것은 성가실 수 있습니다. 특히 리소스가 제한되어 있고 여러 사용자가 모든 CPU/메모리를 사용하고 있는 사람과 대상을 확인할 수 없는 시스템에서는 더욱 그렇습니다. 이 경로를 따라가면 정보가 노출될 수 있으므로 각 사용자에 대해 "임시" 디렉터리를 생성할 수 있습니다.

(좋은 사용자 이름)

관련 정보