258

Domina la Administración de Usuarios y Permisos en Servidores Linux

217246Puntos

hace 5 años

La Administración de Servidores está a cargo de muchas tareas: instalar herramientas, mantener el sistema operativo actualizado, gestionar usuarios y permisos, monitorear los servicios y puertos abiertos del sistema, identificar amenazas y vulnerabilidades, entre muchas otras.

En esta ocasión vamos a estudiar cómo funcionan los usuarios y permisos de nuestros servidores y computadoras personales con Linux o Mac.

¿Utilizas Linux? Estas son las 10 mejores distribuciones linux para ti.

Permisos para Usuarios, Grupos y Super Usuarios

Nuestro trabajo consiste en limitar las acciones que pueden realizar los usuarios de nuestros sistemas. Debemos encargarnos de que los usuarios no tengan más permisos de los que deberían tener.

Todo lo que no está explícitamente permitido, debe estar explícitamente prohibido.

Cuando hablamos de permisos no solo hablamos de usuarios individuales, también hablamos de grupos y super usuarios:

Los grupos de usuarios nos permiten darles los mismos permisos a diferentes usuarios. Todos los usuarios que pertenezcan al mismo grupo tendrán los mismos permisos. Así evitamos tener que darle los mismos permisos a cada usuario individualmente, uno por uno. Con solo cambiar los permisos del grupo cambiamos el permiso de todos los usuarios.

También están los super usuarios, la parte más alta de la pirámide, los que pueden hacer cualquier cosa. Lo ideal no es trabajar con este tipo de usuarios, ya que podrá activar procesos o realizar tareas que afecten nuestro servidor o generar vulnerabilidades. Más bien, debemos crear usuarios para cada tarea en específico que realizamos en nuestros servidores.

Cómo funcionan los permisos

Cuando ejecutamos el comando ls podemos ver la lista de archivos y subcarpetas de la ruta donde nos encontramos. Si usamos este comando con la opción -lh podemos ver un poco más de información: fecha de modificación, peso, usuario propietario, grupo al que es miembro este archivo y los permisos.

Concentrémonos en la primera parte, la de los permisos:

drwxrw-r-- usuario grupo
drwx------ usuario grupo
-rwxr-xr-x usuario grupo
-rwx------ usuario grupo

La primera letra puede ser una d para indicar que hablamos de una subcarpeta o un guion (-) cuando evaluamos archivos.

Las siguientes 9 letras debemos dividirlas en grupos de 3. El primer grupo son los permisos del usuario propietario del archivo. El segundo son los permisos del grupo al que pertenece el archivo. Y el tercero son los permisos para cualquier otro usuario del sistema operativo.

Cada grupo de 3 puede comenzar con la letra r, refiriéndose a los permisos de lectura., continuar con w para referirse a los permisos de escritura y terminar con una x para indicar los permisos de ejecución.

Si en vez de estas letras encuentras un guion (-) significa que no ese usuario o grupo de usuarios no tienen ese tipo de permisos.

Veámoslo más claro con un ejemplo:

Estos son los permisos: -rwxr-xr-- juandc estudiantes-platzi.

  • Estamos trabajando con un archivo.

  • El usuario propietario es juandc.

  • Este archivo pertenece al grupo de estudiantes-platzi.

  • El usuario propietario (juandc) tiene permiso para todo: leer, escribir y ejecutar el archivo.

  • El grupo al que pertenece el archivo solo tiene permisos para leer y ejecutar el archivo, no para editarlo.

  • El resto de usuarios de sistema operativo solo tienen permisos para leer el archivo, no para escribirlo ni ejecutarlo.

(d|-) Carpeta o archivo.

(r|-) El usuario propietario del archivo tiene permisos de lectura.
(w|-) El usuario propietario del archivo tiene permisos de escritura.
(x|-) El usuario propietario del archivo tiene permisos de ejecución.

(r|-) El grupo al que pertenece el archivo tiene permisos de lectura.
(w|-) El grupo al que pertenece el archivo tiene permisos de escritura.
(x|-) El grupo al que pertenece el archivo tiene permisos de ejecución.

(r|-) Todo el resto de usuarios del S.O tienen permisos de lectura.
(w|-) Todo el resto de usuarios del S.O tienen permisos de escritura.
(x|-) Todo el resto de usuarios del S.O tienen permisos de ejecución.

