Sei sulla pagina 1di 15

1

ADMINISTRACION DE USUARIOS

Actualmente, la mayora de los sistemas operativos existentes son multiusuario y


multitarea. Ello implica que ms de un usuario puede trabajar en el sistema de forma
simultnea a otros, ejecutando una o ms tareas a la vez. Por este motivo, es muy
importante que el mismo sistema operativo incorpore mecanismos para manipular y
controlar correctamente a los usuarios: el sistema de entrada e identificacin (login), los
programas que puede ejecutar cada uno, mecanismos de seguridad para proteger el
hardware del ordenador, proteccin para los ficheros de los usuarios, etc.

Los sistemas operativos basados en LINUX organizan toda esta informacin por
usuarios y grupos. Al entrar en el sistema, debemos identificarnos con un login y una
contrasea. El login suele ser un nombre que identifica de forma inequvoca al usuario.

En sistemas donde hay ms que unos pocos usuarios, es importante disponer de una
buena poltica de nombres para poderlos identificar a todos de forma clara. La
contrasea debe ser una combinacin de letras, nmeros y caracteres especiales. No
debe estar formada por ninguna palabra de diccionario o similares porque puede
representar un problema de seguridad importante. El sistema de contraseas es de tipo
unidireccional. Esto quiere decir que nuestra contrasea no es almacenada como texto,
sino que es cifrada y guardada tal como es.

Cuando entramos en el sistema y escribimos nuestra contrasea, sta es cifrada y


comparada con la que est almacenada. Si coinciden, la identificacin es positiva, si no
coinciden, no hay identificacin. Lo importante de todo este sistema es que a partir del
cifrado no podemos conseguir, de ninguna manera, la clave original. Los programas que
intentan romper las contraseas de los usuarios lo nico que pueden hacer es cifrar
palabras a partir de diccionarios (con sistemas automticos para derivarlas y buscar
variantes) y probar si coinciden con el cifrado de alguna de las contraseas de usuario.

En todo sistema operativo debe haber un superusuario (root). ste ser el usuario que
contar con todos los permisos, el que tendr los privilegios mximos que le permitirn
efectuar cualquier operacin sobre el sistema. Es necesario que ste exista, ya que ser
quien se encargar de toda la administracin y gestin de servidores, grupos, etc. Esta
cuenta no debe utilizarse para trabajar normalmente en el sistema. Slo deberamos
entrar como root cuando sea realmente necesario, utilizando otras cuentas para el
trabajo normal de los usuarios. De este modo nunca podremos daar el sistema con
operaciones errneas o con la prueba de programas maliciosos, etc.

Por defecto, Ubuntu tiene la cuenta de root parcialmente deshabilitada. No podemos


logearnos como root para entrar en el sistema puesto que no tiene definida ninguna
contrasea de acceso. Para poder logearnos como root la primera vez deberemos
asignarle un password.
2

Tipos de usuarios
Los usuarios en Unix/Linux se identifican por un nmero nico de usuario, User ID, UID. Y pertenecen a
un grupo principal de usuario, identificado tambin por un nmero nico de grupo, Group ID, GID. El
usuario puede pertenecer a ms grupos adems del principal.

Aunque sujeto a cierta polmica, es posible identificar tres tipos de usuarios en Linux:

Usuario root

Tambin llamado superusuario o administrador.


Su UID (User ID) es 0 (cero).
Es la nica cuenta de usuario con privilegios sobre todo el sistema.
Acceso total a todos los archivos y directorios con independencia de propietarios y permisos.
Controla la administracin de cuentas de usuarios.
Ejecuta tareas de mantenimiento del sistema.
Puede detener el sistema.
Instala software en el sistema.
Puede modificar o reconfigurar el kernel, controladores, etc.

Usuarios especiales

Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache, etc.
Se les llama tambin cuentas del sistema.
No tiene todos los privilegios del usuario root, pero dependiendo de la cuenta asumen distintos
privilegios de root.
Lo anterior para proteger al sistema de posibles formas de vulnerar la seguridad.
No tienen contraseas pues son cuentas que no estn diseadas para iniciar sesiones con ellas.
Tambin se les conoce como cuentas de no inicio de sesin (nologin).
Se crean (generalmente) automticamente al momento de la instalacin de Linux o de la
aplicacin.
Generalmente se les asigna un UID entre 1 y 100 (definifo en /etc/login.defs)

Usuarios normales

Se usan para usuarios individuales.


