Jeśli wywołam polecenie z takimi argumentami:
bob@bob-pc:~$ command -arg1 -arg2
... czy inni użytkownicy mogą przeglądać argumenty przekazane do polecenia?
command-line
security
process
Nathan Osman
źródło
źródło
Odpowiedzi:
Ogólnie tak, mogą to zobaczyć. To jest ze strony
w
man:Wyświetlony zostanie pełny wiersz komend aktualnie uruchomionego procesu. Dlatego nie chcesz podawać takich haseł jak argumenty w wierszu poleceń.
źródło
XXXXXXXX
); Chciałbym wiedzieć jak. Może zrobić coś kiepskiego, jak po prostu rozwidlenie się i przekazanie fałszywego argumentu; Nie jestem pewienOgólnie argumenty wiersza poleceń są widoczne dla wszystkich. Na przykład, jako użytkownik inny niż root w OpenBSD, widzę argumenty procesów działających jako root:
W systemie Linux zauważysz, że wszystkie
/proc/*/cmdline
pliki są czytelne na całym świecie.Mogą istnieć bardzo specyficzne ustawienia, w których argumenty wiersza poleceń pozostają prywatne. Na przykład SELinux i Solaris mogą całkowicie ukryć procesy przed innymi użytkownikami . Ale jeśli absolutnie nie wiesz, że jesteś w takim otoczeniu, załóż, że argumenty wiersza poleceń są publiczne.
źródło
W standardowych konfiguracjach argumenty są widoczne. Jak już wspomniano , procesy mogą nadpisać je w pamięci, ale zanim inne procesy będą miały okazję je zobaczyć.
Jednak zestaw poprawek grsecurity zawiera łatkę, która go zmienia, dzięki czemu tylko właściciel procesu (i root) może zobaczyć argumenty przekazane do procesu.
źródło