Clase 2 LINUX: Gestión de usuarios, grupos, permisos y Docker.

Por: David Ijaji Estudiante de Bioingenieria 

Universidad de Antioquia

En esta clase continuando con LINUX  se inició abordando la gestión de usuarios y grupo.

Primero biene la conexion a la maquina virtual con:

vagrant ssh

ssh: es un protocolo de comunicación cifrado

Usuarios:

Para ver los usuarios del sistema se accede este archivo:

etc/passwd

Se puede hacer con el editor de texto nano por ejemplo.

En cuanto a los usuarios se tienen dos formas de crearlos con los siguientes comandos:

Versión clásica para crear usuarios:

sudo useradd nombredeusuario

Esta opción pide los datos para el usuario creado:

sudo adduser nombredeusuario

Cada usuario tiene contraseña, la cual podemos cambiar usando el comando:

sudo passwd fulanito

Para volverse un usuario que ya hemos registrado podemos usar el código:

sudo su - fulanito

Nota: Esto solo se puede hacer si somos usuarios root.

También es posible borrar usuarios con el comando:

sudo deluser fulanito

Recordatorio: Comando "tree" sirve para ver los archivos en jerarquía.

Permisos de usuarios:

Al ejecutar el comando ls -l podemos ver los permisos de los archivos, estos se muestran así:

Cada archivo tiene un código de letras que se ordenan así:


d: directory

r: read

w: write

x: execution

Entonces en el ejemplo de la imagen el usuario puede hacer todo (leer, editar y ejecutar), si hace parte solo del grupo puede leer al igual que cualquier otro 

estos permisos cambian para una carpeta:

r: Puede ver que hay en la carpeta

w: El contenido de la carpeta puede modificarse

x: Puede acceder a al carpeta mediante cd

Los permisos pueden ser usados con números binarios por ejemplo si queremos que todos tengan todos los permisos entonces se pone 111 111 111 donde cada numero se relaciona con rwx en este caso seria d rwx rwx rwx en decimal es 777 que permite hacer todo a todos.

En consola se puede aplicar:

chmod -R 760 Carpeta

En binario y separando los numeros 760 es 111 110 000 lo que indica que esa carpeta o archivo tiene permisos rwx rw- --- y -R para que todo lo que este dentro quede con los mismos permisos.

Grupos:

Cuando tenemos usuarios también es posible crear grupos, en primer lugar para ver los grupos con el editor nano por ejemplo podemos usar el código para abrir el archivo group.

nano /etc/group

Para crear un grupo:

sudo addgroup "nombre del grupo"

Para agregar un usuario al grupo:

sudo usermod -aG "NombreGrupo" "NombreUsuario"

Para asignarle permisos a una carpeta segun el usuario se usa "chown" de change owner se peude usar el codigo:

sudo chown -R usuario.grupo NombreCarpeta

-R: reterative para que se aplique a todas las carpetas contenidas

Nota: Por seguridad cuando se elimina un usuario y este era el propietario de algunos archivos estos archivos quedan desprotegidos, por eso se debe reasignar dueños de esas carpetas/archivos.

Gestión de paquetes:

Dependiendo de la distribución de linux se puede utilizar ciertos comandos para realizar ciertas acciones con los paquetes.

En este caso se usa apt "Advanced Packaging Tool" el cual ayuda a ver los paquetes, refrescar, instalar, etc...

Refrescar la base de datos de paquetes en ubuntu

sudo apt update

Buscar paquetes

apt search NombrePaquete

Instalar

sudo apt install NombrePaquete

Desinstalar

sudo apt remove NombrePaquete

Nota: en la clase se instala docker y apache 

Apache:

Es un servidor web de codigo abierto y es multiplataforma.

Nota: DNS es un servicio que sirve para traducir IP a un dominio

Instalar apache

sudo apt install apache2

Ver si el servicio está encendido

systemctl status apache2

Aapagar el servicio de apache

sudo systemctl stop apache2

Prender el servicio

sudo systemctl start apache2

Para que la máquina habilite automáticamente el apache si se apaga

sudo systemctl enable apache2

Para que no pase esto entonces se usa:

sudo systemctl disable apache2

Editores de texto:

Son editores de texto que se usan desde consola, en linux se puede usar vim o nano:

Nano:

Crea archivo

nano miarchivo.txt

En nano apenas se abre el editor se muestran unas opciones para entrar a las acciones se usa la tecla Ctrl


vim:

vim es otro editor especialización de vi, en este se tienen diferentes modos en los cuales se puede acceder a diferentes modos:

Modo comando: Por defecto apenas se entra

Modo edición:  Tecla i

ESC para volver al modo comando

En modo comando:

:w graba el archivo

:q para salir 

:w! para forzar grabado

:q! para forzar la salida

:wq graba y sale

:wq! forzar grabar y salir

DOCKER:

Es una tecnología en contenedores que ayuda a crearlos y utilizarlos.

Para instalarlo se puede seguir los pasos de https://docs.docker.com/engine/install/ubuntu/. Adicionalmente se debe agregar el usuario en el que trabajamos a docker, los comandos usados son:

sudo apt-get remove docker docker-engine docker.io containerd runc

sudo apt-get update

sudo apt-get install \

    apt-transport-https \

    ca-certificates \

    curl \

    gnupg \

    lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \

  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \

  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

sudo usermod -aG docker vagrant

Algunos comandos de docker:

systemctl status docker

sudo systemctl start docker

sudo systemctl enable docker

En el curso se usará docker para desplegar mysql 









Comentarios

Entradas más populares de este blog

Implementación backend y Docker: Sistema computarizado de datos LIS perfil lipídico

CLASE # 3: BASES DE DATOS

Clase 1: Introducción al curso y a Linux