Dlaczego ktoś nie powinien używać haseł w wierszu poleceń?

33

Dlaczego ludzie boją się wpisywać hasła w wierszu poleceń?

Plik historii znajduje się w ~/.history, więc jest dostępny tylko dla użytkownika, który wykonał polecenia (i root).

Dor
źródło
2
Możesz uniknąć rejestrowania niektórych poleceń w pliku historii. Zobacz odpowiedzi w Unikaj, aby zachować dowodzenie w historii
Luc M
5
Fuj! Nawet jeśli zdefiniujesz hasło export mypass=secreti użyjesz a_command --password=$mypass, zobaczysz secretw pstabeli.
Luc M

Odpowiedzi:

51

Wiersze poleceń są nie tylko dostępne w historii. Są one również dostępne, na przykład, w danych wyjściowych ps -ocmdlub za pośrednictwem /procsystemu plików. ( /proc/<pid>/cmdline), gdzie psje czyta.

Ponadto katalogi domowe użytkowników są często czytelne na całym świecie lub w grupach; plik historii można uczynić tylko czytelnym dla użytkownika, ale może to nie przetrwać usunięcia i odtworzenia.

rici
źródło
17

Hasła w wierszu poleceń to po prostu zły pomysł. Oprócz metod omówionych w innych odpowiedziach:

  • / proc
  • lista procesów ( ps)
  • plik historii użytkownika

Polecenia użytkownika mogą również pojawiać się w tych lokalizacjach:

  • dzienniki kontroli
  • / var / log / *

Ponadto polecenia użytkownika mogą się również pojawiać, gdy użytkownicy logują się między systemami, więc ogólnie jest to zła praktyka i należy go zawsze unikać.

slm
źródło
3
+1 dla odwołania / var / log - pamiętaj, że często ważne dzienniki systemowe mogą być wysyłane gdzie indziej i niekoniecznie pozostają w tym samym systemie. W ten sposób twoje hasła mogą zostać przypadkowo przesłane przez sieć w postaci czystego tekstu.
Mark Glossop,
11

Problemem jest widoczność parametrów (w większości przypadków dla innych użytkowników, nawet dla użytkownika root) podczas działania polecenia. Zobacz dane wyjściowe

ps -eo pid,user,args
Hauke ​​Laging
źródło