Bases del sistema operativo

1

Aviso de renovación del curso

2

Lo que aprenderás sobre la administración de servidores linux

3

Distribuciones más utilizadas de Linux

4

Instalación de Ubuntu Server

5

Instrucciones para instalar CentOS

6

Gestión del árbol de directorios

7

Diferencias entre LESS, CAT, HEAD y TAIL para lectura de archivos

8

Interacción con archivos y permisos

9

Conociendo las terminales en linux

10

Manejo y monitoreo de procesos y recursos del sistema

11

Monitoreo de recursos del sistema

Instalación y manejo de software en Linux

12

Análisis de los parámetros de red

13

Administración de paquetes acorde a la distribución

14

Manejo de paquetes en sistemas basados en Debian

15

Administración de software con YUM y RPM para CentOS

16

Nagios: Desempaquetado, descompresión, compilación e instalación de paquetes

Administración de usuarios

17

Los usuarios, una tarea vital en el proceso de administración del sistema operativo

18

Creando y manejando cuentas de usuario en el sistema operativo

19

Entendiendo la membresía de los grupos

20

Usando PAM para el control de acceso de usuarios

Servicios en el sistema operativo

21

Autenticación de clientes y servidores sobre SSH

22

Configurando DNS con bind

23

Arranque, detención y recarga de servicios

24

NGINX y Apache en Ubuntu server

25

Instalación y configuración de NGINX

26

¿Qué es NGINX Amplify?

27

NGINX Amplify: Instalación y configuración de un servidor para producción

28

Monitoreo de MySQL con Nagios

29

Configuración de Nagios

30

Los logs, nuestros mejores amigos

31

Otros servicios de logs

Bash scripting

32

Las bases de bash

33

Las variables y su entorno de ejecución

34

Automatizando tareas desde la terminal

35

Automatizando la copia de seguridad

36

Crontab

Asegurando tu servidor

37

Entendiendo la gestión de vulnerabilidades

38

¿Qué es una superficie de ataque? Principio del menor privilegio

39

El firewall y sus reglas

40

Escaneo de puertos con NMAP y NIKTO desde Kali Linux

41

Lynis: Herramientas de auditoria de seguridad en Linux

Proyecto

42

Configuración de Node.js en un ambiente productivo

43

Configuración de NGINX para la aplicación de Node.js

Bonus: Linux en Azure

44

Aprende sobre Linux en Azure

45

Despliegue de una aplicación web MEAN

46

Crea una máquina virtual en la nube de Azure

Conclusiones

47

Lo que aprendiste sobre servidores linux

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Entendiendo la membresía de los grupos

19/47
Recursos

Los grupos nos ayudan a darle los mismos permisos a diferentes usuarios al mismo tiempo, sin necesidad de asignar el mismo permiso a cada usuario individualmente. Todos los usuarios que pertenezcan al mismo grupo tendrán los mismos permisos.

Para cambiar de usuario sin necesidad de reiniciar el sistema podemos usar el comando su - nombre-usuario. También podemos cambiar de usuario sin necesidad de saber su contraseña usando el comando sudo su - nombre-usuario.

Para ver a qué grupos pertenecen nuestros usuarios usamos el comando groups nombre-usuario. Para agregar usuarios a un nuevo grupo usamos el comando sudo gpasswd -a nombre-usuario nombre-grupo. Los eliminamos de la misma forma con gpasswd -d.

Para esto también podemos usar el comando sudo usermod -aG nombre-grupo nombre-usuario. Recuerda que en este caso el orden en que escribimos el grupo y el ususario se invierte.

Para listar los permisos de nuestros usuarios ejecutamos el comando sudo -l.

Aportes 68

Preguntas 20

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

RESUMEN DE LA CLASE
|
Entendiendo la membresía de los grupos
|
|
Comandos
|
su - usuario: Switch User, cambia de usuario
groups usuario: Muestra a que grupos pertenece cierto usuario
sudo gpasswd -a usuario grupo: Agrega un usuario a un grupo
sudo gpasswd -d usuario grupo: Quita a un usuario de un grupo
usermod -aG grupo usuario: Agrega un usuario a un grupo
sudo -l: Muestra que permisos tiene el usuario actual

