Está en la página 1de 40

SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL

FORMACIÓN PROFESIONAL DUAL

CUADERNO DE INFORMES

CÓDIGO N° 89001677
DIRECCIÓN ZONAL

SEDE - CHIMBOTE

FORMACIÓN PROFESIONAL DUAL

CFP/UCP/ESCUELA: SENATI – SEDE CHIMBOTE

ESTUDIANTE: Alex Daniel Ortiz Gamez

ID: 001471622 BLOQUE: 202310-PIAD-215-TEC-NRC_23154

CARRERA: Ingeniería de Software con Inteligencia Artificial

INSTRUCTOR: Javier Utrilla Camones

SEMESTRE: II DEL: 22 DE MAYO DEL 2023 AL: 10 DE JUNIO DEL 2023


INSTRUCCIONES PARA EL USO DEL
CUADERNO DE INFORMES DE TRABAJO SEMANAL

1. PRESENTACIÓN.

El Cuaderno de Informes de trabajo semanal es un documento de control, en el cual el


estudiante, registra diariamente, durante la semana, las tareas, operaciones que ejecuta en
su formación práctica en SENATI y en la Empresa.

2. INSTRUCCIONES PARA EL USO DEL CUADERNO DE INFORMES.

2.1 En el cuadro de rotaciones, el estudiante, registrará el nombre de las áreas o secciones


por las cuales rota durante su formación práctica, precisando la fecha de inicio y término.
2.2 Con base al PEA proporcionado por el instructor, el estudiante transcribe el PEA en el
cuaderno de informes. El estudiante irá registrando y controlando su avance, marcando
en la columna que corresponda.
2.3 En la hoja de informe semanal, el estudiante registrará diariamente los trabajos que
ejecuta, indicando el tiempo correspondiente. El día de asistencia al centro para las
sesiones de tecnología, registrará los contenidos que desarrolla. Al término de la
semana totalizará las horas.
De las tareas ejecutadas durante la semana, el estudiante seleccionará la más
significativa y hará una descripción del proceso de ejecución con esquemas y dibujos
correspondientes que aclaren dicho proceso.
2.4 Semanalmente, el estudiante registrará su asistencia, en los casilleros correspondientes.
2.5 Semanalmente, el Monitor revisará, anotará las observaciones y recomendaciones que
considere; el Instructor revisará y calificará el Cuaderno de Informes haciendo las
observaciones y recomendaciones que considere convenientes, en los aspectos
relacionados a la elaboración de un Informe Técnico (términos técnicos, dibujo técnico,
descripción de la tarea y su procedimiento, normas técnicas, seguridad, etc.)
2.6 Si el PEA tiene menos operaciones (151) de las indicadas en el presente formato, puede
eliminar alguna página. Asimismo, para el informe de las semanas siguientes, debe
agregar las semanas que corresponda.
2.7 Escala de calificación:

CUANTITATIVA CUALITATIVA CONDICIÓN


16,8 – 20,0 Excelente
13,7 – 16,7 Bueno Aprobado
10,5 – 13,6 Aceptable
00 – 10,4 Deficiente Desaprobado
PLAN DE ROTACIONES

PERÍODO
ÁREA / SECCIÓN / EMPRESA SEMANAS
DESDE HASTA
SENATI 22/05/23 27/05/23

SENATI 29/05/23 03/06/23

SENATI 05/06/23 10/06/23


PLAN ESPECÍFICO DE APRENDIZAJE (PEA)
SEGUIMIENTO Y EVALUACIÓN
Llenar según avance

OPERACIONES OPERACIONES
OPERACIONES
Nº OPERACIONES/TAREAS EJECUTADAS* PARA
POR EJECUTAR
SEMINARIO
1 2 3 4

Acceder a la línea de comandos mediante la consola


01 1 0 0
local
Acceder a la línea de comandos mediante el
02 1 0 0
escritorio
03 Ejecución de comandos mediante Bash Shell 1 0 0

04 Usa la jerarquía del sistema de archivos de Linux 1 0 0

05 Localiza archivos por nombre 1 0 0

Administra archivos con herramientas de línea de


06 1 0 0
comandos
Busca coincidencia de nombres de archivo mediante
07 1 0 0
la expansión de nombre de ruta
08 Redirige la salida a un archivo o programa 1 0 0

09 Edita archivos de texto desde el indicador de Shell 1 0 0

10 Edita archivos de texto con un editor grafico 1 0 0

11 Usuarios y grupos 1 0 0

12 Obtener acceso de superusuario 1 0 0

13 Gestiona cuentas de usuarios locales 1 0 0

14 Gestiona cuentas de grupos locales 1 0 0

15 Gestiona contraseñas de usuario 1 0 0

16 Permisos del sistema de archivos de Linux 0 1 1

Administrar los permisos del sistema de archivos 0 1 1


17
desde CLI
Administrar permisos predeterminados y acceso a 0 1 1
18
archivos
19 Control de trabajos 0 1 1

20 Termina procesos 0 1 1

21 Monitorea la actividad del proceso 0 1 1

Identifica procesos del sistema iniciados 0 1 1


22
automáticamente
23 Controla servicios del sistema 0 1 1

24 Accede a la línea de comandos remota con SSH 0 1 1


25 Configura la autenticación basada en claves SSH 0 1 1

26 Personaliza la configuración del servicio SSH 0 1 1

27 Arquitectura de registros del sistema 0 1 1

28 Revisa archivos de registro del sistema 0 1 1

29 Revisa systemd Journal Entries 0 1 1

30 Conserva systemd Journal Entries 0 1 1

31 Mantiene el tiempo exacto 0 1 1

32 Valida la configuración de red 0 1 1

33 Configura redes con nmcli 0 1 1

