= Special Shell Variables & Parameter Substitution and Expansion
{{tag>linux}}{{tag>bash}}
**$** es utilizado para expansión de parámetros y sustitución de comandos... bién: [[http://wiki.bash-hackers.org/scripting/posparams]]
== Parameter substitution and Expansion
^ expresión ^ Significado ^
| ${var
acenamiento de un fichero de historial permanente para root. También establece un símbolo del sistema po... e propósito único en el directorio /etc/profile.d para proporcionar una mayor inicialización.
<code bash># Inicio de /etc/profile
# Escrito para Más Allá de Linux From Scratch
# por James Robert... nciones deberían estar en
# ~/.bashrc.
# Función para ayudarnos a manejar rutas. El segundo argumento e
de>
- Añadir nuestro usuario al grupo de DOCKER para poder trabajar sin SUDO:<code bash>$ sudo usermod... a -G docker $USER</code>
- Refrescamos el grupo para poder trabajar sin cerrar sesión (este comando ha... ps://www.docker.com/]] un repositorio de imágenes para descargar, tanto oficiales de distros como de usuarios.
* para buscar imágenes disponibles en contenedores:<code
max-depth=x : cuanto de profundo baja en el árbol para mostrar información detallada
* --one-file-sy... own -v <resto de comando>''
* ''dd'' -> comando para flujos de datos
* ''sudo dd if=/dev/disk2s1 o... <-s size> | sudo dd of=...'' -> usar utilidad PV para progreso (y si le pasas el "size", hace cálculo d... ando (ls, por ejemplo)
* ''shopt -s extglob'' para que funcione, si no intantará expandir el ''!''
en los casos que esté activado el sistema shadow para proteger las contraseñas.
* termcap : lista de ... /etc/apt/
* sources.list: lista de repositorios para usar con apt-get
=== /etc/ssh/
* ssh_config: configurar diferentes opciones para diferentes hosts
== /~/
(directorio HOME del usu... l hacer login. Este suele ser el fichero habitual para el login
* .bash_login : se ejecuta en el login
monte
- editar fichero **vars** (vars.example) para adecuar los valores (y hacer ''source vars'')
-... podremos firmar los //requests// de certificados para servidor y cliente
== Deffie-Hellman
usado para el intercambio de llaves y firma HMAC, añadiendo una capara se seguridad adicional
- ''./easyrsa gen-dh''
tag>linux}}
[[linux:mount:smb]]
== varios FS
* para discos Lacie en red: <code bash>mount -t nfs <ip>... blic /punto/montaje -O userame=usuario</code>
* para carpetas webdav: <code bash>mount -t davfs http://<url>/webdav /punto/montaje</code>
* para disco RAM: <code bash>mount -t tmpfs tmpfs /punto... rectorio. Los ficheros son los mismos.
* útil para dar acceso fuera del árbol en conexiones con **ch
/code>
== configuración servidor
copiar ficheros para facilitar la generación de claves y certificados:... sh>./build-dh</code>
creamos la pareja de claves para el servidor:
<code bash>./build-key-server <servi... ión
copiamos un fichero de configuración //base// para la parte servidor:
<code bash>zcat /usr/share/doc... mos las claves **ca**, **cert**, **key** y **dh** para las generadas (en ''/etc/openvpn/keys'')
=== arr
* $1,$3,$7: campo 1, 3 y 7 respectivamente (separados por espacio por defecto)
* $NF: último cam... * $0 : la línea entera
* cambiar carácter separador: **OFS="<char>"**
* ''BEGIN'' y ''END'' se e... xto, en su propio ámbito **{ }**
* **-F'<char_separador>'**: parámetro (previo a sección de procesado) para indicar el caracter separador de campos
* patro
llout>
<callout type="warning" icon="true" title="Parameter expansion">[[http://wiki.bash-hackers.org/sy... allout type="info" icon="true" title="Guía rápida para principiantes">[[http://es.tldp.org/COMO-INSFLUG/... ata |
| CTRL + L | limpia pantalla |
| CTRL + S | para salida por pantalla |
| CTRL + Q | permitir salid... en el historial de comandos. Lista de patrones separados por coma
* ''HISTTIMEFORMAT'': ''HISTTIMEFOR
img log-file</code>
* **log-file** importante para poder parar y continuar el trabajo
* ddrescueview (GUI para ver progreso):
{{ :linux:filesystem:pasted:2021020... n-file-made-with-dd-or-dd_rescue-in-linux/]]
* para montar:<code bash>sudo losetup -P /dev/loop0 imag
ce encrypted data channel as well>
==== TLS ====
para activar TLS, hay que:
* tener instalado el paqu... tc/pure-ftpd/conf/TLS''
* reiniciar el servidor para que se apliquen los cambios:''/etc/init.d/pure-ft... x
* PureDB
* BBDD externas (MySQL, Posgress)
para activar un método de autentificación, hay que cre... uth'' hacía los ficheros de configuración (ya sea para indicar su estado, como en los casos de PAM y Uni
aka mate
# recopila información del sistema.
separador()
{
# función encargada de imprimir el separador entre secciones
echo '*******************... cho ''
fi
}
ejecutaComando()
{
separador "$1"
separador
$2
separador
}
clear
separador "Informe Linux ($LOGNAME)"
se
x : establece el periodo de tiempo que deja pasar para escanear un dispositovo para evitar ser detectado y que el firewall nos mande información falsa. De más espaciado a menos:
* T0: paranoid
* T1: sneaky
* T2: polite
* T3: n... esive
* T5: insane
== scripts
Uso de scripts para escaneos varios:
* Auth
* la herramienta de
TOC~~
== información usuario
* ''id <user>'' -> para saber datos y grupos del usuario
* ''whoami'' -... "jordi:1234" | chpasswd'' (se puede añadir ''-m'' para que guarde la contraseña en formato MD5 en lugar ... omo principal el <grupo> de manera temporal, útil para no reinicar sesión y aplicar la pertenencia (segú... H</callout>
* modificaciones en **/etc/passwd** para evitar login
* **/sbin/nologin**, **/usr/sbin