Siguiendo el ejemplo, para hacer que el usuario nodejs sea Administrador:

… en Ubuntu:

sudo gpasswd -a nodejs sudo

… en Centos:

sudo gpasswd -a nodejs wheel

sudo gpasswd -a usuario grupo
sudo gpasswd -d usuario grupo
usermod -aG grupo usuario (agrega usuario a otro grupo)

passwd -l nombreusuario (bloquea)
passwd -u nombreusuario (desbloquea)
passwd --mindays=90 nombreusuario
passwd --maxdays=90 nombreusuario

usermod -L usuario
usermod -U usuario

Me parece super importante que cada vez que el profe ejecute un comando, nos indique cuál es la definición del mismo.
SUDO = Super User DO.

Sobre el file de sudoers en CentOS, de manera predeterminada el grupo apartado para darle privilegios sudo a un usuario agregando lo al grupo con privilegios , sería el grupo “wheel”. Previamente debemos verificar que el grupo wheel este habilitado, desde root, usar el comendo:

$ visudo

y luego deslizamos hasta encontrar el siguiente apartado:

## Allows people in group wheel to run all commands

# %wheel        ALL=(ALL)       ALL

También es recomendable hacer un backup del archivo sudoers original.

$  cp /etc/sudoers /etc/sudoers.original

Utilizando el ejemplo de nodejs, sería así:

$ usermod -aG wheel nodejs

corroboramos que el usuario este con los permisos (ALL) con el comando:

$ sudo -l

El grupo que tiene permisos de administrador o root:

  • sudo para distribuciones Debian/Ubuntu

  • wheel para distribuciones Redhat/CentOS

Me gustó esta clase! fue reveladora!
Estos son unos comandos que son fáciles de olvidar si no eres un sysadmin.
Recomiendo practicarlos en una semana, Eso haré!

Edison, cómo estás ?

Me parece que vale la pena aclarar que no siempre es el grupo “sudo” (entiendo que sería el grupo “sudo” solo en linux basados en debian) estoy usando un arch linux y el grupo por default es “wheel” (verificando el file /etc/sudoers)
Modificando el /etc/sudoers uno incluso podría agregar un grupo que tenga permisos de super usuario.

passwd
useradd "user"
adduser "user"
userdel "user
su - "user"
groups "user"
sudo gpasswd -a "user" "group"
sudo gpasswd -d "user" "group"
usermod -aG "group" "user"
usermod -L "user"
usermod -U "user"

En CentOS para que mi usuario pueda usar sudo, tuve que añadirlo al grupo wheel

usermod -aG wheel username

para remover el usuario del grupo usando usermod

sudo usermod -G [grupo] [usuario]

Para este ejemplo si queremos quitar a nodejs del grupo de sudo
queda asi

sudo usermod -G nodejs nodejs

Entendido.

su - usuario 
groups nodejs
sudo gpasswd -a nodejs sudo
sudo gpasswd -d nodejs sudo
usermod -aG sudo nodejs
sudo -l

Claramente hace falta agregar una clase de VISUDO para segmentar y tener un mejor manejo de seguridad.

Aquí, un breve aporte sobre el comando: sudo -l
Este comando puede llegar a ser más útil y versátil de lo que crees



El comando sudo -l muestra los comandos que se pueden ejecutar con sudo, junto con las opciones y argumentos permitidos para cada uno.

Y el comando sudo -l -U user user muestra los comandos permitidos para el usuario especificado. Ambas opciones son útiles para ver qué privilegios tiene sudo o para comprobar el permiso para ejecutar un comando específico.

Para ver qué comandos tienes permiso para ejecutar con sudo, simplemente ejecuta:

sudo -l


Si quieres ver las opciones y argumentos que puede usar el usuario john con el comando apt-get, ejecuta:

sudo -l -U john apt-get

Para crear el usuario del reto:

sudo useradd nodejs

