BLOQUE IV - LINUX Flashcards

1
Q

¿Qué es Linux?

A

Linux es el nombre que reciben una serie de sistemas operativos de tipo Unix
Es:
* multiusuario
* multitarea
* multiplataforma

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Nombra distintas familias de UNIX

A
  • SCO
  • HP - UX
  • IBM AIX
  • BSD (Free BSD / MacOSX)
  • LINUX (Debian / Redhat)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué herramientas se usan para gestionar paquetes .deb en Debian?

A
  • dpkg -i fichero.deb → instala un paquete .deb local
  • /etc/apt/sources.list → contiene los repositorios
  • apt-get → comandos: install, update, remove, clean
  • apt-cache search → busca paquetes

Otras herramientas: Aptitude, Dselect, Synaptic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Nombra distintas distribuciones de LINUX

A
  • Debian .deb: Ubuntu / Mint
  • Red Hat .rpm: Fedora / CentOS / Mandriva
  • Suse
  • Slackware
  • Gentoo
  • PuppyLinux
  • ArchLinux: PacMan
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué herramientas se usan para gestionar paquetes .rpm en sistemas RedHat?

A
  • RPM
  • rpm -Uvh fichero.rpm → instala o actualiza un paquete .rpm

YUM
* yum → gestor de paquetes más avanzado (basado en rpm)
* Usa repositorios definidos en /etc/yum.repos.d/ Ejemplo: yum install paquete

DNF → sucesor moderno de yum en Fedora y derivados
sudo dnf check-update → busca actualizaciones
sudo dnf install code → instala el paquete code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué tiene que controlar un sistema operativo?

A

Proporciona una capa software de menor complejidad para que los usuario y aplicaciones de usario se desarrolle de manera sencilla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Por qué esta formado un SO?

SO: Sistema Operativo

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es un tty1?

A

tty1 es una de las terminales virtuales que proporciona el sistema operativo (especialmente en sistemas tipo Unix como Linux).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué es un SHELL en LINUX?

A

Un intérprete de comandos

EN windows sería CMD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Administración del sistema: ¿Qué diferencias hay entre los directorios /dev, /root, /bin y /etc en Linux?

A
  • /dev: archivos especiales que representan dispositivos del sistema\n- /root: carpeta personal del usuario root\n- /bin: comandos esenciales disponibles para todos los usuarios\n- /etc: archivos de configuración del sistema y servicios
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué es BASH en LINUX?

A

Un shell

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué es SCRIPT en Linux?

A

Es un archivo de texto que contiene una serie de comandos que el sistema puede ejecutar de forma secuencial.

  • Están escritos en Bash (pero también pueden usar otros intérpretes como Python, Perl, etc.).
  • Tienen extensión .sh (aunque no es obligatoria).

🔹 Ejemplo de script básico *(mi_script.sh)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Quién es admin-backup en Linux? (USUARIOS Y ROLES)

A

No es un usuario especial del sistema por defecto.
Es un nombre de usuario o grupo personalizado**, que suele usarse en empresas o scripts para identificar cuentas responsables de realizar copias de seguridad.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Configuración Global
¿Qué ficheros va a ejecutar cualquier usuario que haga log in?

A
  • /etc/.profile
  • /etc/bash.bashrc
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cual es el directorio de trabajo de cada usuario individual?

A

Es el $HOME

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Configuración en cada usuario (o cada $HOME)
¿Qué ficheros va a ejecutar un usuario específico que haga log in?

A
  • ~/.profile
  • ~/.bashrc
17
Q

¿Qué diferencia hay entre /root y /home

A
  • /root es para el usuario raíz, root, o más importante
  • /home es para el resto de usuarios (que pueden pertenecer a grupos)
18
Q

¿Qué son los permisos en UNIX? ¿Qué tipo de usuario hay? Y, ¿qué tipo de permiso?

A

En Unix/Linux, los permisos controlan quién puede hacer qué con un archivo o directorio.

🔹 Cada archivo/directorio tiene permisos para 3 usuarios:

