파일에서 ‘sudo’를 사용하여 비밀번호를 얻는 방법은 무엇입니까? 작동 해야하는 이유에 대한 나의 논리입니다. 암호가

sudo 암호가 필요한 명령을 실행하고 싶습니다.

sudo apt-get update

이것이 작동하지 않아야합니다 (암호를 일반 텍스트 파일에 저장했습니다 passwd.txt).

sudo apt-get update <~/passwd.txt

이것이 작동 해야하는 이유에 대한 나의 논리입니다. 암호가 필요할 때 키보드에서 암호를 입력하라는 메시지가 표시됩니다. 그러나 파일 stdin에서 읽을 수 있도록 리디렉션하면 passwd.txt작동합니다.

안그래?



답변

sudostdin기본적으로 비밀번호를 읽지 않습니다 . 에서 sudo맨 :

-S  The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device.
    The password must be followed by a newline character.

따라서 다음을 실행해야합니다.

sudo -S apt-get update <~/passwd.txt

파일에 비밀번호를 저장하는 것은 좋은 습관이 아닙니다. 읽어야합니다.