'Sudo' bir dosyadan şifreyi nasıl alabilirim?


13

Sudo parolasını gerektiren bir komut çalıştırmak istiyorum:

sudo apt-get update

Bu çalışması gerekiyordu (normal bir metin dosyasında şifreyi sakladım passwd.txt):

sudo apt-get update <~/passwd.txt

Bu neden çalışması için mantığımdır: şifre gerektiğinde kullanıcıdan şifreyi klavyeden girmesi istenir. Ancak stdinokumak için passwd.txtdosyadan yönlendirme çalışması gerekir.

Olmamalı mı?



Bu expecttür şeyleri otomatikleştirmek için tcl betiğini noramlly kullanırsınız .
Adobe

Bunu sormanız gerekiyorsa, muhtemelen yanlış bir şey yapıyorsunuzdur. İlk etapta gerçekleştirmeye çalıştığınız şeyi paylaşır mısınız? Hiç kimse böyle hack kullanmak zorunda kalmamalı. Daha iyi bir çözüm olması gerektiğinin bir göstergesi.
gertvdijk

@gertvdijk Ubuntu uzmanı değilim ama öğreniyorum. Bunu kendime bir alıştırma olarak verdim: "Bash Script'te yalnızca şu anda sahip olduğum bilgiyi kullanarak sudo ayrıcalığı gerektiren bir komut yürüt. Google'ı kullanmadan." Yukarıdaki cevabı buldum ve işe yarayacağını düşündüm. Daha sonra AskUbuntu'da daha iyi ve daha güvenli çözümler buldum.
MichaelB

Yanıtlar:


27

sudostdinvarsayılan olarak şifre okumaz . Gönderen sudoman:

-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.

Yani koşmalısınız:

sudo -S apt-get update <~/passwd.txt

Şifreleri dosyalarda saklamanın iyi bir uygulama olmadığını unutmayın. Okumalısın:


Anladım! Kısa n tatlı cevap!
MichaelB
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.