증거:
$ ps f
PID TTY STAT TIME COMMAND
31509 pts/3 Ss 0:01 -bash
27266 pts/3 S+ 0:00 \_ mysql -uroot -p
25210 pts/10 Ss+ 0:00 /bin/bash
24444 pts/4 Ss 0:00 -bash
29111 pts/4 S+ 0:00 \_ tmux attach
4833 pts/5 Ss+ 0:00 -bash
9046 pts/6 Ss 0:00 -bash
17749 pts/6 R+ 0:00 \_ ps f
4748 pts/0 Ss 0:00 -bash
14635 pts/0 T 0:02 \_ mysql -uroot -px xxxxxxxxxxxxxxxx
16210 pts/0 S+ 0:01 \_ mysql -uroot -px xxxxxxxxxxxxxxxx
ps는 mysql
암호 를 숨기는 방법을 어떻게 알았 습니까? 특정 CLI 속성을 숨기려면이를 자신의 스크립트에 통합 할 수 있습니까?
답변
ps
비밀번호를 숨기지 않습니다. mysql과 같은 응용 프로그램은 인수를 덮어 씁니다. 인수가 겹쳐 질 때까지 다른 응용 프로그램에서 인수를 볼 수있는 작은 시간 범위 (높은 시스템로드로 확장 가능)가 있습니다. 다른 사용자에게 프로세스 를 숨기면 도움이 될 수 있습니다. 일반적으로 명령 줄보다 파일을 통해 암호를 전달하는 것이 훨씬 좋습니다.
에서 이 문서 는 C에 대한 설명이 어떻게해야 할 일. 다음 예제는 모든 명령 행 인수를 숨기거나 삭제합니다.
#include <string.h>
int main(int argc, char **argv)
{
// process command line arguments....
// hide command line arguments
if (argc > 1) {
char *arg_end;
arg_end = argv[argc-1] + strlen (argv[argc-1]);
*arg_end = ' ';
}
// ...
}
에서도 봐 /programming/724582/hide-arguments-from-ps 및 /programming/3830823/hiding-secret-from-command-line-parameter-on-unix .