Cada usuario dispone de un directorio de trabajo, ubicado generalmente en /home.
Cada usuario puede personalizar su entorno de trabajo.
Tienen solo privilegios completos en su directorio de trabajo o HOME.
Por seguridad, es siempre mejor trabajar como un usuario normal en vez del usuario root, y
cuando se requiera hacer uso de comandos solo de root, utilizar el comando su.
En las distros actuales de Linux se les asigna generalmente un UID superior a 500.

ARCHIVOS DE INICIALIZACION
3
4
5

ADMINISTRACION DE USUARIOS

Usuarios

Los siguientes programas permiten realizar operaciones relacionadas con usuarios:

su [usuario]

Permite entrar a una sesin como un usuario diferente, si no se especifica un


usuario como primer parmetro, su cambia al usuario root.

sudo
sudo (SUperuser DO) es una herramieta que permite otorgar a un usuario o grupos de
usuarios normales, permisos para ejecutar algunos comandos como root (o como otros
usuarios) sin necesidad de conocer su password.

El fundamento de sudo reside en su fichero de configuracin, el fichero /etc/sudoers.


Este fichero tiene, en los casos ms sencillos, dos partes: una parte de alias y otra parte
de reglas. La parte de alias, lo que hace es "agrupar" de alguna manera listas de usuarios
y listas de aplicaciones (incluso listas de mquinas de una red, pero esto es ms
especfico y no lo explicaremos aqu). La parte de reglas define qu grupos de usuarios
pueden usar qu grupos de programas con permisos distintos de los suyos y en qu
condiciones pueden hacerlo. Un fichero sencillo que nos podra servir podra ser como:

Esto con respecto al fichero /etc/sudoers. En la parte de alias, Cmnd_Alias indica una
lista de comandos (programas) que sern luego referidos mediante el nombre que le
demos (asginar alias aqu tiene similitud con asignar variables de entorno en el shell).
User_Alias agrupa a una lista de usuarios bajo un mismo nombre (en nuestro caso
USERSGRAB).

/etc/login.defs

En el archivo de configuracin /etc/login.defs estn definidas las variables que controlan


los aspectos de la creacin de usuarios y de los campos de shadow usadas por defecto.
Algunos de los aspectos que controlan estas variables son:
Nmero mximo de das que una contrasea es vlida PASS_MAX_DAYS
El nmero mnimo de caracteres en la contrasea PASS_MIN_LEN
Valor mnimo para usuarios normales cuando se usa useradd UID_MIN
El valor umask por defecto UMASK
Si el comando useradd debe crear el directorio home por defecto
CREATE_HOME
6

Basta con leer este archivo para conocer el resto de las variables que son
autodescriptivas y ajustarlas al gusto. Recerdese que se usaran principalmente al
momento de crear o modificar usuarios con los comandos useradd y usermod que en
breve se explicaran.

ARCHIVOS DE CONFIGURACIN

Toda la informacin de usuarios y grupos se guarda en los siguientes archivos:

/etc/passwd: informacin (nombre, directorio home, . . ) del usuario.

/etc/group: informacin sobre los grupos de usuarios.

/etc/shadow: contraseas cifradas de los usuarios y configuracin para su validez,


cambio, etc.

Utilizar el archivo de shadow es opcional. En un principio, las contraseas cifradas de


los usuarios se guardaban en el mismo fichero de passwd, pero, por razones de
seguridad (muchos mecanismos deben poder leer este fichero, con lo cual era muy fcil
hacerse con l e intentar crackear las contraseas) se opt por cambiar este mecanismo
para hacer que el fichero de shadow slo fuera accesible para algunos usuarios con
privilegios especiales en el sistema. Esta opcin es configurable en el proceso de
instalacin del sistema y suele ser recomendable utilizarla. Todos estos ficheros estn
organizados por lneas, donde cada una de ellas identifica a un usuario o grupo
(dependiendo del fichero). En cada lnea hay diversos campos separados por el carcter
: . En tareas de administracin, es importante saber qu son estos campos, por lo que
vamos a explorarlos con un poco ms de detalle:

ARCHIVO PASSWD

Todo usuario posee cierta informacin pewrifrica adjunta, la informacin es la


siguiente:

CAMPO DESCRIPCIN

El nombre del usuario. No puede haber dos nombres


Login:
iguales, aunque s alguno que coincida con un grupo
del sistema.

Si no se utiliza el fichero de shadow, las contraseas