34 Edita archivos de configuración de red 0 1 1

*Número de repeticiones realizadas.

OPERACIONES OPERACIONES
OPERACIONES
Nº OPERACIONES/TAREAS EJECUTADAS* PARA
POR EJECUTAR
1 2 3 4 SEMINARIO

35 Configura nombres de host y resolución de nombres 0 1 1

36 Gestiona archivos tar comprimidos 0 1 1

37 Copia archivos entre sistemas de forma segura 0 1 1

38 Sincroniza archivos entre sistemas de forma segura 0 1 1

Adjunta sistemas a suscripciones para


39 0 1 1
actualizaciones de software
40 Usa paquetes de software RPM y Yum 0 1 1

41 Administra actualizaciones de software con Yum 0 1 1

42 Habilita repositorios de software de Yum 0 1 1

43 Examina archivos del paquete RPM 0 1 1

44 Identifica dispositivos y sistemas de archivos 0 1 1

45 Montaje y desmontaje de sistemas de archivos 0 1 1

46 Establece vínculos entre archivos 0 1 1

47 Ubica archivos en el sistema 0 1 1

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
*Número de repeticiones realizadas.
OPERACIONES OPERACIONES
OPERACIONES
Nº OPERACIONES/TAREAS EJECUTADAS* PARA
POR EJECUTAR
1 2 3 4 SEMINARIO

74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
*Número de repeticiones realizadas.
OPERACIONES OPERACIONES
OPERACIONES
Nº OPERACIONES/TAREAS EJECUTADAS* PARA
POR EJECUTAR
1 2 3 4 SEMINARIO

113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
*Número de repeticiones realizadas.
INFORME SEMANAL

II SEMESTRE SEMANA N° 14 DEL 22 AL 27 DEL 2023

DÍA TRABAJOS EFECTUADOS HORAS

LUNES

4
Avance de la plataforma RED HAT
MARTES

MIÉRCOLES

3
Creación de carpetas en CMD
JUEVES

3
Ejercicios en CMD
VIERNES

3
Avance de la plataforma RED HAT
SÁBADO

TOTAL 13
Capítulo 1. Introducción a Red Hat Enterprise Linux
LINUX

Linux es código abierto, significa que puede ver todo el funcionamiento de un programa o
sistema, puede experimentar los cambios y compartirlos libremente para que otros lo usen.
Código abierto significa que las mejoras son más fáciles de realizar, lo que permite una
innovación más rápida.

¿QUÉ ES EL SOFTWARE DE CÓDIGO ABIERTO?

Es un software con código fuente que cualquiera puede usar, estudiar, modificar y compartir.

El código fuente es el conjunto de instrucciones legibles por humanos que se utilizan para hacer
un programa. Algunos programas utilizan código fuente “propietario” o de “fuente cerrada” que
solo la persona, el quipo o la organización que lo originó puede ver, modificar o distribuir

TIPOS DE LICENCIA DE CÓDIGO ABIERTO

Dos clases generales de licencia de código abierto son particularmente importantes:

• Copyleft. Las licencias están diseñadas para alentar a mantener el código abierto.
• Permisivo. Las licencias están diseñadas para maximizar la reutilización del código.

¿QUÉ ES RED HAT?

Red Hat es el proveedor líder mundial de soluciones de software de código abierto, mediante el
uso del enfoque impulsado por la comunidad para tecnologías confiables y de alto rendimiento
en la nube, la misión de Red Hat es ser catalizador en las comunidades de clientes, colaboradores
y socios para crear una mejor tecnología.

RESUMEN
• El software de código abierto tiene código fuente que cualquiera puede usar, estudiar, modificar
y compartir libremente.
• Una distribución de Linux es un sistema operativo instalable construido a partir de un kernel de
Linux, que admite librerías y programas de usuario.
• Red Hat participa en el soporte y la contribución de código para proyectos de código abierto,
patrocina e integra el software del proyecto en distribuciones impulsadas por la comunidad, y
estabiliza el software para ofrecerlo como productos soportados listos para la empresa.
• Red Hat Enterprise Linux es la distribución de Linux, con soporte comercial, lista para empresas y
de código abierto de Red Hat.
• Una suscripción gratuita a Red Hat Developer es un método útil para obtener información y
recursos gratuitos, incluida una versión de 16 nodos de Red Hat Enterprise Linux.

Capítulo 2. Acceso a la línea de comandos


ACCESO A LA LÍNEA DE COMANDOS
INTRODUCCIÓN A LA SHELL BASH
Una línea de comandos es una interfaz basada en texto que se usa para introducir instrucciones
en un sistema de cómputo. Un programa denominado shell proporciona la línea de comandos de
Linux. Se han desarrollado muchas variantes de programas de shell a lo largo de los años. Cada
usuario puede usar una shell diferente, pero Red Hat recomienda usar la shell predeterminada
para la administración del sistema. La shell predeterminada para usuarios de Red Hat Enterprise
Linux (RHEL) es GNU Bourne-Again Shell (bash). La shell bash es una versión mejorada
del Bourne Shell (sh) original en sistemas UNIX.

La shell muestra una cadena cuando espera la entrada del usuario, denominada prompt de shell.
Cuando un usuario regular inicia una shell, el prompt incluye un carácter de dólar ($) final:

[user@host ~]$

