Avatar
Javi Felices

@javifelices

Buenas, sé que llevamos poco, pero por eso de indagar y mejorar un poco, además de aportar alguna cosilla, si escribimos "Enero" o "ENERO", no indicará que es el mes 1, para controlar esto he encontrado esta opción:

Tenemos este código

read -p "Ingresa el nombre de un mes: " mes

Ahora convertiríamos lo que hay en mes a minúsculas, en nuestro caso:

mes=${mes,,}

En caso de querer hacerlo en mayúsculas

mes=${mes^^}

Un saludo y gracias.

Avatar
Javi Felices

@javifelices

Muy buenas.

Por aportar alguna cosilla, hay una opción más, que es cuando no se da ninguna de las opciones, puedes añadir algo, para dar alguna información al usuario. En nuestro ejemplo podríamos poner.

*) echo "No has introducido un mes válido";;

Un saludo y gracias.

Avatar
Javi Felices

@javifelices

Buenas, Diego.

Por lo que estoy viendo algunas convenciones es usar minúsculas, si hay más de dos palabras, usar el guión bajo, creo que se llama Snake Case, ¿no empezar con números ni usar caracteres sensibles tipo tiles, "ñ"....?

Un saludo y gracias.

Avatar
Javi Felices

@javifelices

Buenas.

Cuando se hace algún cambio en el archivo .bashrc, por citar alguno, si quieres ver esos cambios sin tener que abrir otra terminal, ni cerrar la sesión de la que tienes, puedes hacer uso del comando source.

source ~/.bashrc

Un saludo.

Avatar
Javi Felices

@javifelices

Buenas, Diego.

Supongo que más adelante veremos mucho mejor esto, lo entenderemos mejor y le daremos más uso, supongo que por el tema de hacer condicionales para controlar los errores, que si pasa esto, haz esta cosas...., ¿verdad? Es recomendable, vamos.

Un saludo y gracias.

Avatar
Javi Felices

@javifelices

Buena Mauricio.

Al ejecutar docker-compose -d al final me aparece lo siguiente:

WARNING: Image for service web was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.

¿Hay que hacer algo al respecto?

Un saludo y gracias.

Avatar
Javi Felices

@javifelices

Buenas.

Esta forma que has mostrado de añadir los archivos o directorios que haya mediante ADD . . sería una forma de compartir información de tu máquina al contenedor, una especie de volumen o bind mount, ¿verdad?

Un saludo y gracias.

Avatar
Javi Felices

@javifelices

Muchas gracias Diego por tu tiempo, es un curso de introducción para no iniciados, pero es el comienzo hacia algo más grande.

Ojalá haya algún curso que siga el camino de este para seguir avanzando, más allá del curso de Administración.

Un saludo y gracias.

Avatar
Javi Felices

@javifelices

Me ha gustado mucho este comentario, y que verdad que es, aplicable mucho en todo este mundillo, programación.... al final la herramienta no es importante, cada uno usa lo que es más cómodo, conocer cómo funciona, conocer ese lenguaje de programación antes de usar tal framework....

Muy destacable esto que comentas Diego, gracias :)

Avatar
Javi Felices

@javifelices

Para gestionar los grupos de usuarios podemos usar siguientes comandos:

groupadd→ Agrega un grupo de usuario.

groupmod → Permite modificar algunos campos de un grupo, como el gid o el nombre.

groupdel → Borrar un grupo de usuario.

Para añadir un grupo

root@debian-apoyo:~# groupadd soporte

root@debian-apoyo:~# cat /etc/group | grep soporte

soporte:x:1001:

Para cambiar el nombre del grupo soporte a pruebas

root@debian-apoyo:~# groupmod -n pruebas soporte

root@debian-apoyo:~# cat /etc/group | grep pruebas

pruebas:x:1001:

El gid es el mismo, solo se ha cambiado el nombre.

Para borrar un grupo

root@debian-apoyo:~# groupdel pruebas

root@debian-apoyo:~# cat /etc/group | grep pruebas

root@debian-apoyo:~#

Si intentamos borrar un grupo con usuarios asociados, y es grupo primario, nos sale un mensaje informando que no podemos hacerlo, sólo podríamos si fuera grupo secundario. En el caso de querer borrar el grupo primario tendríamos que borrar primero el usuario.

Para borrar un usuario de un grupo, en sistemas debian:

deluser usuario grupo

En Centos:

gpasswd -d prueba soporte

Avatar
Javi Felices

@javifelices

Para gestionar los usuarios se usan los siguientes comandos:

useradd → Agrega un usuario.

usermod → Agrega un usuario a un grupo.

userdel → Borrar un usuario.

passwd → Setea la contraseña de un usuario.

id → Muestra uid, gid y otros grupos

Para muestra un ejemplo:

root@debian-apoyo:~# useradd -md /home/soporte -s /bin/bash soporte

Este comando nos ha creado el usuario soporte, su directorio será /home/soporte y la shell bash. Por defecto se ha creado un nuevo grupo llamado soporte. Vamos a verificar dicha información.

root@debian-apoyo:~# cat /etc/group | grep soporte

