누군가 명령 행에서 비밀번호를 사용하지 않아야하는 이유는 무엇입니까? 사람들이 명령 행에 비밀번호를 쓰는 것을 두려워하는

사람들이 명령 행에 비밀번호를 쓰는 것을 두려워하는 이유는 무엇입니까?

히스토리 파일은에 위치 ~/.history하므로 명령 (및 루트)을 실행 한 사용자 만 사용할 수 있습니다.



답변

명령 행은 히스토리에서만 사용할 수 없습니다. 예를 들어 파일 시스템 의 출력 ps -ocmd또는 /proc파일 시스템을 통해 사용할 수도 있습니다 . ( /proc/<pid>/cmdline)를 ps읽는 곳 입니다.

또한 사용자의 홈 디렉토리는 종종 세계 또는 그룹에서 읽을 수 있습니다. 히스토리 파일은 사용자가 읽을 수만있게 만들 수 있지만 삭제 및 재생 후에는 유효하지 않을 수 있습니다.


답변

커맨드 라인의 암호는 나쁜 생각입니다. 다른 답변에서 논의 된 방법 외에도 :

  • / proc
  • 프로세스 목록 ( ps)
  • 사용자 기록 파일

다음 위치에도 사용자 명령이 표시 될 수 있습니다.

  • 감사 로그
  • / var / log / *

또한 사용자가 시스템간에 로그인 할 때 사용자의 명령이 표시 될 수도 있으므로 일반적으로 나쁜 습관이므로 항상 피해야합니다.


답변

문제는 명령이 실행되는 동안 (대부분의 경우, 심지어 루트 사용자의 경우에도) 매개 변수의 가시성입니다. 의 출력을 참조하십시오

ps -eo pid,user,args


답변