Contrasea
cifradas se almacenan en este campo. Si utilizamos el
cifrada:
fichero de shadow, todos los usuarios existentes en
7

este fichero deben existir tambin en el de shadow y


en este campo se pone el carcter x.

Nmero de identificacin del usuario. Es el nmero


User ID: con el cual el sistema identifica al usuario. El 0 es el
nico que est reservado para el root.

El nmero de grupo al cual pertenece el usuario.


Group ID: Como un usuario puede pertenecer a ms de un grupo,
este grupo se denomina primario.

Campo reservado para introducir los comentarios que


queramos sobre el usuario. Se suele utilizar para
Comentarios:
poner el nombre completo o algn tipo de
identificacin personal.

El directorio home del usuario es donde ste podr


Directorio guardar todos sus ficheros. Suelen ponerse todos en
home: alguna carpeta del sistema (generalmente /home/) y
organizados por grupos.

Un intrprete de comandos (shell ) es un programa


que se encarga de leer todo lo que escribimos en el
teclado y ejecutar los programas o comandos que le
indiquemos. Hay decenas de ellos, aunque el ms
Intrprete de
utilizado es, sin duda, el bash (GNU Bourne-Again
comandos:
SHell). Si en este campo escribimos /bin/false no
permitiremos que el usuario ejecute ningn comando
en el sistema, aunque est dado de alta en el mismo.

Hay varios: sh, csh, ksh, bash, cts.

chsh permite cambiar de shell

Archivo /etc/shadow

El archivo /etc/shadow contiene informacin sobre las contraseas encriptadas de los


usuarios del sistema. El archivo slo lo puede ver y editar el root por lo que para ver su
contenido tenemos que ejecutar el siguiente comando:

sudo cat /etc/shadow


8

ARCHIVO GROUP

Para poder administrar los permisos de los usuarios de una forma ms flexible, el
sistema Linux permite la organizacin de usuarios en grupos y establecer permisos a los
grupos.

Ejemplo, si en un centro educativo el grupo "profesores" tiene acceso a ciertas carpetas,


cuando demos de alta un profesor nuevo, tan solo tendremos que aadirle al grupo
"profesores" para que pueda acceder a todas esas carpetas. Es lo que se denomina
administracin de permisos por grupos.

Los grupos pueden contener varios usuarios. Los grupos de usuarios solo pueden
contener usuarios, nunca podrn contener a otros grupos.

El sistema Linux codifica los grupos de usuarios con un nmero diferente a cada uno
que es el identificador de grupo (gid = Group IDentifier). Internamente el sistema
trabaja con el gid, no con el nombre del grupo.

Normalmente a los grupos que creemos se les asignan gids desde 1000 en adelante. Los
nmeros gid menores que 100 se reservan para grupos especiales del sistema.

En Linux por defecto, la informacin de los grupos de un sistema se guarda en el


archivo /etc/group. Es un archivo de texto que puede visualizarse con cualquier editor.
Cada linea del archivo /etc/group almacena los parmetros del grupo y los usuarios que
contiene. Solo puede modificarlo el administrador (root). Las contraseas de los grupos
se guardan encriptadas con un sistema de codificacin irreversible, en el archivo
/etc/gshadow que tambin es un archivo de texto.
El fichero /etc/group contiene informacin acerca de los grupos. El formato de cada
linea es:

nombre de grupo:clave:GID:otros miembros


9

Algunos ejemplos de grupos pueden ser:

root:*:0:
usuarios:*:100:juan,pepe
invitados:*:200:
otros:*:250:jose

CAMPO DESCRIPCIN

Nombre del grupo. Nombre que se asigna al grupo

Contrasea cifrada: La contrasea de un grupo se utiliza para


permitir que los usuarios de un
determinado grupo se puedan cambiar a
otro o para ejecutar algunos programas
con permisos de otro grupo (siempre que
se disponga de la contrasea).

Group ID: Nmero de identificacin del grupo. Es el


nmero con el cual el sistema identifica
internamente a los grupos. El 0 es el nico
que est reservado para el grupo del root
(los administradores).

Lista de usuarios: Los nombres de los usuarios que


pertenecen al grupo, separados por comas.
Aunque todos los usuarios deben
pertenecer a un determinado grupo
(especificado en el cuarto campo del
fichero de passwd), este campo se puede
utilizar para que usuarios de otros grupos
tambin dispongan de los mismos
permisos que tiene el que se est
referenciando.

ADMINISTRACION DE USUARIOS Y GRUPOS


10