Usuario (owner) → el dueño del archivo.

Grupo (group) → usuarios del mismo grupo.

Otros (others) → el resto de usuarios.

🔹 Tipos de permisos:

r (read) → leer el contenido.

w (write) → modificar o borrar.

x (execute) → ejecutar (si es archivo) o acceder (si es directorio).

con CHMOD (ejemplo “chmod g+w) se modifican los permisos

19
Q

¿Cuál es el valor en OCTAL de R - W - X?

A
  • R = Reading (4)
  • W = Writing (2)
  • X = eXecution (1)

***COMO EN LOS BITS EN SUBNETTING

20
Q

¿Con qué comandos se pueden cambiar los permisos?

A
  • VER= ls -l
  • CAMBIAR= chmod // chown // chgrp
21
Q

Comandos para FICHEROS

A
  • rsync= Copia remota de ficheros (sincronizar ficheros entre 2 máquinas)
  • mkdir= Crear un directorio (-p con los directorios necesarios o intermedios)
  • rmdir= Eliminar un directorio (-r de ahí para abajo)
  • chown= Change Owner. Cambia el propietario
  • chgrp=Change group. Cambie el grupo
  • chmod= Change mode bits. Cambia los bits de permisos
22
Q

¿Qué es una variable en Linux?

A

Es un nombre que almacena un valor. Sirve para guardar datos que luego se pueden usar o modificar fácilmente.

23
Q

¿Cómo se definen y utilizan las variables en un script de Bash?
Explica….
* #!/bin/bash
* NOMBRE=valor
* $NOMBRE
* export NOMBRE
* VAR=$(comando)

A

#!/bin/bash
No es una variable, pero indica el intérprete o programa con el que se debe ejecutar el script. En este caso bash.
.
.
.
Define que el script usará Bash.
- NOMBRE=valor: Declaras/creas la variable
- $NOMBRE: Accedes a su valor con ese nombre
- export NOMBRE: Haces que esté disponible para otros procesos heredados.
- VAR=$(comando): Puedes asignar a la variable el resultado de un comando.

24
Q

¿Qué tipos de variables $ existen?

A

$ indica al sistema que debe acceder al valor de una variable, ejecutar un comando o obtener un valor especial

Por ejemplo:
* $0 Es el nombre del comando ejecutado
* $1 Primer argumento, $2 el segundo… $(asterisco) todos los argumentos
* $# Número de argumentos
* $$ PID
* $? Resultado de la ejecución anterior
* !! Último comando ejecutado (muy útil para sudo)

si usamos $ antes de una variable, nos mostrará su contenido

