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.
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.
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.
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:
r (4) + w (2) + x (1) = 7
.r (4) + x (1) = 5
.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
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 🤓💚
Justo el artículo que necesitaba. ¡Bien ahí, Juan! 😁😃
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
Bien explicado, ejemplos claros, excelente.
Excelente informacion
Exelente artiulo me sirvio ¡muchsimo!
Felicidades muy bien hecho tu post. Me gustaría saber como hiciste para que se vea así.
Excelente
Buen Articulo 😃
Que gran artículo, gracias.
Muchas gracias por la explicación, está muy clara!! 😃
Preciso y conciso. Gracias por compartir xD
Excelente articulo Juan. Muchas Gracias
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.
Este articulo ayuda mucho como complemente de la clase de “permisos” de terminal y linea de comandos
Gran artículo.
Buen artículo. Una buena lectura introductoria.
😃
muy buen contenido
Gracias, complemete mi conocimiento sobre este tema.
Que buen articulo, sinceramente entendí mas leyendo este articulo que volviendo a ver el vídeo de la clase.
Excelente post!, me ayudo a comprender más las clases del curso de terminal y línea de comandos.
Buen aporte!
Muy buen articulo, esta mucho mas detallado que la clase.
Excelente articulo gracias
Gracias Platzi
Excelente articulo que nos explica detalladamente los diferentes permisos que existen en a terminal de Linux y como aprender a modificarlos.
De maravillaaaaa !!!
¡¡Excelente aporte!!
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
excelente aporte! me ayudo a comprender mejor la administración de permisos.
Que genial articulo, muy util, gracias.
Gracias por compartir conocimiento, aprendí comandos que no conocía
Un resumen bastente detallado.
Muchas gracias por el contenido!
Excelente post complemento una parte de lo que necesitaba saber.
Este articulo me aclaro muchas dudas, muchas gracias.
Buen articulo para reforzar lo aprendido
Que excelente articulo, muy buena explicación…gracias
Excelente articulo. Muchas gracias.
Gracias por la información Juan, me ayudaste a refrescar los conceptos.
Gracias Juan!
“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.
Yo la primera práctica de un for la hice en consola y fue simular las letras tipo matriz desplegándose.
Muy buen aporte gracias
Excelente información para reforzar la lección anterior.
Thanks!!
Bueno! ME gusto este articulo!
Excelente artículo gracias por compartir.
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.
Gracias!
Excelente artículo Juan de verdad, me ayudó demasiado, muchisimas gracias por este contenido de calidad
Me agrada que al revisar el artículo y compararlo con mis apuntes, son casi idénticos 😄. (Y obvio que los pude entender).
Super!
Muy bueno este articulo
Gracias por el aporte, me muy pareció interesante
Gracias Juan por este aporte. Me ha quedado mas claro los de los permisos .
Gracias, por la información.
Gracias por este excelente post! Lo voy a guardar en mi marcador, es súper útil y necesario tenerlo a mano!
Que post mas genial, gracias por toda esta información Juan ❤️
Buena información!
Muy bueno, me despejó muchas dudas 😃
Excelente información y facil de entender.
¿El comando sudo sirve por sesión o sirve cada vez que quieres hacer algo y no tienes el permiso de hacerlo?
Si ejecutas sudo una vez con éxito, durarás unos 5-15 min sin tener que volver a escribir tu contraseña. 😄
Excelente articulo.
Muy buen aporte y excelente video de freddy :)
Excelente informacion, tomare el curso de Seguridad Informatica 😄
Loco, por qué lo único que se les ocurre a los jóvenes para verse cool es poner el símbolo de paz?
🖖