Para ver en qué grupos está agregado el usuarios ‘nodejs’ (aunque por default cuando se crea uno se agrega a un grupo denominado con el mismo nombre que el usuario):

groups nodejs

Para agregar el usuario al grupo de sudoers:

sudo gpasswd -a nodejs sudo
sudo usermod -aG sudo nodejs

SUDO = SuperUser DO (haga cosas como super usuario)

Para cambiar entre usuarios:

sudo su - nombre_usuario

Para eliminar un usuario de un grupo:

sudo gpasswd -d nodejs sudo

Con el comando ‘sudo -l’ listamos los permisos que tiene el usuario que en ese momento está activo (whoami) y siempre y cuando pertenezca al grupo SUDO:

sudo -l

Demasiada información para procesar. Lo que haría falta es practicar, practicar y practicar.

Excelente curso.

Muchas gracias Platzi.

Como complemento: Cuando iniciamos sesión en un servidor linux se cargan una conjunto de variables de entorno las cuales conforman la configuración propia del usuario. Ahora bien, el “-” que se coloca luego del comando su es para indicar que cuando se haga el cambio se carguen las variables de entorno (configuración) del usuario al cual nos estamos cambiando.

Sin el “-”:

[jmendoza@localhost ~]$ sudo su
[root@localhost jmendoza]# pwd
/home/jmendoza
[root@localhost jmendoza]# 

Con el “-”:

[jmendoza@localhost ~]$ sudo su
[root@localhost jmendoza]# pwd
/home/jmendoza
[root@localhost jmendoza]# 

Aca lo estoy haciendo con el usuario root, pero aplica para cualquier cambio de usuario

Saludos


Hoy, Practicando los comandos, nuevamente.

Entendiendo la membresía de los grupos

.
sudo su - Node.js Nos permite cambiar al usuario seleccionado
.
Es importante hacer la actualización de paquetes: sudo apt update. También es importante saber que todos los usuarios recién creados apenas si tienen permisos para estar ahí, así que debemos actualizar los permisos del nuevo usuario, y para ello usamos: sudo gpasswd -a Node.js (grupo al que lo quieres añadir).
.
sudo Significa “super user do”
.
Es una mala práctica tener a todos los usuarios con el poder de autorización sudo, así que, una vez hayamos hecho lo que tengamos que hacer con el user, sería recomendable quitarle los super permisos: sudo gpasswd -d Node.js (grupo de donde lo deseas sacar).
.
sudo usermod -ag (grupo al que se desea agregar) sudo Node.js (user) Esta es una alternativa al comando gpasswd
sudo -l Nos sirve para ver los permisos de los usuarios

Si se quiere modificar los permisos específicos para un usuario se puede editar el archivo /etc/sudoers

Mini resumen de comandos
sudo su - < user > : cambia al usuario
sudo gpasswd -a <user> <group> asigna el usuario al grupo
sudo usermod -aG <group> <user> asigna el usuario al grupo
sudo gpasswd -d <user> <group> saca el usuario del grupo
grpup <user> consulta los grupos donde esta el usuario

Ohhh vale, por defecto Digital Ocean te da acceso al usuario root, pero entonces necesito crear usuarios para hacer ciertas acciones, estaría bien ver cómo organizar a los usuarios para esto:D!

Para cambiar de usuario puedo hacerlo directamente con sudo su nodejs, sin usar el -, sudo su - nodejs. Cual seria la diferencia entre usar uno u otro?

Para eliminar un usuario de uno o varios grupos usando el comando usermod puede hacerse de la siguiente forma.

  • Digamos que tenemos el usuario nodejs en los grupos nodejs, sudo, prueba1, prueba2 y queremos que este usuario solo pertenezca al grupo nodejs
    sudo usermod -G <grupo> <usuario>
    sudo usermod -G nodejs nodejs

  • Si queremos que ese usuario pertenezca a 2 o más grupos, el proceso es similar, pero los grupos se separan por comas. Quedando de esta forma
    sudo usermod -G <grupo>,<grupo> <usuario>
    sudo usermod -G nodejs, sudo nodejs

