8.1 KiB
Variables de entorno de Linux
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Consigue el swag oficial de PEASS y HackTricks
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Variables globales
Las variables globales serán heredadas por los procesos hijos.
Puedes crear una variable global para tu sesión actual haciendo:
export MYGLOBAL="hello world"
echo $MYGLOBAL #Prints: hello world
Esta variable será accesible por las sesiones actuales y sus procesos hijos.
Puedes eliminar una variable haciendo:
unset MYGLOBAL
Variables locales
Las variables locales solo pueden ser accedidas por la shell/script actual.
LOCAL="my local"
echo $LOCAL
unset LOCAL
Listar las variables actuales
set
env
printenv
cat /proc/$$/environ
cat /proc/`python -c "import os; print(os.getppid())"`/environ
Variables de entorno persistentes
Archivos que afectan el comportamiento de todos los usuarios:
- /etc/bash.bashrc: Este archivo se lee cada vez que se inicia una shell interactiva (terminal normal) y todos los comandos especificados aquí se ejecutan.
- /etc/profile y /etc/profile.d/*: Este archivo se lee cada vez que un usuario inicia sesión. Por lo tanto, todos los comandos ejecutados aquí se ejecutarán solo una vez en el momento del inicio de sesión del usuario.
-
**Ejemplo: **
/etc/profile.d/somescript.sh
#!/bin/bash TEST=$(cat /var/somefile) export $TEST
-
Archivos que afectan el comportamiento de un usuario específico:
- ~/.bashrc: Este archivo funciona de la misma manera que el archivo /etc/bash.bashrc, pero se ejecuta solo para un usuario específico. Si desea crear un entorno para usted, modifique o cree este archivo en su directorio de inicio.
- ~/.profile, ~/.bash_profile, ~/.bash_login: Estos archivos son iguales a /etc/profile. La diferencia radica en la forma en que se ejecuta. Este archivo se ejecuta solo cuando un usuario en cuyo directorio de inicio existe este archivo inicia sesión.
Variables comunes
De: https://geek-university.com/linux/common-environment-variables/
- DISPLAY – la pantalla utilizada por X. Esta variable suele establecerse en :0.0, lo que significa la primera pantalla en la computadora actual.
- EDITOR – el editor de texto preferido del usuario.
- HISTFILESIZE – el número máximo de líneas contenidas en el archivo de historial.
- **HISTSIZE - **Número de líneas agregadas al archivo de historial cuando el usuario finaliza su sesión.
- HOME – su directorio de inicio.
- HOSTNAME – el nombre de host de la computadora.
- LANG – su idioma actual.
- MAIL – la ubicación del buzón de correo del usuario. Por lo general, /var/spool/mail/USER.
- MANPATH – la lista de directorios para buscar páginas del manual.
- OSTYPE – el tipo de sistema operativo.
- PS1 – el indicador predeterminado en bash.
- **PATH - **almacena la ruta de todos los directorios que contienen archivos binarios que desea ejecutar solo especificando el nombre del archivo y no por ruta relativa o absoluta.
- PWD – el directorio de trabajo actual.
- SHELL – la ruta a la shell de comando actual (por ejemplo, /bin/bash).
- TERM – el tipo de terminal actual (por ejemplo, xterm).
- TZ – su zona horaria.
- USER – su nombre de usuario actual.
Variables interesantes para hacking
HISTFILESIZE
Cambie el valor de esta variable a 0, para que cuando finalice su sesión, el archivo de historial (~/.bash_history) se elimine.
export HISTFILESIZE=0
HISTSIZE
Cambia el valor de esta variable a 0, de esta manera cuando finalices tu sesión cualquier comando no será añadido al archivo de historial (~/.bash_history).
export HISTSIZE=0
http_proxy & https_proxy
Los procesos utilizarán el proxy declarado aquí para conectarse a internet a través de http o https.
export http_proxy="http://10.10.10.10:8080"
export https_proxy="http://10.10.10.10:8080"
SSL_CERT_FILE & SSL_CERT_DIR
Los procesos confiarán en los certificados indicados en estas variables de entorno.
export SSL_CERT_FILE=/path/to/ca-bundle.pem
export SSL_CERT_DIR=/path/to/ca-certificates
PS1
Cambia cómo se ve tu prompt.
He creado este (basado en otro, lee el código).
Root:
Usuario regular:
Uno, dos y tres trabajos en segundo plano:
Un trabajo en segundo plano, uno detenido y el último comando no finalizó correctamente:
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el swag oficial de PEASS y HackTricks
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.