sha1pass
Komut satırında bazı hassas şifrelerden oluşan bir karma oluşturmak için kullandığımı varsayalım . sha1pass mysecret
Bir karma üretmek için kullanabilirim , mysecret
ancak bu mysecret
şimdi bash tarihinde olan bir dezavantaja sahiptir . Bu komutun son hedefini, mysecret
düz stilde açıklamaktan passwd
kaçının , belki de bir stil sorgusu kullanarak ulaşmanın bir yolu var mı ?
Ayrıca, hassas verileri herhangi bir komuta aktarmak için bunu genel bir yöntemle de ilgileniyorum. Hassas veriler argüman olarak (in gibi sha1pass
) veya STDIN'de bazı komutlara iletildiğinde yöntem değişecektir .
Bunu başarmanın bir yolu var mı?
Düzenleme : Bu soru çok dikkat çekti ve aşağıda sunulan birkaç iyi cevap var. Bir özet:
- Gereğince Kusalananda cevabı @ ideal bir bir yardımcı program için bir komut satırı bağımsız değişken olarak bir şifre veya gizli vermek zorunda asla. Bu, onun tarafından tanımlandığı gibi birçok yönden savunmasızdır ve kişi STDIN'e gizli girdi alabilen daha iyi tasarlanmış bir yardımcı program kullanmalıdır.
- @ vfbsilva'nın cevabı , işlerin bash tarihinde saklanmasını nasıl önleyeceğini açıklıyor
- @ Jonathan'ın cevabı , program STDIN'deki gizli verilerini alabildiği sürece bunu başarmak için mükemmel bir yöntemdir. Bu nedenle, bu cevabı kabul etmeye karar verdim.
sha1pass
OP'mde sadece bir örnek vardı, ancak tartışma STDIN hakkında veri alan daha iyi araçların var olduğunu ortaya koydu. - olarak @R .. notlar onun cevabı , bir değişken üzerinde komut genişleme kullanılmasıdır değil güvenli.
Bu yüzden, özet olarak, Jonathan'ın cevabını kabul ettim çünkü çalışmak için iyi tasarlanmış ve iyi niyetli bir programa sahip olduğunuza göre en iyi çözüm bu. Bir parola veya sırrı komut satırı argümanı olarak iletmek temelde güvensiz olsa da, diğer cevaplar basit güvenlik kaygılarını azaltmanın yollarını sunar.
sha1pass mysecret
çalıştığını görebilir ve dolayısıyla nemysecret
olduğunu bilir . (Bu program elbette çalışırken elbette sadece birkaç saniye çalışır ... elbette ...)