2012-05-15 13 views

Odpowiedz

24

Rozmowa w sesji expect w twoim skrypcie basha to zazwyczaj sposób automatyzacji interaktywnych monitów.

np.

expect -c " 
spawn sudo setpci -s 00:02.0 F4.B=00 
expect -nocase \"password:\" {send \"$PASS\r\"; interact} 
" 

Zauważ, że nie jest to zalecane podejście w tym przypadku, ponieważ jest to ogromny otwór bezpieczeństwa przechowywać hasła administratora w skrypcie bash.

Prawidłowym rozwiązaniem byłoby edytowanie twojego /etc/sudoers/, aby nie pytać o hasło dla tego pliku binarnego.

#in /etc/sudoers 
neohexane ALL=(ALL) NOPASSWD : /usr/bin/setpci 
+1

Czy jest jakiś powód, dla którego nie można zastosować podejścia '/ etc/sudoers /'. To byłaby moja rekomendacja. – cmh

+3

"nie jest zalecane" wydaje się niedopowiedzenie. Całkowicie usunę oczekiwany roztwór. O ile nie jest to jego osobiste pudełko, absolutnie nie powinien zostawiać hasła root'a leżącego w zwykłym pliku tekstowym. – chepner

+2

Myślę, że warto zachować jako przykład tego, czego można się spodziewać. Podkreślę, że nie jest to zalecane. – cmh

Powiązane problemy