La administracin de usuarios y grupos solamente puede realizarlas el usuario root


utilizando los comandos de gestin de usuarios. Las tareas y los comandos para
realizarlas son:

Creacin de usuarios / useradd / adduser

Modificacin de usuarios / usermod

Eliminacin de usuarios / userdel

Creacin de grupos / groupadd

Modificacin de grupos / groupmod

Eliminacin de grupos / groupdel

Aadir usuarios a un grupo / adduser

Quitar usuarios de un grupo / deluser

Crear/Agregar usuarios

Antes de empezar, debes saber que los dos comandos conducen al nico objetivo de la
creacin de un usuario en un sistema Linux, de hecho, adduser es un script basado en
lenguaje Perl del comando useradd. Las diferencias entre ambos son que adduser nos
permite agregar un usuario de manera ms interactiva y useradd nos permite mas
opciones a la hora de crear los usuarios

Comando adduser-useradd
El comando useradd permite aadir un usuario indicando como parmetros la
informacin particular para crear el usuario en la misma lnea de comandos. La sintaxis
es:

# useradd [opciones] nombre-usuario

Entre las opciones ms destacables tenemos:

-g: Grupo principal que queremos tenga el usuario (debe existir)

-d: Carpeta home del usuario. Suele ser /home/nombre-usuario

-m: Crear carpeta home si es que no existe.

-s: Intrprete de comandos (shell) del usuario. Suele ser /bin/bash

Ejemplo 1, si deseamos crear un usuario llamado 'pedro' cuya carpeta home sea
/home/pedro y su intrprete de comandos sea /bin/bash, ejecutaremos el siguiente
comando:

// Crear un usuario

# useradd -d /home/pedro -m -s /bin/bash pedro


11

Comando adduser
De esta forma se crea un nuevo usuario de nombre <usuario>, con todas las opciones
por defecto, tales como ubicacin de su directorio, duracin de la cuenta de usuario,
shell a utilizar o grupos en los que va a ser includo. Estos parmetros se pueden
cambiar ms adelante usando el comando usermod

adduser usuario

Comando Passwd

Forzar el cambio de contrasea de un usuario de manera inmediata. Si usted


asigna una cuenta a un usuario, y se quiere asegurar de que la primera vez que
inicie cambie su contrasea, debe usar lo siguiente:
$ passwd -e usuario

Forzar el cambio de contrasea a los n dias. Es parecida a la anterior, pero


debe usarse la opcin -n
$ passwd -n 3 Juanito

ver el mensaje
# password expiry information changed

y con esto se obliga a Juanito a cambiar su contrasea a los 3 dias.

NOLOGIN
12

La existencia del archivo en /etc/nologin.. permite que ningn usuario excepto el


rrot podrn ingresar al sistema

/etc/nologin imprime un mensaje al usuario diciendo que la cuenta est deshabilitada, y luego se
cierra, cuando el usuario tiene el Shell nologin en el archivo /tc/passwd

COMANDO CHAGE

La herramienta chage modifica el nmero de das entre cambios de contrasea y la fecha del ltimo
cambio de contrasea. Esta informacin es utilizada por el sistema para determinar cuando un
usuario debe cambiar su contrasea.

con chage podemos ver el resultado de nuestras modificaciones:

Para verificar cundo ha cambiado por ltima vez su contrasea un usuario, y cuantos das
entre cambios de contrasea tiene configurada la cuenta, se puede utilizar chage con la
opcin -l. Por ejemplo:

El usuario "fulanito" ha cambiado por ltima vez su contrasea el da 20 de febrero de 2015, y la


misma expira dentro de 99999 das a partir de tal fecha. A fines prcticos significa que la contrasea
no expira, la expiracin para dicha contrasea est desactivada. Notar que el campo Password
expires figura como "never" (nunca, en ingls).

Por razones de seguridad, es altamente recomendable habilitar la expiracin (o envejecimiento) de


contraseas para cuentas de usuario (no as para cuentas de servicios, o cuentas de sistema). De esta
forma se fuerza a los usuarios a cambiar su contrasea peridicamente.
Por ejemplo, para que el usuario "fulanito" deba cambiar su contrasea cada 90 das, ejecutar el
siguiente comando:

Ahora se observa que la contrasea de "fulanito" expirar el 21 de mayo de 2015 (90 das ms
tarde):

