Gli altri utenti possono visualizzare gli argomenti passati a un comando?


21

Se invoco un comando con argomenti del genere:

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

... altri utenti possono visualizzare gli argomenti passati al comando?


Una semplice risposta "sì" "no" a questa domanda contraddirebbe il contenuto e il titolo: P
kizzx2,

@ kizzx2: risolto.
bahamat,

Risposte:


13

In generale sì, possono vederlo. Questo è dalla wpagina man:

Vengono visualizzate le seguenti voci per ciascun utente: nome di accesso, nome tty, host remoto, tempo di accesso, tempo di inattività, JCPU, PCPU e riga di comando del processo corrente.

Verrà visualizzata la riga di comando completa del processo attualmente in esecuzione. Ecco perché non vuoi fornire cose come le password attraverso argomenti da riga di comando.


Non c'è modo di disabilitarlo?
Nathan Osman,

3
@George C'è, perché rdesktop lo fa in qualche modo (l'argomento password si trasforma in XXXXXXXX); Mi piacerebbe sapere come. Potrebbe fare qualcosa di stupido come solo il forking stesso e il passare una discussione falsa; Non ne sono sicuro
Michael Mrozek

13
Su Linux, un processo può sovrascrivere l'array di argomenti passato ad esso. Questo è il riflesso nella struttura del processo visibile da altri utenti. Tuttavia, c'è sempre un momento in cui sono esposti e possono essere vulnerabili alle condizioni di gara e agli attacchi dei tempi.
Mattdm,

15

In generale, gli argomenti della riga di comando sono visibili a tutti. Ad esempio, come utente non root su OpenBSD, posso vedere gli argomenti dei processi in esecuzione come root:

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

Su Linux, noterai che tutti i /proc/*/cmdlinefile sono leggibili in tutto il mondo.

Potrebbero esserci impostazioni altamente specifiche in cui gli argomenti della riga di comando rimangono privati. Ad esempio, SELinux e Solaris possono nascondere del tutto i processi ad altri utenti . Ma a meno che tu non sappia assolutamente che ti trovi in ​​una tale impostazione, supponi che gli argomenti della riga di comando siano pubblici.


8

Nelle configurazioni standard gli argomenti sono visibili. Come già accennato , i processi possono sovrascriverli in memoria ma non prima che altri processi abbiano avuto la possibilità di vederli.

Tuttavia, il patchset di grsecurity include una patch che la modifica in modo che solo il proprietario del processo (e il root) possano vedere gli argomenti passati a un processo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.