Bisakah pengguna lain melihat argumen yang diteruskan ke perintah?


21

Jika saya menjalankan perintah dengan argumen seperti ini:

bob@bob-pc:~$ command -arg1 -arg2

... dapatkah pengguna lain melihat argumen yang diteruskan ke perintah?


Jawaban "ya" "tidak" yang sederhana untuk pertanyaan ini akan bertentangan dengan konten dan judul: P
kizzx2

@ kizzx2: Diperbaiki.
bahamat

Jawaban:


13

Secara umum ya, mereka bisa melihatnya. Ini dari whalaman manual:

Entri berikut ditampilkan untuk setiap pengguna: nama login, nama tty, host jarak jauh, waktu login, waktu idle, JCPU, PCPU, dan baris perintah dari proses mereka saat ini.

Baris perintah lengkap dari proses Anda yang sedang berjalan akan ditampilkan. Itu sebabnya Anda tidak ingin menyediakan hal-hal seperti kata sandi melalui argumen baris perintah.


Tidak ada cara untuk menonaktifkannya?
Nathan Osman

3
@ George Ada, karena rdesktop melakukannya entah bagaimana (argumen kata sandi berubah menjadi XXXXXXXX); Saya ingin tahu caranya. Mungkin melakukan sesuatu yang lumpuh seperti hanya mengayunkan dirinya sendiri dan mengeluarkan argumen palsu; Saya tidak yakin
Michael Mrozek

13
Di Linux, suatu proses dapat menimpa array argumen yang diteruskan ke sana. Ini tercermin dalam pohon proses yang terlihat oleh pengguna lain. Namun, masih ada waktu ketika mereka terpapar, dan mungkin rentan terhadap kondisi balapan dan serangan waktu.
mattdm

15

Secara umum, argumen baris perintah dapat dilihat oleh semua. Sebagai contoh, sebagai pengguna non-root di OpenBSD, saya bisa melihat argumen proses yang berjalan sebagai root:

$ ps -U root -o command= |grep getty |head -n 1
/usr/libexec/getty std.9600 ttyC0

Di Linux, Anda akan melihat bahwa semua /proc/*/cmdlinefile dapat dibaca dunia.

Mungkin ada pengaturan yang sangat spesifik di mana argumen baris perintah tetap pribadi. Misalnya, SELinux dan Solaris dapat menyembunyikan proses dari pengguna lain . Tapi kecuali Anda benar-benar tahu Anda berada dalam pengaturan seperti itu, anggap argumen baris perintah bersifat publik.


8

Pada pengaturan standar argumen terlihat. Seperti yang telah disebutkan , proses dapat menimpanya dalam memori tetapi tidak sebelum proses lain memiliki kesempatan untuk melihatnya.

Namun, patchset grsecurity menyertakan patch yang mengubahnya sehingga hanya pemilik proses (dan root) yang dapat melihat argumen yang diteruskan ke suatu proses.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.