비밀번호를 입력하지 않고도 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'"