Actualización de permisos y propietarios

Bueno, ya sabemos leer los permisos, pero nos hace falta poder cambiarlos. Y para esto vamos a usar los comandos chmod y chown.

Cuando nos refiramos al usuario propietario debemos usar la letra u. Si cambiamos los permisos del grupo una g. Si queremos cambiar los permisos de cualquier otro usuario usamos la o. Y si queremos cambiar los permisos de TODOS usamos la a.

# Añadir permisos de escritura al grupo:
chmod g+w archivo.txt

# Eliminar permisos de lectura a los usuarios no propietarios# ni miembros del grupo al que pertenece el archivo:
chmod o-r

# Añadir permisos de ejecución a todos (cualquier usuario):
chmod a+x archivo.txt

Pero no solo podemos representar los permisos usando letras, también podemos hacerlo en formato numérico, con 3 números del 0 al 7:

  • - = 0
  • x = 1
  • w = 2
  • r = 4

Debemos sumar las 3 letras de cada permiso para obtener el “número definitivo”. Así que, continuando con el ejemplo anterior:

  • Permisos del usuario propietario: r (4) + w (2) + x (1) = 7.
  • Permisos del grupo al que pertenece el archivo: r (4) + x (1) = 5.
  • Permisos del grupo al que pertenece el archivo: r (4) = 4.

Todo esto para un conseguir un resultado de 754. Así que, si queremos eliminar los permisos de ejecución para el grupo, podemos usar el comando chmod con el número 744.

chmod 744 archivo.txt

Ahora digamos que queremos cambiar el usuario propietario de nuestro archivo. Para esto usaremos el comando chown seguido del nuevo usuario o grupo propietario del archivo.

# Cambiar el usuario propietario:
sudo chown nuevo-usuario archivo.txt

# Cambiar el grupo propietario:
sudo chown :nuevo-grupo archivo.txt

# Cambiar el usuario y grupo propietario:
sudo chown nuevo-usuario:nuevo-grupo archivo.txt

Conclusiones

La gestión de usuarios y permisos es solo una de todas las tareas que debemos realizar en la administración de servidores.

Aprende a usar la Terminal de Comandos para parecer un Hacker en frente de tus amigos con el Curso de Introducción a la Terminal y Línea de Comandos.

Domina los procesos y permisos de tu servidor en producción con el Curso de Administración de Servidores Linux. También puedes aprender a programar y automatizar las tareas que realizas en tu computadora con el Curso de Programación en Bash Shell.

Conoce los mejores sistemas, procesos, pruebas y herramientas para desplegar tus aplicaciones de forma segura y profesional. Te invito a seguir la Ruta de aprendizaje de Administración de Servidores y DevOps.

Por último, aprende a proteger tu empresa de ataques causados por vulnerabilidades humanas y técnicas siguiendo la Ruta de aprendizaje de Seguridad Informática.

#NuncaParesDeAprender 🤓💚

Juan
Juan
juandc

217246Puntos

hace 5 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
7
17339Puntos
5 años

Justo el artículo que necesitaba. ¡Bien ahí, Juan! 😁😃

5
18972Puntos
4 años

Textual:
sudo chmod [u,g,o][=,+,-][r,w,x] ruta-archivo

Textual recursivo a un grupo de archivos en una ruta:
sudo chmod [u,g,o][=,+,-][r,w,x] -R ruta

3
5Puntos
5 años

Bien explicado, ejemplos claros, excelente.

2
43906Puntos
5 años

Exelente artiulo me sirvio ¡muchsimo!

2
22485Puntos
5 años

Felicidades muy bien hecho tu post. Me gustaría saber como hiciste para que se vea así.

2
24137Puntos
4 años

Buen Articulo 😃

2
50513Puntos
4 años

Que gran artículo, gracias.

2
6060Puntos
4 años

Muchas gracias por la explicación, está muy clara!! 😃

2
5 años

Preciso y conciso. Gracias por compartir xD

2
5676Puntos
5 años

Excelente articulo Juan. Muchas Gracias

2
16068Puntos
4 años

Buen artículo, aunque en lo particular se me hace mas fácil de ver las combinaciones con una tabla de verdad en vez potencias.

