258

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

211903Puntos

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

211903Puntos

hace 5 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
7
17236Puntos

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

5
15653Puntos

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

Bien explicado, ejemplos claros, excelente.

2
14275Puntos

Gracias, complemete mi conocimiento sobre este tema.

2
7422Puntos

Gracias por el aporte, me muy pareció interesante

2
14748Puntos

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

2
13653Puntos

Que genial articulo, muy util, gracias.

2
5930Puntos

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

2
13246Puntos

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

2
7268Puntos

Gracias, por la información.

2
17016Puntos

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

2
6261Puntos

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

2
1160Puntos

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
13979Puntos

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

2
2214Puntos

¡¡Excelente aporte!!

2

“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
15969Puntos
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
8658Puntos

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
10078Puntos

Excelente artículo gracias por compartir.

2

Preciso y conciso. Gracias por compartir xD

2
9027Puntos

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

2
13423Puntos

Muchas gracias por el contenido!

2
5692Puntos

Excelente articulo Juan. Muchas Gracias

2
8703Puntos

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

2
14392Puntos

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

2
19864Puntos

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

2
14786Puntos

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

2
5265Puntos

Que excelente articulo, muy buena explicación…gracias

2
28061Puntos

Un resumen bastente detallado.

2
17099Puntos

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

2
24433Puntos

Excelente post complemento una parte de lo que necesitaba saber.

2
38980Puntos

Exelente artiulo me sirvio ¡muchsimo!

2
4583Puntos

Buena información!

2
1324Puntos

Excelente articulo. Muchas gracias.

2
5244Puntos

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

2
15969Puntos

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
457Puntos

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

2
20207Puntos

Buen Articulo 😃

2
30377Puntos

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

2
48226Puntos

Que gran artículo, gracias.

2
27284Puntos

Buen artículo. Una buena lectura introductoria.
😃

2
19392Puntos

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

2
12028Puntos

Muy bueno, me despejó muchas dudas 😃

1
49398Puntos

Excelente informacion, tomare el curso de Seguridad Informatica 😄

1
16547Puntos
Muy buen aporte y excelente video de freddy :)
1
2016Puntos

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

0
211903Puntos
3 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
1480Puntos

Excelente información y facil de entender.

0
32779Puntos

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