Mengapa seseorang tidak boleh menggunakan kata sandi di baris perintah?

33

Mengapa orang takut menulis kata sandi di baris perintah?

File histori terletak di ~/.history, jadi hanya tersedia untuk pengguna yang menjalankan perintah (dan root).

Dor
sumber
2
Anda dapat menghindari untuk mencatat beberapa perintah di file riwayat Anda. Lihat jawaban di Hindari untuk menjaga perintah dalam sejarah
Luc M
5
Yuk! Bahkan jika Anda menentukan kata sandi dengan export mypass=secretdan menggunakan a_command --password=$mypass, Anda akan melihat secretdalam pstabel.
Luc M

Jawaban:

51

Baris perintah tidak hanya tersedia dalam sejarah. Mereka juga tersedia, misalnya, dalam output ps -ocmdatau melalui sistem /procfile. ( /proc/<pid>/cmdline) yang merupakan tempat psmembacanya.

Juga, direktori home pengguna sering dibaca dunia atau kelompok; Anda dapat membuat file riwayat hanya dapat dibaca oleh pengguna, tetapi itu mungkin tidak akan bertahan dari penghapusan dan rekreasi.

Rici
sumber
17

Kata sandi pada baris perintah hanyalah ide yang buruk. Selain metode yang dibahas dalam jawaban lain:

  • / proc
  • daftar proses ( ps)
  • file riwayat pengguna

Perintah pengguna juga dapat muncul di lokasi ini:

  • log audit
  • / var / log / *

Selain itu, perintah pengguna juga dapat muncul saat pengguna masuk di antara sistem, jadi secara umum itu adalah praktik yang buruk dan harus dihindari setiap saat.

slm
sumber
3
+1 untuk referensi / var / log - perhatikan bahwa log sistem yang penting sering dapat dikirim ke tempat lain, dan tidak harus tetap pada sistem yang sama. Dengan demikian kata sandi Anda dapat secara tidak sengaja juga dikirimkan ke seluruh jaringan dalam bentuk teks-jelas.
Mark Glossop
11

Masalahnya adalah visibilitas parameter (untuk pengguna lain dalam banyak kasus, bahkan untuk root) saat perintah sedang berjalan. Lihat output dari

ps -eo pid,user,args
Hauke ​​Laging
sumber