2
19404Puntos
4 años

Este articulo ayuda mucho como complemente de la clase de “permisos” de terminal y linea de comandos

2
28758Puntos
4 años

Buen artículo. Una buena lectura introductoria.
😃

2
14253Puntos
4 años

Gracias, complemete mi conocimiento sobre este tema.

2
14392Puntos
5 años

Que buen articulo, sinceramente entendí mas leyendo este articulo que volviendo a ver el vídeo de la clase.

2
14924Puntos
5 años

Excelente post!, me ayudo a comprender más las clases del curso de terminal y línea de comandos.

2
9033Puntos
5 años

Muy buen articulo, esta mucho mas detallado que la clase.

2
31151Puntos
4 años

Excelente articulo que nos explica detalladamente los diferentes permisos que existen en a terminal de Linux y como aprender a modificarlos.

2
2214Puntos
4 años

¡¡Excelente aporte!!

2
1156Puntos
4 años

hola juan,
Me había costado entender el tema, pero con tu articulo que esta muy bien explicado fue mas fácil digerir el contenido.

gracias por el aporte

2
18530Puntos
4 años

excelente aporte! me ayudo a comprender mejor la administración de permisos.

2
13660Puntos
4 años

Que genial articulo, muy util, gracias.

2
8703Puntos
5 años

Gracias por compartir conocimiento, aprendí comandos que no conocía

2
28256Puntos
5 años

Un resumen bastente detallado.

2
13445Puntos
5 años

Muchas gracias por el contenido!

2
24431Puntos
5 años

Excelente post complemento una parte de lo que necesitaba saber.

2
5520Puntos
5 años

Que excelente articulo, muy buena explicación…gracias

2
1324Puntos
5 años

Excelente articulo. Muchas gracias.

2
6230Puntos
5 años

Gracias por la información Juan, me ayudaste a refrescar los conceptos.

2
4 años

“Aprende a usar la Terminal de Comandos para parecer un Hacker en frente de tus amigos”.
Bueno ahora si le encontré sentido a este curso, creo que me estaba dando muy duro porque no le encontraba utilidad.

3
16068Puntos
4 años

Yo la primera práctica de un for la hice en consola y fue simular las letras tipo matriz desplegándose.

2
457Puntos
4 años

Excelente información para reforzar la lección anterior.

2
9985Puntos
4 años

Excelente artículo gracias por compartir.

2
8666Puntos
4 años

Nunca pensé que estaría aprendiendo estas cosas. Aún no lo uso para nada práctico, pero creo que mi raspberry pi se va a enterar pronto.

2
9669Puntos
4 años

Excelente artículo Juan de verdad, me ayudó demasiado, muchisimas gracias por este contenido de calidad

2
17079Puntos
4 años

Me agrada que al revisar el artículo y compararlo con mis apuntes, son casi idénticos 😄. (Y obvio que los pude entender).

2
7417Puntos
4 años

Gracias por el aporte, me muy pareció interesante

2
13262Puntos
4 años

Gracias Juan por este aporte. Me ha quedado mas claro los de los permisos .

2
7259Puntos
4 años

Gracias, por la información.

2
14106Puntos
4 años

Gracias por este excelente post! Lo voy a guardar en mi marcador, es súper útil y necesario tenerlo a mano!

2
18855Puntos
5 años

Que post mas genial, gracias por toda esta información Juan ❤️

2
4583Puntos
5 años

Buena información!

2
13167Puntos
4 años

Muy bueno, me despejó muchas dudas 😃

1
1480Puntos
5 años

Excelente información y facil de entender.

1
2022Puntos
4 años

¿El comando sudo sirve por sesión o sirve cada vez que quieres hacer algo y no tienes el permiso de hacerlo?

0
217246Puntos
4 años

Si ejecutas sudo una vez con éxito, durarás unos 5-15 min sin tener que volver a escribir tu contraseña. 😄

1
16570Puntos
4 años
Muy buen aporte y excelente video de freddy :)
1
53508Puntos
2 años

Excelente informacion, tomare el curso de Seguridad Informatica 😄

0
32740Puntos
4 años

Loco, por qué lo único que se les ocurre a los jóvenes para verse cool es poner el símbolo de paz?