Adems, el sistema notificar al usuario con 15 das de anticipacin para que realice el cambio, y el
nmero de das mnimo entre cambios de contraseas es cero (es decir, el usuario puede cambiar su
contrasea todas las veces que desee, no necesita dejar que pase una cantidad de tiempo especfica
antes de poder cambiarla nuevamente).
13

Cambiar la fecha de expiracin de la cuenta al da 2017-9-28 al


usuario pepe
# chage -E 2017-9-28 pepe

Obligar a cambiar la clave en el prximo intento de acceso


# chage -d 0 pepe

Modificar usuarios con el comando usermod


Despus de que haya creado un usuario, puede necesitar cambiar algn atributo de dicho
usuario, como puede ser el directorio inicial o la clave. La forma ms simple de hacer
esto es cambiar los valores directamente en /etc/passwd

usermod c New name d homedir m g groupname s shell l newlogin currentlogin

usermod l nuevologin actuallogin


usermod -s /bin/ksh pedro
usermod c modifica datos
Eliminar usuarios con el comando userdel
De forma parecida, borrar usuarios puede hacerse con los comandos userdel o deluser,
o eliminando a mano las entradas correspondientes en los ficheros de configuracin.

Si se emplea el comando userdel r usuario quedar eliminado del sistema y todos sus
archivos quedaran atrs, permite eliminar todos los indicios del usuario.

Ejemplo

userdel pedro

userdel r pedro

Elimina al usuario pedro y su carpeta home

deluser remove-home backup usuario2

deluser remove-all-file bakcup usuario2

Crear Agregar grupos con el comando groupadd


El comando groupadd permite agregar al sistema desde la linea de comandos

groupadd nuevogrupo

donde nuevo grupo es el nombre del grupo que desea agregar al sistema
14

Aadir usuarios a un grupo (gpasswd adduser)


Para agregar usuarios a un grupo existente, inicie sesin como usuario root e introduzca
el comando siguiente:

gpasswd a loginname groupname

o tambien utilizar

adduser juan alumnos

Por ejemplo para agregar el usuario victor al grupo operativos tendra que utilizar el
comando siguiente:

gpasswd a victor operativos

Podemos establecer una lista de miembros del grupo con -m:

gpasswd -M usuario1, usuario2 grupo1


Saber a que grupos pertenece un usuario

groups usuario

Como puedo saber que usuarios pertenecen a un grupo?

Eliminar un usuario de un grupo existente

gpasswd d loginname groupname

o tambien utilizar

deluser usuario grupo

Utilizar el comando chgrp


Para cambiar el grupo de un archivo utilice el comando chgrp

chgrp groupname filename

donde groupname es el nombre del grupo al que desea cambiar el parmetro del grupo
el archivo, y filename es el nombre del archivo en el que quiere cambiar el grupo.

Por ejemplo si quisiera cambiar el grupo del archivo tarea.txt a operativos

chgrp operativos tarea.txt

Para cambiar el grupo de un directorio y todos sus subdirectorios y archivos, podemos


usar el comando chgrp con la opcin R por ejemplo:

chgrp R operativosII directorio

Modificar grupos con el comando groupmod


Para modificar el nombre de un grupo una vez creado, utilice el comando groupmod.

groupmod n newgroup currentgroup


15

donde newgroup es el nuevo nombre que se quiere asignar al grupo y currentgroup es el


nombre actual del grupo

Eliminar grupos con el comando groupdel


Para eliminar un grupo existente, utilice el comando groupdel

groupdel groupname

donde groupname es el grupo que desea eliminar. Sin embargo hay un inconveniente.
No es posible eliminar un grupo si es el grupo principal del cualquier usuario. Primero
tendr que eliminar los usuarios o cambiar su grupo principal por medio del comando
usermod.

Cambiar la propiedad y los permisos de archivo


Utilizar el comando chown (Change Ownership) (Cambiar propiedad)

Para cambiar el propietario de un archivo, hay que utilizar el comando chown

chown ownername filename

donde ownername es el nombre de inicio de sesin del usuario en el que desea cambiar
el parmetro de propiedad de archivo, filename es el nombre del archivo en el que desea
que cambie el propietario

Por ejemplo si quisiera cambiar el propietario del archivo index.html a usuario5,


tendramos que utilizar chown as:

chown usuario5 index.html

para cambiar el propietario de un directorio y todos sus subdirectorios y archivos,


podemos usar el comando chown con la opcin R. Por ejemplo, para cambiar el
propietario de todos los archivos del directorio htdocs a usuario5, tendramos que
utilizar:

chown R usuario5 htdocs

Potrebbero piacerti anche