Si invoco un comando con argumentos como este:
bob@bob-pc:~$ command -arg1 -arg2
... ¿pueden otros usuarios ver los argumentos pasados al comando?
command-line
security
process
Nathan Osman
fuente
fuente
Respuestas:
En general sí, pueden verlo. Esto es de la
w
página del manual:Se mostrará la línea de comando completa de su proceso actualmente en ejecución. Es por eso que no desea proporcionar cosas como contraseñas a través de argumentos de línea de comandos.
fuente
XXXXXXXX
); Me encantaría saber cómo. Podría hacer algo cojo como simplemente bifurcarse y pasar un argumento falso; No estoy seguroEn general, los argumentos de la línea de comandos son visibles para todos. Por ejemplo, como usuario no root en OpenBSD, puedo ver argumentos de procesos que se ejecutan como root:
En Linux, notará que todos los
/proc/*/cmdline
archivos son legibles en todo el mundo.Puede haber configuraciones muy específicas en las que los argumentos de la línea de comandos permanecen privados. Por ejemplo, SELinux y Solaris pueden ocultar procesos de otros usuarios . Pero a menos que sepa absolutamente que está en ese entorno, suponga que los argumentos de la línea de comandos son públicos.
fuente
En configuraciones estándar, los argumentos son visibles. Como ya se mencionó , los procesos pueden sobrescribirlos en la memoria, pero no antes de que otros procesos hayan tenido la oportunidad de verlos.
Sin embargo, el parche de grsecurity incluye un parche que lo cambia para que solo el propietario del proceso (y la raíz) pueda ver los argumentos pasados a un proceso.
fuente