25
¿Qué es un **"nivel de shell"**?
Son **instancias o procesos de shell** que se ejecutan dentro de otro shell. Cada nivel tiene su propio espacio de variables y entorno. * El **primer nivel de shell** es el que inicias al **abrir la terminal**. * Un **subshell** es un nuevo shell que se ejecuta dentro del shell original, y puede ejecutar comandos **sin afectar al shell principal.** **¿Para qué se usan?** * Aislar procesos. * Crear entornos personalizados sin modificar el shell principal.
26
¿Qué es el **sistema de ficheros** en LINUX?
Es la **estructura jerárquica** que usa Linux para organizar archivos y directorios, comenzando desde **/**.
27
¿Qué es **i-node**?
Es la unidad **más básica** creada que contiene **metadatos** de un archivo (tamaño, permisos, fechas), pero **NO contiene su NOMBRE**.
28
¿Qué información contiene el **i-node**?
* **nº de i-node**: Es el identificador único del archivo dentro del sistema de ficheros. * **tamaño**: El tamaño del archivo en bytes. * **dueño (UID)**: El ID del usuario propietario del archivo. * **grupo (GID)**: El ID del grupo al que pertenece el archivo. * **[a, m, c] time:** (o comando **stat**) a (access): Última vez que se accedió al archivo. m (modify): Última vez que se modificó el **contenido**. c (change): Última vez que cambió el i-node (permisos, propietario, etc.). * **tipo de fichero**: Si es un archivo normal, directorio, enlace simbólico, etc. * **permisos**: Quién puede leer, escribir o ejecutar el archivo. * **nº de hard links**: Número de enlaces físicos que apuntan a ese i-node
29
¿Para qué sirven las **ACL** en Linux? ¿Por qué aparece un **+** en los permisos?
**Para definir permisos personalizados** para distintos **usuarios y grupos** sobre un mismo archivo o directorio. *-rw-r--r--**+** 1 usuario grupo 1234 abr 11 10:00 archivo.txt* **→ Ese +** indica que hay permisos adicionales definidos con ACL **que no se ven en** los **10 caracteres clásicos** de rwxr-xr--.
30
¿Para qué sirve un **stickyBit**? ¿Qué tiene que ver con el directorio **tmp**?
→ Sirve para **proteger los archivos** dentro de un directorio **compartido**: solo el **propietario del archivo** o el usuario **/root** puede borrarlos o renombrarlos, aunque otros tengan permisos de escritura en el directorio. → El **directorio /tmp** tiene el **sticky bit activado** porque es un espacio donde todos los usuarios pueden escribir, pero **NO PUEDEN borrar** archivos de otros. | para activarlo **chmod + t**
31
# - ¿Para qué sirve un **setUID**? (Bit **x** → **s**)
Un programa siempre se ejecutacon una **cuenta de usuario** → Para ello **setUID** hace que un archivo (normalmente un ejecutable) se **ejecute con los privilegios del propietario**, en lugar de los del usuario que lo ejecuta. -rw**s**r-xr-x ¿**Cómo se actva**? * usuario= **u+s** * grupo= **g+s** | aparecera un **bit "s"** para dejar claro que está activo
32
¿Qué significa una S mayúscula en los permisos en Linux? (PERMISOS ESPECIALES)
rw**s**r-xr-x → **s minúscula:** el archivo tiene ejecución y setuid activado → ✅ correcto. rw**S**r--r-- → **S mayúscula**: tiene setuid pero **no permiso de ejecución** → ⚠️ probablemente un error o sin efecto.
33
¿Cuales son los **codigos** de los permisos especiales? ¿Cómo se activarían con **valores octales**?
Códigos de los permisos especiales (primer dígito): * **1** sticky bit * **2** setgid * **4** setuid Por eso cuando tenemos una serie de permisos (porejemplo **711**) * **sticky bit** está activo en cmhod **1**711 * **setgid** está activo en cmhod **2**711 * **setuid** está activo en cmhod **4**711 Se pueden acticvar de manera conjunta **6711** es porque se activa setuid**(4)** + setguid**(2)**
34
¿Qué es un **hard-link** para **ficheros**? (**ln**)
Enlace duro (hard link): ***ln** archivo1 archivo2* = crea un enlace duro llamado archivo2 que apunta a archivo1. Un enlace duro hace que ambos archivos **(original y enlace) sean idénticos**. No se puede distinguir cuál es el original, porque ambos tienen **el mismo número de i-node.** Ventaja: Si **borras uno (cualquiera)** de los archivos, el otro sigue existiendo.
35
¿Qué es un **soft-link** para **directorios**? (**ln -s**)
* Enlace simbólico (soft link): **ln -s** archivo1 archivo2 crea un enlace simbólico llamado archivo2 que apunta a archivo1. * Un enlace simbólico es más parecido a un **acceso directo en Windows**, y puede apuntar a directorios o archivos que no existen.
36
**Redireccionamiento**: ¿Para qué se usa el operador **"|" (pipe)** en Linux?
Para enviar la salida de un comando como entrada de otro EJEMPLO: cat archivo.txt | grep "error" * **cat** muestra el contenido del archivo * **grep** filtra solo las líneas que contienen "error"
37
¿Qué diferencia hay entre **apt update** y **apt upgrade** en Linux?","
- `apt update`: actualiza la lista de paquetes disponibles desde los repositorios.\n- - `apt upgrade`: **instala** las versiones más recientes de los paquetes ya instalados."