파일에서 'sudo'를 사용하여 비밀번호를 얻는 방법은 무엇입니까?


13

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

sudo apt-get update

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

sudo apt-get update <~/passwd.txt

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

안그래?



expecttcl 스크립트를 사용 하여 그러한 것들을 자동화 할 수 있습니다.
Adobe

이 질문을해야한다면 아마도 무언가 잘못하고있을 것입니다. 먼저 성취하려는 것을 공유 할 수 있습니까? 이와 같은 핵을 사용할 필요는 없습니다. 더 나은 솔루션이 있어야 함을 나타냅니다.
gertvdijk

@gertvdijk 나는 우분투 전문가가 아니지만 배우고 있습니다. 나는 이것을 연습으로 내 자신에게 주었다 : "현재 보유하고있는 지식 만 사용하여 sudo 권한이 필요한 Bash 스크립트에서 명령을 실행하십시오. Google을 사용하지 않고" 나는 위의 대답을 생각해 냈고 그것이 효과가 있다고 생각했습니다. AskUbuntu에서 나중에 더 좋고 안전한 솔루션을 찾았습니다.
MichaelB

답변:


27

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

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


이해했다! 짧은 n 달콤한 답변!
MichaelB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.