sudo 암호가 필요한 명령을 실행하고 싶습니다.
sudo apt-get update
이것이 작동하지 않아야합니다 (암호를 일반 텍스트 파일에 저장했습니다 passwd.txt
).
sudo apt-get update <~/passwd.txt
이것이 작동 해야하는 이유에 대한 나의 논리입니다. 암호가 필요할 때 키보드에서 암호를 입력하라는 메시지가 표시됩니다. 그러나 파일 stdin
에서 읽을 수 있도록 리디렉션하면 passwd.txt
작동합니다.
안그래?
답변
sudo
stdin
기본적으로 비밀번호를 읽지 않습니다 . 에서 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
파일에 비밀번호를 저장하는 것은 좋은 습관이 아닙니다. 읽어야합니다.