Neden biri komut satırında parola kullanmamalı?


33

İnsanlar neden komut satırına şifre yazmaktan korkuyor?

Geçmiş dosyası içinde bulunur ~/.history, bu nedenle yalnızca komutları (ve kökü) uygulayan kullanıcılar tarafından kullanılabilir.


2
Geçmiş dosyanızda bazı komutları kaydetmekten kaçınabilirsiniz. Tarihte emri tutmaktan kaçınmak
— Luc M

5
Yuk! Eğer şifrenizi tanımlamak bile export mypass=secretve kullanmak a_command --password=$mypassgörürsünüz secretde psmasaya.
— Luc M,

Yanıtlar:


51

Komut satırları sadece tarihte mevcut değildir. Bunlar ayrıca örneğin dosya sisteminin çıktısında ps -ocmdveya bu /procsistemde bulunur. ( /proc/<pid>/cmdline) psonları okuduğu yer.

Ayrıca, kullanıcıların ana dizinleri genellikle dünya veya grup tarafından okunabilirdir; tarihçe dosyasını yalnızca kullanıcı tarafından okunabilir hale getirebilir, ancak silme ve yeniden oluşturmaya devam edemez.


17

Komut satırındaki şifreler, başından beri kötü bir fikirdir. Diğer cevaplarda tartışılan yöntemlere ek olarak:

  • / proc
  • işlem listesi (ps )
  • kullanıcının geçmiş dosyası

Kullanıcı komutları aşağıdaki konumlarda da görünebilir:

  • denetim günlükleri
  • / Var / log / *

Ek olarak, kullanıcıların komutları, kullanıcılar sistemler arasında oturum açtığında da görünebilir, bu nedenle genel olarak kötü bir uygulamadır ve her zaman kaçınılması gerekir.


3
/ Var / log başvurusu için +1 - önemli sistem günlüklerinin sıklıkla başka yerlere gönderilebileceğini ve mutlaka aynı sistemde kalmayacağını unutmayın. Böylece şifreleriniz istemeden de olsa ağ üzerinden açık metin biçiminde iletilebilir.
— Mark Glossop

11

Sorun, komut çalışırken parametrelerin görünürlüğüdür (çoğu durumda diğer kullanıcılar için, hatta root için). Çıktısını görmek

ps -eo pid,user,args
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.