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 鈥渨heel鈥. 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 鈥渟udo鈥 (entiendo que ser铆a el grupo 鈥渟udo鈥 solo en linux basados en debian) estoy usando un arch linux y el grupo por default es 鈥渨heel鈥 (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 鈥榥odejs鈥 (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 鈥榮udo -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 鈥渟uper 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鈥檚 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鈥檚 name stands for 鈥淒ial-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 鈥減alanca 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鈥racticar鈥 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