Para esto también podemos usar el comando sudo usermod -aG nombre-grupo nombre-usuario. Recuerda que en este caso el orden en que escribimos el grupo y el ususario se invierte.

Para listar los permisos de nuestros usuarios ejecutamos el comando sudo -l.

Para ver a qué grupos pertenecen nuestros usuarios usamos el comando groups nombre-usuario. Para agregar usuarios a un nuevo grupo usamos el comando sudo gpasswd -a nombre-usuario nombre-grupo. Los eliminamos de la misma forma con gpasswd -d.

Para cambiar de usuario sin necesidad de reiniciar el sistema podemos usar el comando su - nombre-usuario. También podemos cambiar de usuario sin necesidad de saber su contraseña usando el comando sudo su - nombre-usuario.

Hay una parte que me perdí
Cómo le hago para cambiarle el password al usuario nodejs que se creó para este ejemplo?

#Añadir un usuario a un grupo
sudo gpasswd -a usuario grupo

#Para eliminar usuario del grupo
sudo gpasswd -d usuario grupo

#Otra forma de añadir un usuario aun grupo
usermod -aG grupo usuario

#Para ver los permisos de un usuario
sudo -l

Siempre editaba directamente el archivo sudoers, que tonto jajaja

ctrl + a volver al incio de la pantalla

crear usuario

sudo adduser maria

dar permisos de sudo

sudo gpasswd -a maria sudo

cambiar de usuario

sudo su - maria 

mirar permisos de usuario

sudo -l

salir de usuario

exit

quitar permisos

sudo gpasswd -d maria sudo

eliminar usuario

sudo userdel maria

me parece importante el profesor cada ves hay comando nuevo

exelente explicacion

para cambiar de usuario su - nodejs

Excelent

me había confundido un poco por usar las 2 maneras, pero está muy interesante.

En distribuciones CentOS, el homologo del grupo sudo de Ubuntu es wheel

Tanto en Linux como en Windows, el comando WHOAMI tiene la misma funcion y se escribe igual.

Nunca me cansaré de no recomendar usar sudo su. Esto ejecuta dos comandos, sudo y su. Existe en sudo una opción para hacer lo mismo. sudo -u usuario -s, Dónde s nos devuelve una Shell con el usuario que le hemos indicado

RESUMEN CLASE 18

Para cambiar de usuario sin necesidad de reiniciar el sistema podemos usar el comando

$ su - nombre-usuario 

También podemos cambiar de usuario sin necesidad de saber su contraseña usando el comando

$ sudo su - nombre-usuario.

Para ver a qué grupos pertenecen nuestros usuarios usamos el comando.

$ groups nombre-usuario

Para agregar usuarios a un nuevo grupo usamos el comando.

$ sudo gpasswd -a nombre-usuario nombre-grupo

Los eliminamos de la misma forma con.

$ sudo gpasswd -d

Para agregar usuarios a un grupo también podemos usar el comando.

$ sudo usermod -aG nombre-grupo nombre-usuario

Para listar los permisos de nuestros usuarios ejecutamos el comando.

$ sudo -l

No sé si no me di cuenta pero en ninguna parte de esta sección del curso vi que se explicara los tipos de grupos existentes. Como sea, dejo mis apuntes.

Los grupos son un conjunto de usuarios que permiten administrar los permisos sobre el sistema operativo de cualquier cantidad de usuarios contenidos en el grupo. Todos los usuarios que pertenezcan al mismo grupo tendrán los mismos permisos. Existen dos tipos de grupos:

  • Primario o de inicio de sesión. Es el grupo que se asigna durante la creación de archivos o directorios por acción del usuario. Usualmente el nombre de este grupo es el mismo del usuario que lo creó. Cada usuario puede pertenecer únicamente a un grupo primario, así como un grupo primario solo puede contener a un usuario.
  • Secundario o suplementario. Es el grupo al que pueden pertenecer uno o más usuarios.

El siguiente comando lista todos los grupos existentes en el sistema operativo:

$ cat /etc/group

Otro comando útil para listar los usuarios vinculados en un grupo en específico es el siguiente:

$ getent group <group_name>