soporte:x:1001:

root@debian-apoyo:~# cat /etc/passwd | grep soporte

soporte:x:1001:1001::/home/soporte:/bin/bash

En CentOS aunque solo se ponga useradd usuario, crea el directorio de trabajo de usuario, y asigna la shell.

Al comando useradd se puede añadir otro parámetro como es la g para indicar al grupo al que va a pertenecer, pero para ello vamos a hacerlo con usermod. Vamos a cambiar los valores actuales del usuario.

root@debian-apoyo:~# usermod -g root soporte

root@debian-apoyo:~# cat /etc/passwd | grep soporte

soporte:x:1001:0::/home/soporte:/bin/bash

Hemos cambiado el grupo primario de soporte, siendo ahora root. También podemos añadir un grupo secundario al usuario soporte.

root@debian-apoyo:~# usermod -g root -G apoyo soporte

Para ver esta información usamos el comando id seguido del nombre de usuario.

root@debian-apoyo:~# id soporte

uid=1001(soporte) gid=0(root) grupos=0(root),1000(apoyo)

id nos da el uid del usuario soporte, grupo primario, en este caso root, y grupos secundarios, en este caso, grupo primario root, y grupo secundario apoyo, que lo añadimos con -G. -g se usa para cambiar el grupo primario.

También podemos asignar varios grupos, para ello pondremos cada grupo seguido separado por “,”.

En el caso del usuario soporte no hemos asignado una contraseña, para ello nos ayudamos del comando passwd seguido del nombre de usuario, con lo que ya nos podemos loguear con este nuevo usuario.

root@debian-apoyo:~# passwd soporte

Introduzca la nueva contraseña de UNIX:

Vuelva a escribir la nueva contraseña de UNIX:

passwd: contraseña actualizada correctamente

root@debian-apoyo:~# exit

logout

apoyo@debian-apoyo:~$ su - soporte

Contraseña:

soporte@debian-apoyo:~$

Si ahora queremos borrar un usuario, usamos el comando userdel.

userdel pruebas

Si solo indicamos esto, no se borraría el directorio home, hayamos hecho cambios en los grupos (cambiar grupo primario, añadir grupo secundario), o no. En este caso borraremos el directorio como rm -r, y listo.

Para borrar también el directorio home del usuario directamente, añadimos -r.

userdel -r soporte

En este caso como hemos añadido un grupo secundario, soporte, este grupo no será borrado, y lo tendremos que hacer de forma manual con groupdel.

Avatar
Javi Felices

@javifelices

Con respecto a usuarios se manejan dos archivos:

etc/passwd → Se encuentra la información de todos los usuarios, incluido el usuario root.

etc/shadow → Se encuentran las contraseñas de los usuarios, encriptadas, para que no sean visualizadas con facilidad.

Abriendo el archivo passwd nos encontramos todos los usuarios, el primero de la lista es el usuario root, y al final los usuarios creados, soporte, apoyo, javifelices, pruebas…. El resto de usuarios son creados en la instalación del SSOO. Cada servicio, por lo general, suele tener un usuario para su ejecución.

Ahora vamos a ver qué significa cada parte, columna o campo de un usuario, que como podemos observar, vienen separadas por los dos puntos (:). Por ejemplo:

apoyo:x:1000:1000:Apoyo,,,:/home/apoyo:/bin/bash

Nombre de usuario (apoyo)

Contraseña cifrada usando el sistema shadow (/etc/shadow) (x)

id del usuario (1000)

id del grupo primario del usuario (1000)

Descripción del usuario (Nombre Completo, y pueden haber otros datos). (Apoyo).

Directorio home del usuario. No siempre tiene que estar ahí, se puede modificar para que esté en otro directorio, aunque lo “normal” en sistemas Unix, es que esté de esta forma. (/home/apoyo)

Ruta de la shell asignada al usuario (/bin/bash).

Por defecto, el id del primer usuario creado manualmente es 1000, así como del grupo.

En el archivo /etc/shadow podemos ver las contraseñas de los usuarios cifradas, así como las políticas de estas contraseñas.

Igual que con el archivo passwd hay una serie de campos, vamos a usar al usuario root, como ejemplo, para identificarlos:

root:$6$M0kez/EI$bfBkuhITpHhVKtALwlRR9GFd/5AN.X0DQu9wJzN4PjmVFZcrzmSUqI7YJMd0CXNjJ3fCZFmjPI/epgZF2wpy8.:17372:0:99999:7:::

Nombre de usuario (root).

Contraseña del usuario cifrada, usando el método SHA512 ($6$M … py8.). En SHA512 empieza por $6, si fuera md5 sería $1, SHA256 $5.

Fecha del último cambio de contraseña en formato UNIX EPOCH (17372).

Duración mínima de la contraseña en días (0).

Duración máxima de la contraseña en días (99999).

Número de días para mostrar la advertencia de expiración de contraseña (7).

Fecha en la que la cuenta será deshabilitada ().

Campo reservado, sin uso actual ().

Con el comando chage -l podemos ver la política de contraseñas de un usuario en concreto, pongamos un ejemplo.

