비밀번호를 입력하지 않고 su 또는 sudo 명령을 실행하는 스크립트를 작성할 수 있습니까? [복사]

비밀번호를 입력하지 않고 su 또는 sudo 명령을 실행하는 스크립트를 작성할 수 있습니까? [복사]

비밀번호를 입력하지 않고도 su실행하거나 명령할 수 있는 스크립트를 작성할 수 있습니까? sudo구글링해보니 su버퍼에서 비밀번호를 읽지 못했다고 나오네요. 그렇다면 해결책이 있나요?

답변1

내가 아는 한 두 가지 방법이 있습니다.

좋은 생각

특정 사용자나 그룹에 대한 설정을 지정할 때 파일 의 옵션을 sudo사용할 수 있습니다 .ALL=NOPASSWD/etc/sudoers

이를 수행하는 방법에 대한 몇 가지 팁:

나쁜 생각

터미널 장치 대신 표준 입력을 통해 비밀번호를 제공하는 옵션을 사용할 수 있습니다 sudo. -S예를 들어 파일에 비밀번호를 쓴 후 실행할 수 있습니다 cat myPass.txt | sudo -S your_command.

답변2

다음을 위해 사용할 수 있습니다 expect:

#!/usr/bin/expect
set password "mypassword"
spawn sudo mkdir -v newdir
expect "Password:"
send -- "$password\n"
expect "mkdir: created directory 'newdir'"

관련 정보