"Si tú no trabajas por tus sueños, alguien te contratará para que trabajes por los suyos”

Steve Jobs

Afiliado
Dominios3Euros

Cuando vienes de Windows y eres un novato en LINUX, te encuentras en un entorno lleno bloqueos, pero NO desesperes.

<nota>Aunque ahora creo windows, ya empieza gestionar mejor los usuarios y sus permisos.</nota>

Recordar que linux nació como un sistema multiusuario y por eso toma muy en serio la seguridad, debes planificar bien la gestión de permisos, tanto de usuarios y como grupos usuarios.Los servicios y accines que permites hacer los usuarios o grupos de usuarios es fundamental en un sistema multiusuario.

No es complejo los controles de acceso en Linux es simplemente distinto y más avanzadas  que en windows. Si no te metes en cosas complejas como  ACL y LDAP Authentication, es sencillo de entender.

Gestion de permisos de Linux

Un administrador de sistemas debe prestar mucha atención a la gestión de permisos , planificando bien sus permisos para mantener un sistema seguro.

En Linux y para un administrador Linux, la terminal no es una opción, aunque lo parezca:

ls -l

Este comando puede ser buen inicio y hacernos una idea de la gestion de permisos de linux, nos saldría algo similar

-rw-rw-r-- 1 ricardo ricardo 96 oct 29 2013 C:\nppdf32Log\debuglog.txt
drwxr-xr-x 2 ricardo ricardo 4096 nov 18 2013 Descargas
-rw-r--r-- 1 root root 36 sep 16 21:51 documentocreadoroot.txt
drwxr-xr-x 2 ricardo ricardo 4096 oct 25 2012 Documentos
drwxr-xr-x 2 ricardo ricardo 4096 oct 25 2012 Escritorio
-rw-r--r-- 1 ricardo ricardo 8445 oct 25 2012 examples.desktop
drwxr-xr-x 2 ricardo ricardo 4096 oct 25 2012 Imágenes
drwxr-xr-x 2 ricardo ricardo 4096 oct 25 2012 Música

 La estructura de sería algo así

{T} {rwx} {rwx} {rwx} {N} {usuario} {grupo} {tamaño} {fecha de creación}{nombre de fichero}

Si quisieras ver los permisos de formato númerico de un solo fichero puedes utilizar esta otra instrucción, aunque te recomiento que te acostumbre a formato

stat -c%a nombrefichero

 

patronpermisosdeficheros

 

Patron tipos archivos {T}:

  • {D} -- Directorio
  • {C} -- Especial (Dispositivos , impresoras...)
  • {P} -- Pipe (Ni idea que es..)
  • {L} -- Enlace simbólico

Algo muy util para saber que tipo de fichero se trata.

Explicacion {rwx} en  tipos permisos:

tablasdevalorespermisosLos permisos se agrupan de 3 en 3, donde nos indica:

[r]  -- Permiso de lectura

[w]-- Permiso de escritura

[x] -- Permiso de ejecución

Aquellos están familiciados con el uso servidores, recordaran que los permisos en los servidores se muestran con decimales, por ello el esquema de la derecha para que se entienda.

Al final del documento en referencia, Ref1 os explica más detenidamente esto.

Resumen de gestión de USUARIOS en LINUX

Como ya dijimos con anterioridad, un administrador de sistemas debe saber crear, modificar, eliminar tanto usuarios como grupos.

En Linux existe un archivo (passwd) editable que contiene toda la información acerca de los usuarios creados en nuestro sistema, este fichero es encontrado en el directorio de configuración /etc.

¿ Como listar los usuarios que existen tu distribución linux ?

Mostrando el fichero /etc/passwd para ello podemos utilizar el comando:

cat /etc/passwd

En cada línea de ese fichero(passwd) muestra la información de un usuario del sistema, donde podemos encontrar tres tipos de usuarios:

  1. Usuario root:También llamado superusuario o administrador.
  2. Usuarios Especiales: Que son aquellos que se crean (generalmente) al instalar el sistema o instalar aplicaciones, son utilizados por estas para dar servicios a sistema operativo u otros usuarios, también se les conoce por USUARIOS del SISTEMA.
  3. Usuarios Normales: Se usan para personas que van utilizar el equipo.

En cada línea del ficheros passwd encontramos 7 campos para cada usuario separado por ":" y el patrón que utiliza es:

Nombre:Clave_encriptada:UID:GID:GECOS:Directorio_inicial:Intérprete

Es decir en cada línea encontramos la información de usuario con 7 campos posibles, separados por ":"

  1. Nombre: Nombre del usuario
  2. Clave_encriptada: Representada seguramente por "X" que nos indica que la clave esta encriptada y gestionada por el fichero /etc/shadow, al cual solo tiene acceso el root. Si se representa con "::" quiere decir que no tiene contraseña.
  3. UID: Identificador del usuario para el sistema, el usuario 0 siempre es root y es des-aconsejable que algún otro usuario pueda tener 0. Se reservan los 1000 primeros para usuarios del sistema.
  4. GID: Identificador del grupo primario.
  5. GECOS: Es un campo opcional, que normalmente guarda el nombre completo del usuario, podemos guardar lo queramos , ya que el sistema no lo utiliza para nada.
  6. Directorio_inicial: Donde empezará el usuario una vez logueado
  7. Intérprete: Intérprete de comando (bash,sh,tcsh..), si nos aparece sbin/nologin es un usuario que no se puede loguear, suelen ser para usuarios del propio sistema que dan servicios.

<nota>Gran parte de la seguridad de linux viene del buen uso del fichero passwd, ya que este fichero es objeto muchos ataques informáticos.</nota>

 

Resumen de gestión de grupos de usuarios en Linux.

Un usuario como mínimo pertenece a un grupo de usuarios (su grupo principal de usuario), pero puede pertenecer varios grupos.

¿ Saber a que groups pertenece un usuario de linux?

Con el comando:

groups [Nombre Usuario]

Nos muestra a que grupos pertenece.

Hay grupos como root,bin, .. que por lo general no pertenecen los usuarios del equipo.

El archivo que gestiona los grupos es etc/group.

El fichero que gestiona las contraseña de lo grupos es etc/gshadow y es solo accesible por el usuario root.

El patrón que utiliza el fichero etc/group es:

nombre_grupo:clave:GID:lista de usuarios miembros

¿ Crear un grupo de usuarios ?

Comando

groupadd [nombregrupo]

 

¿Añadir usuarios a un grupo ?

Comando:

adduser [nombreusuario] [grupo]

¿ Cambiar un fichero de usuario ?

Comando:

chown nuevousuario fichero

 

¿Cambiar un fichero de grupo ?

Comando:

chgrp <grupo> <carpeta>

 ¿ Cambiar un fichero de usuario y grupo con una sola instrucción ?

Comando:

 chown nuevousuario.nuevogrupo fichero

 

Referencias:

Ref1: Blog de Albertux-Capitulo VI

Ref2: Linuxtotal