Bases del sistema operativo

1

Lo que aprender谩s sobre la administraci贸n de servidores linux

2

Distribuciones m谩s utilizadas de Linux

3

Instalaci贸n de Ubuntu Server

4

Instrucciones para instalar CentOS

5

Gesti贸n del 谩rbol de directorios

6

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

7

Interacci贸n con archivos y permisos

8

Conociendo las terminales en linux

9

Manejo y monitoreo de procesos y recursos del sistema

10

Monitoreo de recursos del sistema

Instalaci贸n y manejo de software en Linux

11

An谩lisis de los par谩metros de red

12

Administraci贸n de paquetes acorde a la distribuci贸n

13

Manejo de paquetes en sistemas basados en Debian

14

Administraci贸n de software con YUM y RPM para CentOS

15

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

Administraci贸n de usuarios

16

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

17

Creando y manejando cuentas de usuario en el sistema operativo

18

Entendiendo la membres铆a de los grupos

19

Usando PAM para el control de acceso de usuarios

Servicios en el sistema operativo

20

Autenticaci贸n de clientes y servidores sobre SSH

21

Configurando DNS con bind

22

Arranque, detenci贸n y recarga de servicios

23

NGINX y Apache en Ubuntu server

24

Instalaci贸n y configuraci贸n de NGINX

25

驴Qu茅 es NGINX Amplify?

26

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

27

Monitoreo de MySQL con Nagios

28

Configuraci贸n de Nagios

29

Los logs, nuestros mejores amigos

30

Otros servicios de logs

Bash scripting

31

Las bases de bash

32

Las variables y su entorno de ejecuci贸n

33

Automatizando tareas desde la terminal

34

Automatizando la copia de seguridad

35

Crontab

Asegurando tu servidor

36

Entendiendo la gesti贸n de vulnerabilidades

37

驴Qu茅 es una superficie de ataque? Principio del menor privilegio

38

El firewall y sus reglas

39

Escaneo de puertos con NMAP y NIKTO desde Kali Linux

40

Lynis: Herramientas de auditoria de seguridad en Linux

Proyecto

41

Configuraci贸n de Node.js en un ambiente productivo

42

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

Bonus: Linux en Azure

43

Aprende sobre Linux en Azure

44

Despliegue de una aplicaci贸n web MEAN

45

Crea una m谩quina virtual en la nube de Azure

Conclusiones

46

Lo que aprendiste sobre servidores linux

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Entendiendo la membres铆a de los grupos

18/46
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 59

Preguntas 18

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta 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

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

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.

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茅!

El grupo que tiene permisos de administrador o root:

  • sudo para distribuciones Debian/Ubuntu

  • wheel para distribuciones Redhat/CentOS

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.


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

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

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