![시크릿 bash 세션을 여는 방법은 무엇입니까?](https://linux55.com/image/56818/%EC%8B%9C%ED%81%AC%EB%A6%BF%20bash%20%EC%84%B8%EC%85%98%EC%9D%84%20%EC%97%AC%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
에서 시크릿 세션을 열 수 있습니까 bash
?
예를 들어 명령에 비밀번호를 입력해야 하는데 bash
이를 기록에 추가하고 싶지 않은 경우입니다.
답변1
bash
로깅 명령을 중지 하려면 HISTFILE
변수 설정을 해제하면 됩니다.
HISTFILE=
모든 추가 명령은 더 이상 기록되지 않습니다 .bash_history
.
반면에 실제로 명령에 대한 인수로 암호를 제공하면 이미 잘못된 작업을 수행하고 있는 것입니다. .bash_history
전 세계에서 읽을 수 없으므로 이 경우 가장 큰 위협은 아닙니다.
ps
/proc
큰 문제 입니다 . 시스템의 모든 사용자는 현재 실행 중인 명령을 볼 수 있습니다.그리고 그들의 모든 주장. 따라서 암호를 명령줄 인수로 전달하는 것은본질적으로 안전하지 않음. 비밀번호를 안전하게 제공하려면 환경 변수 또는 구성 파일(600을 chmodded)을 사용하십시오.
답변2
HISTCONTROL=ignorespace
이 옵션이 설정되지 않은 경우 bash
필요한 것일 수 있습니다. 모든 기록을 비활성화하는 것보다 덜 쇠약해집니다. 이 설정을 사용하면 공백 문자로 시작하는 명령줄은 기록 목록에 저장되지 않습니다.
다음 관련 링크에서:
답변3
일시적으로 기록을 비활성화할 수 있습니다.set +o history
set +o history
...
set -o history
기록을 비활성화하는 것과 설정을 해제하는 것에는 차이가 있습니다 HISTFILE
.
HISTFILE=
date
ls
HISTFILE=~/.bash_history
history
출력은 다음과 같습니다.
84 HISTFILE=
85 date
87 ls
88 HISTFILE=~/.bash_history
89 history
즉, 모든 명령이 기록 목록에 저장됩니다. exit
저장하려면 입력하세요 .
하지만
set +o history
date
ls
set -o history
history
출력은 다음과 같습니다.
115 set +o history
116 history
일반화하다:
set +o history
장시간 세션에 사용됩니다.
HISTCONTROL
그리고 <space>command
다른 때에는.