El carácter de hash (#) reemplaza al carácter de dólar ($) si la shell se está ejecutando como el
superusuario root. Este carácter indica que se trata de una shell de superusuario, lo que permite
evitar errores que pueden afectar a todo el sistema.

[root@host ~]#

El uso de bash para ejecutar comandos puede ser eficaz. La shell bash proporciona un lenguaje
de secuencia de comandos capaz de admitir la automatización de tareas. La shell tiene
capacidades adicionales que pueden habilitar o simplificar operaciones o posibilitar aquellas que
son difíciles de realizar a escala con herramientas gráficas.

CONCEPTOS BÁSICOS DE LA SHELL

Los comandos que se ingresan en el prompt de shell están compuestos por tres
partes básicas:
• Comando que se ejecuta.
• Opciones que permiten ajustar el comportamiento del comando.
• Argumentos que generalmente son destinos del comando.
El comando es el nombre del programa que se ejecuta. Puede estar seguido de una o más opciones que
ajustan el comportamiento del comando o lo que hará. Las opciones generalmente comienzan con uno
o dos guiones (-a o --all, por ejemplo) para que se distingan de los argumentos. Los comandos pueden
estar seguidos por uno o más argumentos, que generalmente indican un destino sobre el cual el
comando debe operar.

Por ejemplo, en la cadena usermod -L user01, usermod es el comando, -L es la opción y user01 es el


argumento. Este comando bloquea la contraseña de la cuenta del usuario user01.

INICIAR SESIÓN EN UN SISTEMA REMOTO


En este ejemplo, un usuario con un prompt de shell en la máquina host usa ssh para iniciar
sesión en el sistema Linux remoto remotehost como el usuario remoteuser:
[user@host ~]$ ssh remoteuser@remotehost
remoteuser@remotehost's password: password
[remoteuser@remotehost ~]$

El comando ssh cifra la conexión para proteger la comunicación contra el espionaje o el robo de
contraseñas y contenido.
En el siguiente ejemplo, un usuario con un prompt de shell en la máquina host inicia sesión
en remotehost como remoteuser con ssh, mediante el uso del método de autenticación de clave
pública. El comando ssh con la opción -i se usa para especificar el archivo de clave privada del usuario,
que es mylab.pem. La clave pública coincidente ya está configurada como una clave autorizada en la
cuenta remoteuser.

[user@host ~]$ ssh -i mylab.pem remoteuser@remotehost


[remoteuser@remotehost ~]$

CERRAR SESIÓN DESDE UN SISTEMA REMOTO

Cuando haya terminado con la shell y desee salir, puede elegir una de las varias formas de finalizar la
sesión. Puede introducir el comando exit para finalizar la sesión de shell actual. Como alternativa, puede
terminar una sesión presionando Ctrl+D.

En el siguiente ejemplo, se muestra a un usuario que cierra una sesión de SSH:

[remoteuser@remotehost ~]$ exit


logout
Connection to remotehost closed.
[user@host ~]$

PARTES DE LA SHELL DE GNOME


Este comando prepara su entorno y garantiza que estén disponibles todos los recursos
requeridos.

Aquí, aprendimos a como cambiar la contraseña:

Este paso es importante para garantizar que los recursos de ejercicios anteriores no impacten en
los siguientes:

Con el siguiente comando podremos ver el nombre de usuario que tenemos:

En el siguiente ejemplo, nos muestran cómo combinar dos comandos (command 1 y command2)
en la línea de comandos:

El comando date muestra la fecha y la hora actuales, también pueden usar el comando date para
configurar el reloj del sistema

El comando passwd sin opciones cambia la contraseña del usuario actual. Para cambiar la
contraseña, primero especifique la contraseña original para la cuenta. De manera predeterminada,
el comando passwd se configura para solicitar una contraseña más sólida, que esté compuesta
por letras minúsculas, letras mayúsculas, números y símbolos, y que no se base en una palabra
del diccionario.
Linux no requiere de extensiones de nombre de archivo para clasificar los archivos por tipo. El
comando file escanea el encabezado compilado de un archivo en busca de un magic number de 2
dígitos y muestra su tipo. Los archivos de texto se reconocen porque no están compilados.

El comando cat es uno de los comandos más simples y de uso más frecuente en Linux. Use este
comando para crear archivos individuales o múltiples, ver el contenido de los archivos,
concatenar el contenido de diversos archivos y redirigirlo a un terminal o a archivos.

Para mostrar el contenido de varios archivos, agregue los nombres de archivo al


comando cat como argumentos.

Comprender el autocompletado con tab


El autocompletado con tab permite que el usuario complete comandos o nombres de archivo
rápidamente una vez que haya escrito lo suficiente en el prompt como para hacerlo único. Si los
caracteres escritos no son únicos, al presionar la tecla Tab dos veces, aparecen todos los comandos que
comienzan con los caracteres ya escritos.

*Los comandos head y tail muestran el comienzo y el final de un archivo,


respectivamente.
Escribir un comando largo en varias líneas:
Para escribir un comando en más de una línea, use un carácter de barra invertida (\), que se conoce
como el carácter de escape. El carácter de barra invertida ignora el significado del siguiente carácter.

Mostrar el historial de comandos:

El comando history muestra una lista de los comandos ejecutados anteriormente con un número de
comando como prefijo. El carácter de signo de adminración, (!), es un metacarácter para expandir los
comandos anteriores sin volver a escribirlos. El comando !number se expande hasta el comando que
coincide con el número especificado. El comando !string se expande hasta el comando más reciente que
comienza con la cadena especificada.
Editar líneas de comandos:

Directorios importantes de Red Hat:

El comando pwd muestra el nombre completo de ruta del directorio de trabajo actual para esa Shell. El
comando ls enumera el contenido del directorio para el directorio especificado, si no se indica un
directorio, para el directorio de trabajo actual.

Use el comando cd para cambiar el directorio de trabajo actual de su shell. Si no se especifica ningún
argumento para el comando, cambia a su directorio de inicio.
Ejemplo de combinación de rutas absolutas y relativas con el comando cd.
El prompt muestra el carácter tilde (~) cuando el directorio de trabajo actual es su directorio de inicio.

El comando touch actualiza la marca de tiempo de un archivo con respecto a la fecha y la hora actual sin
modificarlo, este comando es útil para crear archivos vacíos, que pueden usarse para practicar, ya que,
si se usa el comando touch con un nombre de un archivo que no existe, se produce la creación del
archivo.
En el siguiente ejemplo, el comando touch crea archivos de práctica en los subdirectorios Documents y
Videos.

El comando “ls” tiene varias opciones para mostrar los atributos en los archivos. Las opciones más
usadas son “-l” (formato de enumeración extensa), “-a” (todos los archivos, incluidos los archivos
ocultos) y “-R” (recurrente, para incluir el contenido de todos los subdirectorios).
En la parte superior de la lista hay dos directorios especiales. Un punto (.) se refiere al directorio actual y
dos puntos (..) se refieren al directorio principal. Estos directorios especiales existen en todos los
directorios del sistema y son útiles cuando se usan comandos de administración de archivos.
Se puede usar el carácter especial tilde (~) en combinación con otros comandos para facilitar la
interacción con el directorio de inicio.

El comando cd tiene muchas opciones. El comando “cd –“vuelve al directorio anterior, donde estaba el
usuario antes de estar en el directorio actual.

Ejemplo:
El comando “cd ..” usa el directorio oculto (..) para ascender un nivel hasta el directorio principal, sin
necesidad de conocer el nombre exacto del directorio principal. El otro directorio oculto (.) especifica el
directorio actual en los comandos en que la ubicación actual es el argumento de origen o destino y se
evita la necesidad de escribir el nombre de la ruta absoluta del directorio.

El comando “mkdir” crea uno o más directorios o subdirectorios. Toma como un argumento una lista de
rutas a los directorios que desea crear.
En el siguiente ejemplo, todo se organiza en el directorio /home/user/Documents. Usaremos el
comando “mkdir” y una lista delimitada por espacios con los nombres de directorios para crear varios
directorios.

La opción de comando “mkdir -p (parent)” crea directorios principales faltantes para el destino
solicitado. En el siguiente ejemplo, el comando “mkdir” crea tres subdirectorios ChapterN con un
comando. La opción “-p” crea el directorio principal faltante Thesis.

Siempre tenemos que tener cuidado cuando usamos el comando “mkdir” con la opción “-p”. ya que los
errores de ortografía accidentales pueden generar errores.
En este ejemplo, estamos intentando crear un subdirectorio Watched en el directorio llamado Videos,
pero se omite la letra s en Videos en el comando “mkdir”
El comando “mkdir” generó un error porque el directorio Video no existe. Si ha usado el comando
”mkdir” con la opción “-p”, el directorio Video se crearía involuntariamente. El subdirectorio Watched se
crearía en ese directorio incorrecto.

Copiar archivos y directorios:


El comando ”cp” copia un archivo y crea un archivo en el directorio actual o en otro directorio
especificado.

En el siguiente ejemplo, se enumeran dos directorios como argumentos, Thesis y ProjectX. El último
argumento, el directorio ProjectX, es el destino y es válido como destino. El argumento Thesis es ignorado
por el comando cp porque está diseñado para ser copiado y es un directorio.

El directorio Thesis no se pudo copiar, pero si lo hicieron los archivos thesis_chapter1.txt y


tesis_chapter2.txt.Se puede copiar directorios y sus contenidos mediante el uso del comando “cp” con la
opción “-r”. Teniendo e cuenta que se pueden usar los directorios especiales . y .. en las combinaciones
de comandos. En este ejemplo, el directorio Thesis y su contenido se copian en el directorio ProjectY.
Mover archivos y directorios:
El comando “mv” mueve los archivos de una ubicación a otra. Si
piensa que la ruta absoluta a un archivo es su nombre completo y
mueve un archivo, esto equivale a cambiar el nombre de un archivo.
El contenido de los archivos que se mueven permanece sin cambios.

En este ejemplo cambiaremos el nombre de un archivo tesis_chapter2.txt a tesis_chapter2_reviewed.txt


en el mismo directorio.

Puede usar el comando “mv” con la opción “-v” para mostrar una salida detallada de las operaciones del
comando.

Eliminar archivos y directorios:


El comando “rm” elimina archivos. De manera predeterminada, “rm” no elimina directorios. El comando
“rm -r” primero recorre cada subdirectorio y elimina individualmente sus archivos antes de eliminar
cada directorio.
Aquí, el comando “rm” elimina el archivo tesis_chapter1.txt sin opciones, pero para eliminar el
directorio Thesis/Chapter1, debe agregar la opción “-r”
Puede usar el comando “rm” con la opción “-i” para pedir confirmación de forma interactiva antes de la
eliminación. Lo contrario es usar el comando “rm” con la opción “-f” que fuerza la eliminación sin pedir
confirmación al usuario

También puede usar el comando “rmdir” para eliminar directorios vacíos. Use el comando “rm” con la
opción “-r” para eliminar directorios que no estén vacíos.

Creación de enlaces entre archivos:


Puede crear dos tipos de enlaces: un enlace duro o un enlace simbólico (a veces denominado enlace
blando). Cada forma tiene sus ventajas y desventajas.

Crear enlaces duros:


Cuando crea un enlace duro a un archivo, crea otro nombre que apunta a esos mismos datos. El nuevo
enlace duro actúa exactamente igual que el nombre del archivo original, después de que se crea el
enlace, no puede distinguir la diferencia entre el nuevo enlace duro y el nombre original del archivo.
Puede ver si un archivo tiene varios enlaces
duros mediante el comando “ls -l”. Aquí el
recuento del archivo newfile.txt es 1. Tiene
exactamente una ruta absoluta, que es la
ubicación /home/user/newfile.txt.
Con el comando “ln” se puede crear un enlace duro. El comando necesita al menos dos argumentos, una
ruta al archivo existente y la ruta al enlace duro que desea crear.
Aquí creamos un enlace duro llamado newfile-hlink2.txt con el nombre para el archivo existente
newfile.txt en el directorio /tmp.

Para determinar si dos archivos tienen un enlace duro use el comando “ls” y la opción “-i” para
enumerar el número de inodo de cada archivo.

Incluso si se elimina el archivo original, aún puede acceder al contenido del archivo siempre que exista al
menos un enlace duro adicional. Los datos se eliminan del almacenamiento solo cuando se elimina el
último enlace duro, lo que hace que el contenido del archivo no esté referenciado por ningún enlace
duro.

Creación de los enlaces simbólicos:


El comando “ln” con la opción “-s” crea un enlace simbólico, que también se conoce como “enlace
blanco”. Un enlace simbólico no es un archivo regular, si no un tipo de archivo especial que apunta a un
archivo o a un directorio existente.
EJEMPLO:
Expansiones de las líneas de comandos:
La Shell Bash tiene varias formas de expandir una línea de comandos, incluida la coincidencia de
patrones, la expansión del directorio de inicio, la expansión de cadenas y la sustitución de variables.
Tabla de meta caracteres y coincidencias:

Capítulo 4. Obtener ayuda en Red Hat Enterprise Linux

Secciones comunes del manual de Linux:


Navegar por las páginas del manual:

Encabezados:
Capítulo 5. Crear, ver y editar archivos de texto
Canales (descriptores de archivos):

Editar archivos con Vim


Un principio fundamental de diseño de Linux es que la configuración y la información se almacenan en
archivos basados en texto. Estos archivos siguen diversas estructuras, como listas de configuraciones,
formatos tipo INI, XML o YAML estructurados, etc. La ventaja de almacenar archivos en una estructura
basada en texto es que se pueden editar fácilmente con cualquier editor de texto simple.

Vim es una versión mejorada del editor vi, que se distribuye con los sistemas Linux y UNIX. Vim es
altamente configurable y eficaz para usuarios avanzados; incluye edición en pantalla partida, formateo
de color y resaltado para la edición de texto.

Ventajas del editor Vim


La razón clave para aprender a usar Vim es que casi siempre se instala de manera predeterminada en un
servidor para editar archivos basados en texto. La Interfaz de sistema operativo portátil o
estándar POSIX especificaba el editor vi en Linux, y muchos otros sistemas operativos similares a UNIX
hacen lo mismo.

Flujo de trabajo mínimo y básico de Vim


Red Hat recomienda aprender las siguientes teclas y comandos de Vim.

• La tecla u deshace la edición más reciente.


• La tecla x borra un solo carácter.
• El comando: w escribe (guarda) el archivo y permanece en el modo de comandos para seguir
editando.
• El comando: wq escribe (guarda) el archivo y sale de Vim.
• El comando: q! sale de Vim y descarta todos los cambios que se realizaron al archivo desde la
última escritura.
Modificación del entorno de Shell

Uso de variables de shell


Con la shell Bash, puede configurar variables de shell que facilitan la ejecución de comandos o la
modificación del comportamiento de la shell. También puede exportar variables de shell como variables
de entorno, que se copian automáticamente a los programas que se ejecutan desde esa shell cuando se
inician. Puede usar variables para facilitar la ejecución de un comando con un argumento largo, o para
aplicar una configuración común a los comandos que se ejecutan desde esa shell.

Asignación de valores a variables


Asigne un valor a una variable de shell con la siguiente sintaxis:

[user@host ~]$ VARIABLENAME=value

Los nombres de las variables pueden incluir letras mayúsculas o minúsculas, dígitos y el carácter de
guion bajo (_). Por ejemplo, los siguientes comandos establecen variables de shell:

[user@host ~]$ COUNT=40


[user@host ~]$ first_name=John
[user@host ~]$ file1=/tmp/abc
[user@host ~]$ _ID=RH123

Recuerde que este cambio solo afecta a la shell en la que se ejecuta el comando sin afectar a las demás
shells que pueda estar ejecutando en ese servidor.

Recuperar valores con la expansión de variable


Por ejemplo, el siguiente comando establece la variable COUNT en 40.

[user@host ~]$ COUNT=40

Si ingresa el comando echo COUNT, se imprimirá la cadena COUNT.

[user@host ~]$ echo COUNT


COUNT

Si, en cambio, ingresa el comando echo $COUNT, imprime el valor de la variable COUNT.

[user@host ~]$ echo $COUNT


40
También puede usar una variable para referirse a un nombre de archivo largo para varios comandos.

[user@host ~]$ file1=/tmp/tmp.z9pXW0HqcC


[user@host ~]$ ls -l $file1
-rw-------. 1 student student 1452 Jan 22 14:39 /tmp/tmp.z9pXW0HqcC
[user@host ~]$ rm $file1
[user@host ~]$ ls -l $file1
total 0

Configuración de Bash con variables de shell


Algunas variables de shell se establecen cuando se inicia Bash. Puede modificarlas para ajustar el
comportamiento de la shell. Por ejemplo,
las variables de shell HISTFILE, HISTFILESIZE y HISTTIMEFORMAT afectan el historial de shell y el
comando history. La variable HISTFILE especifica en qué archivo se guardará el historial de shell, y se
establece de manera predeterminada en el archivo ~/.bash_history. La variable HISTFILESIZE especifica
cuántos comandos deben guardarse en ese archivo del historial. La variable HISTTIMEFORMAT define el
formato de sello de tiempo para cada comando en el historial. Esta variable no existe de forma
predeterminada.

Configuración de programas con variables de entorno


La shell proporciona un entorno a los programas que se ejecutan desde esa shell. Entre otras cosas, este
entorno incluye información sobre el directorio de trabajo actual en el sistema de archivos, las opciones
de línea de comandos que pasan al programa y los valores de las variables de entorno. Los programas
pueden usar estas variables de entorno para cambiar su comportamiento o su configuración
predeterminada.

Configuración del editor de texto predeterminado


La variable de entorno EDITOR especifica el editor de texto predeterminado para programas de línea de
comandos. Muchos programas usan el editor vi o vim si no se especifica, pero puede anular esta
preferencia:

[user@host ~]$ export EDITOR=nano

Alias de bash
Los alias de Bash son atajos a otros comandos de Bash. Por ejemplo, si debe escribir un comando largo
con frecuencia, puede crear un alias más corto para invocarlo. Puede usar el comando alias para crear
alias. Considere el siguiente ejemplo que crea un alias hello para un comando echo.

[user@host ~]$ alias hello='echo "Hello, this is a long string."'


A continuación, puede ejecutar el comando hello y se invoca el comando echo.

[user@host ~]$ hello


Hello, this is a long string.

Agregar alias al archivo ~/.bashrc de un usuario para que estén disponibles en cualquier shell interactiva.

Deshacer y exportar variables y alias


Para deshacer la configuración y la exportación de una variable, use el comando unset:

[user@host ~]$ echo $file1


/tmp/tmp.z9pXW0HqcC
[user@host ~]$ unset file1
[user@host ~]$ echo $file1

[user@host ~]$

Para deshacer la exportación de una variable sin deshacer la configuración, use el comando export -n:

[user@host ~]$ export -n PS1

Para anular la configuración de un alias, use el comando unalias :

[user@host ~]$ unalias hello


Capítulo 6. Administración de usuarios y grupos locales
¿Qué es un usuario?
Una cuenta de usuario se usa para proporcionar límites de seguridad entre diferentes personas y
programas que pueden ejecutar comandos. Los usuarios
tienen nombres de usuario para identificarlos como usuarios humanos y facilitar el trabajo.
Internamente, el sistema distingue las cuentas de usuario por el número de identificación único que se
les asigna, el ID de usuario o UID.

Hay cuentas de usuario de los siguientes tipos principales: el superusuario, el usuario del sistema y
el usuario normal.

• La cuenta de superusuario administra el sistema. El nombre del superusuario es root y la cuenta


tiene UID 0. El superusuario tiene acceso completo al sistema.
• El sistema tiene cuentas de usuario del sistema que usan los procesos que proporcionan
servicios de soporte. Estos procesos, o daemons por lo general no necesitan ejecutarse como
superusuario. Son cuentas asignadas sin privilegios para proteger sus archivos y otros recursos
entre sí y de los usuarios habituales del sistema. Los usuarios no inician sesión de forma
interactiva con una cuenta de usuario del sistema.
• La mayoría de los usuarios tienen cuentas de usuario normal que usan para su trabajo diario. Al
igual que los usuarios del sistema, los usuarios normales tienen acceso limitado al sistema.

¿Qué es un grupo?
Un grupo es una colección de usuarios que necesitan compartir el acceso a archivos y otros recursos del
sistema. Los grupos se pueden usar para otorgar acceso a los archivos a un conjunto de usuarios en
lugar de a un solo usuario. Al igual que los usuarios, los grupos
tienen nombres de grupo para facilitar el reconocimiento. Internamente, el sistema distingue los grupos
por el número de identificación único, el ID de grupo o GID, que se les asigna.

Grupos principales y grupos secundarios


Cada usuario tiene exactamente un grupo principal. Para usuarios locales, este es el grupo enumerado
por GID en el archivo /etc/passwd. El grupo principal es propietario de los archivos que crea el usuario.
Al crear un usuario regular, se crea un grupo con el mismo nombre que el usuario, para que sea el grupo
principal para el usuario. El usuario es el único miembro de este grupo privado de usuarios.

El superusuario
La mayoría de los sistemas operativos tienen un superusuario; un usuario que tiene todo el poder sobre
el sistema. En Red Hat Enterprise Linux, este es el usuario root. Este usuario tiene el poder de anular los
privilegios normales del sistema de archivos, y puede usarlo para manejar y administrar el sistema. Para
tareas como la instalación o eliminación de software, y para administrar los directorios y los archivos del
sistema, los usuarios deben aumentar sus privilegios al usuario root.
Cambiar cuentas de usuario
El comando su les permite a los usuarios cambiar a una cuenta de usuario diferente.

Este ejemplo usa el comando su de la cuenta user01 para cambiar a la cuenta user02:

[user01@host ~]$ su - user02


Password: user02_password
[user02@host ~]$

Si omite el nombre de usuario, el comando su o su - intenta cambiar a root de forma predeterminada.

[user01@host ~]$ su -
Password: root_password
[root@host ~]#

El comando su inicia una shell sin inicio de sesión, mientras que el comando su - (con la opción de guion)
inicia una shell de inicio de sesión. La diferencia principal entre los dos comandos es que su - establece
el entorno de la shell como si iniciara una sesión nueva como ese usuario, mientras que su inicia una
shell como ese usuario, pero usa la configuración de entorno del usuario original.

Ejecución de comandos con Sudo


A diferencia del comando su, sudo por lo general requiere que un usuario ingrese su propia contraseña
para la autenticación y no la contraseña de la cuenta a la que intenta acceder. Es decir, los usuarios que
usan sudo para ejecutar comandos como root no necesitan saber la contraseña root. En su lugar, usan
sus propias contraseñas para autenticar el acceso.

En la siguiente tabla, se resumen las diferencias entre los comandos su, su -y sudo :

Obtención de una shell de root interactiva con Sudo


Para acceder a la cuenta root con sudo, use el comando sudo -i. Este comando cambia a la cuenta root y
ejecuta la shell predeterminada de ese usuario (generalmente bash) y los scripts de inicio de sesión
interactivos asociados. Para ejecutar la shell sin los scripts interactivos, use el comando sudo -s.
Configuración de Sudo
El archivo /etc/sudoers es el archivo de configuración principal del comando sudo. Para evitar
problemas si varios administradores intentan editar el archivo al mismo tiempo, puede editarlo solo con
el comando especial visudo. El editor visudo también valida el archivo para garantizar que no haya
errores de sintaxis.
Por ejemplo, la siguiente línea del archivo /etc/sudoers habilita el acceso sudo para miembros del
grupo wheel:

%wheel ALL=(ALL:ALL) ALL

• La cadena %wheel es el usuario o grupo al que se aplica la regla. El símbolo % antes de la


palabra wheel especifica un grupo.
• El comando ALL=(ALL:ALL) especifica que en cualquier host con este archivo (el primer ALL), los
usuarios en el grupo wheel pueden ejecutar comandos como cualquier otro usuario (el
segundo ALL) y cualquier otro grupo (el tercero ALL) en el sistema.
• El comando final ALL especifica que los usuarios en el grupo wheel pueden ejecutar cualquier
comando.
• Para habilitar el acceso sudo completo para el usuario user01, puede crear el
archivo /etc/sudoers.d/user01 con el siguiente contenido:
user01 ALL=(ALL) ALL

• Para habilitar el acceso sudo completo para el grupo group01, puede crear el
archivo /etc/sudoers.d/group01 con el siguiente contenido:
%group01 ALL=(ALL) ALL

• Para permitir que los usuarios en el grupo games ejecuten el comando id como el
usuario operator, puede crear el archivo /etc/sudoers.d/games con el siguiente contenido:
%games ALL=(operator) /bin/id

• También es posible configurar sudo para permitir que un usuario ejecute comandos como otro
usuario sin ingresar su contraseña, con el comando NOPASSWD: ALL:
ansible ALL=(ALL) NOPASSWD: ALL
Creación de usuarios desde la línea de comandos
El comando useradd username crea un usuario llamado username. Configura el directorio de inicio del
usuario y la información de la cuenta, y crea un grupo privado para el usuario denominado username.
En este punto, la cuenta no tiene configurada una contraseña válida y el usuario no puede iniciar sesión
hasta que se defina una.

Modificación de usuarios existentes desde la línea de comandos


El comando usermod --help muestra las opciones básicas para modificar una cuenta. Algunas opciones
comunes son las siguientes:

Eliminación de usuarios desde la línea de comandos


El comando userdel username elimina al usuario username de /etc/passwd, pero deja el directorio de
inicio del usuario intacto. El comando userdel -r username elimina al usuario de /etc/passwd, así como
el directorio de inicio del usuario.

En el siguiente ejemplo, se demuestra cómo esto puede conducir a una fuga de información:
Configuración de contraseñas desde la línea de comandos
El comando passwd username define la contraseña inicial o cambia la contraseña existente del
usuario username. El usuario root puede definir una contraseña en cualquier valor.

Rangos de UID
Red Hat Enterprise Linux usa números y rangos de números de UID específicos con fines específicos.

• UID 0: el UID de la cuenta de superusuario (root).


• UID 1-200: UID de la cuenta del sistema asignados estáticamente a los procesos del sistema.
• UID 201-999: UID asignados a procesos del sistema que no poseen archivos en este sistema. El
software que requiere un UID sin privilegios se asigna dinámicamente desde este conjunto
(pool) disponible.
• UID 1000+: el rango de UID para asignar a usuarios regulares sin privilegios.

Creación de grupos desde la línea de comandos


El comando groupadd crea grupos. Sin opciones, el comando groupadd emplea la siguiente GID
disponible de un rango especificado por las variables GID_MIN y GID_MAX en el archivo /etc/login.defs.
De manera predeterminada, el comando asigna un valor de GID mayor que cualquier otro GID existente,
incluso si hay un valor menor disponible.

El comando groupadd con la opción -g especifica un GID particular para que el grupo use.

[root@host ~]# groupadd -g 10000 group01


[root@host ~]# tail /etc/group
...output omitted...
group01:x:10000:

El comando groupadd con la opción -r crea grupos del sistema. Al igual que con los grupos normales, los
grupos del sistema usan un GID del rango de GID del sistema válidos enumerados en el
archivo /etc/login.defs. Los ítems de configuración SYS_GID_MIN y SYS_GID_MAX en el
archivo /etc/login.defs definen el rango de GID del sistema.

[root@host ~]# groupadd -r group02


[root@host ~]# tail /etc/group
...output omitted...
group01:x:10000:
group02:x:988:
Modificación de grupos existentes desde la línea de comandos
El comando groupmod cambia las propiedades de un grupo existente. El comando groupmod con la
opción -n especifica un nuevo nombre para el grupo.

[root@host ~]# groupmod -n group0022 group02


[root@host ~]# tail /etc/group
...output omitted...
group0022:x:988:

Observe que el nombre del grupo se actualiza a group0022 desde group02. El comando groupmod con
la opción -g especifica un nuevo GID.

[root@host ~]# groupmod -g 20000 group0022


[root@host ~]# tail /etc/group
...output omitted...
group0022:x:20000:

Tenga en cuenta que el GID se modifica a 20000 desde 988.

Eliminación de grupos desde la línea de comandos


Cambio de membresía de grupo desde la línea de comandos
La membresía de un grupo se controla con la administración de usuarios. Use el comando usermod -
g para cambiar el grupo principal de un usuario.

[root@host ~]# id user02


uid=1006(user02) gid=1008(user02) groups=1008(user02)
[root@host ~]# usermod -g group01 user02
[root@host ~]# id user02
uid=1006(user02) gid=10000(group01) groups=10000(group01)

Use el comando usermod -aG para agregar un usuario a un grupo secundario.

[root@host ~]# id user03


uid=1007(user03) gid=1009(user03) groups=1009(user03)
[root@host ~]# usermod -aG group01 user03
[root@host ~]# id user03
uid=1007(user03) gid=1009(user03) groups=1009(user03),10000(group01)
Cambiar temporalmente su grupo principal
En este ejemplo, el grupo denominado group01 se convierte temporalmente en el grupo principal de
este usuario.

[user03@host ~]# id
uid=1007(user03) gid=1009(user03) groups=1009(user03),10000(group01)
[user03@host ~]$ newgrp group01
[user03@host ~]# id
uid=1007(user03) gid=10000(group01) groups=1009(user03),10000(group01)

Contraseñas ocultas y política de contraseñas


Originalmente, las contraseñas cifradas se almacenaban en el archivo /etc/passwd de lectura global. Se
pensaba que esta ubicación era adecuada hasta que los ataques de diccionarios a contraseñas cifradas
se volvieron frecuentes. Las contraseñas cifradas se trasladaron al archivo /etc/shadow, que solo el
usuario root puede leer.

Al igual que el archivo /etc/passwd, cada usuario tiene una entrada con en el archivo /etc/shadow. Una
entrada de ejemplo del archivo /etc/shadow tiene nueve campos separados por dos puntos:

[root@host ~]# cat /etc/shadow


...output omitted...
user03:$6$CSsXsd3rwghsdfarf:17933:0:99999:7:2:18113:

Cada campo de este bloque de código está separado por dos puntos:

• user03 : Nombre de la cuenta de usuario.


• $6$CSsXsd3rwghsdfarf : Contraseña cifrada del usuario.
• 17933 : Días desde la época en que se cambió la contraseña por última vez, donde la época
es 1970-01-01 en la zona horaria UTC.
• 0 : El número mínimo de días que deben transcurrir desde el último cambio de contraseña antes
de que el usuario pueda volver a cambiarla.
• 99999 : El número máximo de días que pueden transcurrir sin un cambio de contraseña antes de
que la contraseña caduque. Un campo vacío significa que la contraseña nunca caduca.
• 7 : Cantidad de días para advertir al usuario que su contraseña caducará.
• 2 : Cantidad de días sin actividad, comenzando con el día en que caducó la contraseña, antes de
que la cuenta se bloquee automáticamente.
• 18113 : Día en que la cuenta caduca en días desde la época. Un campo vacío significa que la
cuenta nunca caduca.
• Por lo general, el último campo está vacío y se reserva para su uso en el futuro.
Formato de una contraseña cifrada
El campo de contraseña cifrada almacena tres datos: el algoritmo de hash usado, el salt y el hash
cifrado. Cada dato está delimitado por el signo del dólar ($).

$6$CSsXcYG1L/4ZfHr/$2W6evvJahUfzfHpc9X.45Jc6H30E

• 6 : El algoritmo de hash usado para esta contraseña. Un 6 indica un hash SHA-512, el RHEL 9
predeterminado, un 1 indica MD5 y un 5 indica SHA-256.
• CSsXcYG1L/4ZfHr/ : El valor aleatorio en uso para cifrar la contraseña; originalmente elegidos al
azar.
• 2W6evvJahUfzfHpc9X.45Jc6H30E : El hash cifrado de la contraseña del usuario; se combinan el
salta y la contraseña cifrada, y se cifran para generar este hash de la contraseña.

Verificación de contraseña
Cuando un usuario intenta iniciar sesión, el sistema busca la entrada correspondiente al usuario en el
archivo /etc/shadow, combina el valor aleatorio del usuario con la contraseña sin cifrar que se ingresó y
los cifra usando la combinación de valor aleatorio y contraseña cifrada con el algoritmo de hash
especificado.

Restricción de acceso
Puede usar el comando usermod para modificar el vencimiento de la cuenta de un usuario. Por ejemplo,
el comando usermod con la opción -L bloquea una cuenta de usuario y el usuario no puede iniciar sesión
en el sistema.

[root@host ~]# usermod -L sysadmin03


[user01@host ~]$ su - sysadmin03
Password: redhat
su: Authentication failure

La shell nologin
La shell nologin actúa como una shell de reemplazo para las cuentas de usuario que no están destinadas
a iniciar sesión de forma interactiva en el sistema. Es una buena práctica de seguridad deshabilitar el
inicio de sesión de una cuenta en el sistema, cuando la cuenta no lo requiere.
EVALUACIÓN DEL INFORME DE TRABAJO SEMANAL
NOTA

OBSERVACIONES Y RECOMENDACIONES
DEL INSTRUCTOR: DEL MONITOR DE EMPRESA:

FIRMA DE MONITOR DE
FIRMA DEL ESTUDIANTE: FIRMA DEL INSTRUCTOR:
EMPRESA:

AUTOCONTROL DE ASISTENCIA POR EL ESTUDIANTE


LUNES MARTES MIÉRCOLES JUEVES VIERNES SÁBADO
M T M T M T M T M T M T
INJUSTIFICADAS: I
ASISTENCIA A SENATI INASISTENCIA
JUSTIFICADAS : FJ
PROPIEDAD INTELECTUAL DEL SENATI. PROHIBIDA SU
REPRODUCCIÓN Y VENTA SIN LA AUTORIZACIÓN
CORRESPONDIENTE

También podría gustarte