= Special Shell Variables & Parameter Substitution and Expansion
{{tag>linux}}{{tag>bash}}
**$** es utilizado para expansión de parámetros y sustitución de comandos... wiki.bash-hackers.org/scripting/posparams]]
== Parameter substitution and Expansion
^ expresión ... | valor de variable, lo mismo que $variable |
| ${parametro-valorPorDefecto} | si el parámetro no está
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
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
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 ''!''
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
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 c... ** es el nombre que le asignamos
* **nopass** para que no nos solicite la contraseña al arrancar (op
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
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
head -c ${l} | xargs`
}
# comprobar que pasa el parametro del nombre
if [ $# -ne 1 ]; then
echo "U... o
# -m (opcion que existia y he quitado)
# -M para que no intente crear el directorio HOME
useradd -... head -c ${l} | xargs`
}
# comprobar que pasa el parametro del nombre
if [ $# -ne 1 ]; then
echo "U... o
# -m (opcion que existia y he quitado)
# -M para que no intente crear el directorio HOME
useradd -
ma que usa archivos de configuración individuales para cada servicio
== comandos
* [[linux:systemd:sy... * las unidades de tipo servicio (service) se usan para gestionar los demonios del sistema
* las uni... estino? (target) permiten agrupar varias unidades para poder inicializarlas a la vez
* //network.target// agrupa todas las unidades necesarias para iniciar las interfaces de red del sistema.
* d