Aşağıda bash'ta Linux'ta bir kullanıcı oluşturmak için attığım sürecin bir görüntüsü var.
Parolanın güvenlik nedeniyle gösterilmemesi gerektiğini anlıyorum, ancak demek istediğim, neden (veya girdiğim karakterler) görünmüyor?
Aşağıda bash'ta Linux'ta bir kullanıcı oluşturmak için attığım sürecin bir görüntüsü var.
Parolanın güvenlik nedeniyle gösterilmemesi gerektiğini anlıyorum, ancak demek istediğim, neden (veya girdiğim karakterler) görünmüyor?
Yanıtlar:
Çünkü biz * nix diyarında bir şeyler yapıyoruz. :) Bir grup yıldız göstermeyerek biraz ekstra güvenlik sağlar. Bu şekilde, ekranınızı gören biri şifrenizin uzunluğunu göremez.
Ancak, özellikle kötü bir klavyeniz varsa, bir şifre girerken herhangi bir geri bildirim almamak biraz korkutucu olduğunu itiraf etmeliyim. Bu nedenle, * nix sistemlerindeki çoğu GUI parola iletişim kutusu size bir tür geri bildirim verir; örneğin, yıldız işaretleri kullanma veya daha sık give. Bazıları yazdığınız her karakteri bile görüntüler, ancak hemen ardından a *
veya with ile değiştirin , ancak birileri omzunuzun üzerinden bakıyorsa bu o kadar iyi değildir. Veya bilgisayarınızdan monitörünüze gönderilen video sinyalini toplayıp kodunu çözebilecek bir cihazı varsa.
stty -echo
Kullanıcı girişini gizlemenin en basit yolu nedir?
Görüntülemiyor!
Şifreleri yazarken gizlemek eski bir gelenek. Çoğu bağlamda güvenlik açısından mantıklı: Birisi omuzlarınızı inceliyorsa, yazdıklarınızı görmeyi kolaylaştırmak istemezsiniz. (Bazı modern güvenlik kuralları, örneğin 1 2 3 4 5 , şifreyi görünür kılmak için bir seçeneğe sahip olmanızı önerir, çünkü bu, kullanıcının daha karmaşık şifreler seçebilmesine ve görünmeyen bir zamanı düzeltmek için zaman harcamayacaklarına güvenmesine izin verir.) yazım hataları. En büyük risk omuz sörfü değil, kaba kuvvet tahmini, muhtemelen çevrimdışı.)
Şifrenin gizlenmesi gerektiğine karar verdikten sonra, uygulayıcılar nasıl yapılacağına karar vermek zorunda kaldılar. Terminal, kullanıcı girişinin gösterileceği bir moda (eko açık) ve kullanıcı girişinin gösterilmediği bir moda (eko kapalı) sahiptir. Yankı kapalı modunun bir şekilde kendine özgü varoluşu vardır: bu, terminalin eko kullanıcı girişi ek işini yapmadığı moddur. Bu mod ayrıca, bir tuşa basmanın o karakteri eklemediği, bunun yerine o anahtara bağlı bazı uygulama kısayollarını çağırdığı uygulamalar için de bulunması gerekir. Öyleyse komutları passwd
sadece bir şifre okurken terminali yankı moduna ayarlayın.
Her karakter için yıldız işareti yazdırmak, yalnızca passwd
komutun uygulayıcılarının yapmak istemediği nispeten küçük bir fayda için ek uygulama çalışması gerektirecektir . Yıldız işaretleri yazdırmak için terminal modu yoktur, çünkü yalnızca parola girerken çok yararlı bir özellik olacaktır.
Bu arada, eğer şifrenizi değiştirirken şifrenizi görmek istiyorsanız, kullanabilirsiniz cat | passwd
(en azından bazı sistemlerde - bazı versiyonlar passwd
gibi bir seçenek gerektirir cat | passwd --stdin
ve bazıları bunu hiç kabul etmiyor). (Yapabilirsin { echo 'current password'; echo 'new password'; echo 'new password'; } | passwd
, ama yapma, şifreleri, daha fazla sızma riski olan kabuk geçmişinde saklar.) Ne olursa olsun, terminalden şifreyi okuyan komutlarla şifreyi düzenler. standart girdiler, örneğin sudo
veya ssh
daha karmaşıktır; eğer bir GUI'niz varsa, yazdığınız kaç karakteri gösteren ssh-askpass komutunu kullanabilirsiniz ( SUDO_ASKPASS=/usr/bin/ssh-askpass sudo -A
sudo için; bir terminalden çağırdığınızda karmaşıktır).
Şifrenin görünmez hale getirilmesi, şifrenin uzunluğu başkaları tarafından görülemediğinden, daha güvenli olmasını sağlar. Bu, başkalarının şifreyi uzunluğundan tahmin etmeye ve hesabınıza giriş yapma riskini ortadan kaldırır.