root@debian-apoyo:~# chage -l root

Último cambio de contraseña :jul 25, 2017

La contraseña caduca : nunca

Contraseña inactiva : nunca

La cuenta caduca : nunca

Número de días mínimo entre cambio de contraseña : 0

Número de días máximo entre cambio de contraseña : 99999

Número de días de aviso antes de que caduque la contraseña : 7

Si queremos añadir una política indicaremos chage usuario.

De la misma manera, la información de los grupos de usuarios se manejan estos dos archivos:

etc/group → Se encuentra la información de todos los grupos usuarios.

etc/gshadow → Se encuentran las contraseñas de los grupos de usuarios, encriptadas, para que no sean visualizadas con facilidad.

Como en los casos anteriores podemos ver dichos archivos, empezando por group, donde tenemos los siguientes campos, usaremos el grupo apoyo, como ejemplo:

apoyo:x:1000:

Al crear un usuario si no especificamos el nombre del grupo primario de este, por defecto, toma el nombre de usuario, como nombre de grupo.

Nombre del grupo primario de usuario (apoyo).

Contraseña cifrada usando el sistema shadow (/etc/gshadow) (x)

id del grupo de usuario (1000).

Miembros, en este caso, lista de usuarios miembros ().

Como podemos ver, el id del usuario y el id del grupo primario es el mismo, porque por defecto no se asignó un nombre de grupo primario diferente, de no ser así, no se cumpliría.

En el caso del fichero gshadow nos encontramos que no hay contraseñas asignadas, por ser un método inseguro, nada recomendable, y por ello, no usado.

En el fichero shadow o gshadow podemos ver después del nombre de usuario o de grupo, que no viene una x, haciendo referencia a la contraseña cifrada, nos podemos encontrar con un signo de admiración o dos, o un asterisco. Esto quiere decir:

! → No tiene contraseña en sistemas Debian

!! → No tiene contraseña en sistemas Centos

  • → Puede entrar en la cuenta sin contraseña.
Avatar
Javi Felices

@javifelices

Por aportar algunas cosas, dejo algunas notas que hice hace algún tiempo.

Para modificar los permisos de un archivo en cuanto a usuarios y grupos usamos el comando chown seguido del nombre de usuario, y opcionalmente nombre de grupo, si también quisiéramos modificarlo, y luego el nombre del archivo en cuestión.

root@debian-apoyo:~# ls -lrt /etc | grep nsswitch.conf -rw-r--r-- 1 root root 497 jun 15 21:17 nsswitch.conf root@debian-apoyo:~# chown apoyo:apoyo /etc/nsswitch.conf root@debian-apoyo:~# ls -lrt /etc | grep nsswitch.conf -rw-r--r-- 1 apoyo apoyo 497 jun 15 21:17 nsswitch.conf

En caso de querer modificar solo el grupo se usaría el comando chgrp.

root@debian-apoyo:~# chgrp root /etc/nsswitch.conf root@debian-apoyo:~# ls -lrt /etc | grep nsswitch.conf -rw-r--r-- 1 apoyo root 497 jun 15 21:17 nsswitch.conf

Se puede cambiar solo el usuario.

root@debian-apoyo:~# chown root /etc/nsswitch.conf root@debian-apoyo:~# ls -lrt /etc | grep nsswitch.conf -rw-r--r-- 1 root root 497 jun 15 21:17 nsswitch.conf

También se puede cambiar usuario y grupo poniendo “:” después del nombre de usuario y nada más, se sobreentiende que el nombre de grupo es el mismo que el de usuario.

root@debian-apoyo:~# chown apoyo: /etc/nsswitch.conf

Para cambiar el grupo solamente se puede hacer antecediendo los “:” al nombre del grupo.

root@debian-apoyo:~# chown :root /etc/nsswitch.conf

Un saludo.

Avatar
Javi Felices

@javifelices

Ver todas las opciones de find darían para muchas clases o llevaría mucho tiempo, tiene muchas opciones, porque no solo es un buscador, si lo mezclas con exec tiene un poder ilimitado.

Comparto uno de los artículos más completos sobre find de uno de los blogs sobre Linux de referencia más importante del habla hispana.

Buscar en el terminal (atareao)

Un saludo.

¡Javi te ha regalado $ 90 USD 🎉!

Si actualizas a premium con el siguiente enlace obtendrás un descuento para ti y ayudarás a Alejandro a seguir estudiando en EDteam.

ed.team/premium?cupon=REF-66408

Estos son los beneficios que tú y Javi recibirán si compras con su enlace de referidos 🙌

BeneficiosMensualSemestralAnual
Descuento ()$ 3 USD$ 45 USD$ 90 USD
Semanas gratis (Javi)1612

Al comprar con el enlace de referidos aceptas los términos y condiciones

Amigos

¿Cómo obtengo mi enlace de referidos?

Si eres estudiante premium ya tienes el enlace en tu perfil de usuario. Si aún no eres premium recibirás tu enlace de referidos como recompensa cada vez que completes un curso gratuito.

Más información
Publicaciones
Certificados
Me gusta
Referidos