2012-11-16 1 views
0

에 노출되어 루트의 암호는 내가 eshell에 다음과 같은 별명을 정의 eshell

$ alias 
alias ff find-file $1 
alias l ls -l $* 
alias ll ls -l $* 
alias sudo *sudo $* 

내가 "sudo를 * *"입력 루트 암호를 실행

은 암호가 완전히 표시됩니다.

감사합니다.

+3

무엇이 질문입니까? – Thomas

+0

eshell이 ​​입력 된 비밀번호를 표시하지 않기를 바랍니다. –

+0

eshell에서'sudo'를 실행할 때 암호를 묻는 프롬프트가 나타납니다. –

답변

2

암호 프롬프트를 찾는 데 사용되는 정규 표현식이 상황에 맞게 올바르게 설정되지 않았을 수 있습니다.

(require 'comint) 
(setq comint-password-prompt-regexp 
     "\\(\\([Vv]erify\\|[Oo]ld \\|[Nn]ew \\|'s \\|login \\|\ 
Kerberos \\|CVS \\|UNIX \\| SMB \\|^\\)\ 
\\([Pp]assword\\|Verify\\\\|密码)\\((again)\\)?\\|\ 
pass phrase\\|\\(Enter\\|Repeat\\|Bad\\) passphrase\\)\ 
\\(?:, try again\\)?\\(?: for [^:]+\\)?:\\s *\\'") 

참고 :

는 다음 시도 난 그냥 comint-password-prompt-regexp의 값을 가지고 가고 당신이 당신의 메시지했으며 문자를 추가했다.