Sobre el usuario platzi
The lxd group should be considered harmful in the same way the docker group is. Under no circumstances should a user in a local container be given access to the lxd group. This is because it’s entirely trivial to exploit.

• adm: Group adm is used for system monitoring tasks. Members of this group can read many log files in /var/log, and can use xconsole. Historically, /var/log was /usr/adm (and later /var/adm), thus the name of the group.

• sudo: Members of this group can execute any command with sudo or pkexec. (See the default configuration in /etc/sudoers)

• cdrom: This group can be used locally to give a set of users access to a CDROM drive and other optical drives.

• dip: The group’s name stands for “Dial-up IP”, and membership in dip allows you to use tools like ppp, dip, wvdial, etc. to dial up a connection. The users in this group cannot configure the modem, but may run the programs that make use of it.

• plugdev: Allows members to mount (only with the options nodev and nosuid, for security reasons) and umount removable devices through pmount.

SystemGroups

Cambiar de usuario

Para cambiar de usuario corremos el código: su seguido de - nombre-de-usuario

Agregar al usuario a un grupo sudo gpasswd -a nombre de usuario nombre grupo

Ejemplo:

# Para agregar al grupo sudo 
sudo gpaswd -a nodejs sudo

# Para remover del grupo sudo 
sudo gpasswd -d nodejs sudo

Al hacer la actualización, lo hace con sudo así que supongo que los paquetes se actualizan para todos los usuarios, no?

R/ es correcto

Y al fin sabemos que significa sudo

Membresia de grupos:

su - usuario ---> me cambio a otro usuario (pedira contraseña)
sudo su - usuario ---> me cambio a otro usuario (NO pedira contraseña)
groups usuario ---> ver los grupos que pertenece el usuario
sudo gpasswd -a usuario  sudo ---> agrega a usuario a grupo sudo 
sudo gpasswd -d usuario sudo ---> quitar del grupo sudo al usuario
sudo usermod -aG sudo usuario ---> otra manera de agregar el usuario a grupo sudo (puede ser cualquier grupo)
sudo -l     --->  ver los permisos que tiene el usuario

Muy buena clase.

Excelente clase!

Entendiendo la membresía de los grupos

Los grupos nos ayudan a darle los mismos permisos a diferentes usuarios al mismo tiempo, sin necesidad de asignar el mismo permiso a cada usuario individualmente. Todos los usuarios que pertenezcan al mismo grupo tendran los mismos permisos.
Para cambiar de usuario sin necesidad de reiniciar el sistema podemos usar el comando su - nombre-de-usuario. Tambien podemos cambiar de usuario sin necesidad de saber su contrasena usando el comando sudo su - nombre-de-usuario.
Para ver a que grupos pertenecen nuestros usuarios usamos el comando groups nombre-usuario. Para agregar usuarios a un nuevo grupo usamos el comando sudo gpasswd -a nombre-usuario nombre-grupo. Los eliminamos de la misma forma con gpasswd -d
Para esto tambien podemos usar el comando sudo usermod -aG nombre-grupo nombre-usuario. Recuerda que en este caso el orden en que escribimos el grupo y el usuario se invierte.
Para listar los permisos de nuestros usuarios ejecutamosel comando sudo -l

asociación de usuarios a grupo

agregar usuario a un grupo mas facilmente

gracias

cree un usuario con el commando useradd prueba, le puse un password con passwd prueba, al momento de usar el usuario y querer autocompleta un commando con tab, solo me hace el salto de linea pero no autocompleta, a que se debe esto?

!!

Para hacer último comando tecleado como sido.

Es para evitar “palanca hacia arriba”>ctrl+a

que pasa si saco al root de los sudoers?

o si lo borro?

super! gracias! 😃

Gracias profe

Information about how to create home directory for a user can be found here:
https://serverfault.com/questions/63764/create-home-directories-after-create-users/508509

Muy interesante todo!

La idea es practicar…practicar… y practicar…
La practica hace al maestro…

Muy buena clase.

Que chistoso que para cambiarse al usuario sudo sea al revés:

sudo su

revelador como generar usuarios