Se invoco un comando con argomenti del genere:
bob@bob-pc:~$ command -arg1 -arg2
... altri utenti possono visualizzare gli argomenti passati al comando?
Se invoco un comando con argomenti del genere:
bob@bob-pc:~$ command -arg1 -arg2
... altri utenti possono visualizzare gli argomenti passati al comando?
Risposte:
In generale sì, possono vederlo. Questo è dalla w
pagina 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.
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
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/*/cmdline
file 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.
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.