Usuarios y Grupos

De CURE - Informática
Saltar a: navegación, buscar

Introducción

Tipos de cuenta de usuarios: root, usuarios humanos con y sin privilegios de administración, usuarios del sistema, usuarios para cada aplicación (e.g. el usuario "mysql" para la base de datos "MySQL").

Archivos: en /etc: passwd, shadow, group, gshadow

Comandos: useradd, usermod, userdel, groupadd, groupmod, groupdel, finger, chfn, chsh, passwd(usado por un usuario común), newusers(usado por un supervisor), chpasswd(para manejar cantidades de usuarios).

Control de permisos: chown, chgrp, chmod, umask

Sistemas centralizados de datos y control de usuarios: NIS (obsoleto), LDAP.


Objetivos

  • Administrar usuarios y grupos del sistema.


Software

No es necesario instalar ningún paquete adicional para poder administrar los grupos y usuarios del sistema, hay una excepción en Ubuntu Server, se debe instalar el paquete finger con el comando sudo apt-get install finger.


Comandos

Comandos: adduser, usermod, userdel, addgroup, groupmod, groupdel, finger,chfn, chsh, passwd, newusers, chpasswd, chown, chgrp, chmod,umask.

Archivos: /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow.


Procedimiento

Comandos para gestionar usuarios y grupos

  • Añadir usuarios y grupos.

adduser <nombre>: añade el usuario <nombre> al sistema. El sistema pedirá alguna información adicional sobre el usuario y una contraseña. Por defecto se creará un grupo con el nombre del usuario y éste será su grupo principal.

adduser --ingroup <grupo> <nombre>: añade el usuarios <nombre> estableciendo <grupo> como su grupo principal.

adduser <nombre> <grupo>: añade el usuario <nombre> (previamente creado) al grupo <grupo>.

addgroup <grupo>: añade al sistema un grupo llamado <grupo>.

  • Eliminar usuarios y grupos.

userdel <nombre>: elimina del sistema el usuario <nombre>. Si además se indica la opción -r, también se borrará el directorio personal del usuario con todo su contenido.

groupdel <grupo>: elimina del sistema el grupo <grupo>.

  • Modificar usuarios y grupos.

usermod -d <directorio> -m <usuario>: cambia el directorio de inicio del usuario para que sea <directorio>. La opción -m hace que mueva el contenido del antiguo directorio al nuevo emplazamiento. # ESTO LO MODIFICÓ CARLOS AQUINO

usermod -g <grupo> <nombre>: cambia el grupo inicial del usuario <nombre> para que sea <grupo>.

usermod -l <nuevo_nombre> <nombre>: cambia el nombre del usuario <nombre> por <nuevo_nombre>.

groupmod -n <nuevo_grupo> <grupo>: cambia el nombre del grupo <grupo> por <nuevo_grupo>.

  • Información de usuarios.

finger: (sin argumentos) información de los usuarios del sistema.

finger <usuario>: información de usuario (login, nombre, último ingreso, ruta de carpeta personal, etc).

  • Cambiar información personal de un usuario

chfn <usuario>: muestra y permite cambiar la información personal (menos el nombre) en la cuenta de usuario.

  • Cambiar shell de acceso

chsh : (sin argumentos) permite cambiar el shell de acceso para root

chsh <usuario>: permite cambiar el shell de acceso para usuario

  • Establecer y/o cambiar contraseña de usuario

passwd (sin argumentos): permite cambiar la contraseña del usuario actual.

passwd <usuario>: permite cambiar la contraseña de usuario (usado sin sudo pide contraseña actual),

  • Bloquear/Desbloquear una cuenta por un supervisor

passwd -l <usuario>: bloquea la cuenta de usuario añadiendo "!" delante de su contraseña en el archivo /etc/shadow.

passwd -u <usuario>: desbloque la cuenta de usuario.

  • Crear múltiples usuarios (usuario supervisor)

newusers: permite crear o actualizar usuarios desde archivo Cada línea del archivo debe tener el mismo formato que el archivo /etc/passwd (usuario:contraseña:UID:GID:nombre_usuario:directorio:shell) sudo newusers nuevos_usuarios

  • Cambiar contraseña a varios usuarios (usuario supervisor)

sudo chpasswd

user1:contraseña1

user2:contraseña2

........

  • Control de permisos

chown <usuario> <archivo>: cambia el dueño de <archivo> adjudicándoselo a <usuario> (sólo supervisor)

chown <usuario> <archivo1> <archivo2>...: cambia el dueño de la lista de archivos adjudicándoselo a <usuario>. (sólo supervisor)

chgrp <grupo> <archivo1> <archivo2>...: cambia de grupo la lista de archivos adjudicándoselo a <grupo>.

Los permisos de un archivo pueden ser modificados por el propietario o por el administrador del sistema con el comando chmod que espera dos parámetros: cambio por realizar al permiso y nombre del archivo por cambiar. Los permisos se pueden especificar de manera simbólica o absoluta.

Simbólica: + agrega permisos - quita permisos = únicos permisos asignados al archivo r lectura w escritura x ejecución, o acceso si es un directorio s usa al id del dueño o grupo del archivo al ejecutar t fija "sticky bit" a un directorio: sólo dueños pueden borrar u usuario (dueño) g grupo o otros a todos (dueño, grupo y otros)

Ejemplos: chmod u+rwx,g+rw-x,o+r-wx archivo chmod u=rwx,g=rw,o=r archivo (ambos ejemplos cambian los permisos de los archivos indicados

Absoluta: Se usa un código de 4 dígitos octales 0...7, en la forma Nnnn N: 4 fijar id del dueño al ejecutar, 2 fijar id del grupo al ejecutar, 1 fijar "sticky bit" a un directorio. nnn: 4 lectura 2 escritura 1 ejecución o acceso si es un directorio.

Ejemplo: chmod 0764 archivo (cambia los permisos como en el ejemplo usando forma simbólica)

  • Definir permisos de acceso por defecto para nuevos ficheros

Los permisos por defecto pueden ser modificados para un nuevo archivo con el comando umask. Generalmente el valor por defecto es 022. Para determinar con qué permisos se creará un archivo se realiza permisos base - valor de umask (permiso base para directorios 777, para archivos 666). Ejemplo: 777-022=755, significa que los directorios se crearán con permisos de lectura, escritura y ejecución para el propietario y de lectura y ejecución para todos los demás.

umask: sin argumentos muestra el valor de umask umask nnn: cambia temporalmente los permisos para los nuevos archivos

Para modificar de forma permanente: - Editar archivo .bashrc, agregar al final del archivo "umask xxx", siendo xxx el valor que se deberá restar para obtener los permisos deseados. (Afecta sólo al usuario actual) - Editar archivo /etc/profile, modificar la línea "umask xxx" cambiando "xxx" por el valor que se deberá restar para obtener los permisos deseados. (Afectará a todos los usuarios del sistema, se requieren privilegios de administrador).

Archivos

  • /etc/passwd: guarda información de los usuarios del sistema.

Formato: cada línea representa un usuario y contiene los siguientes campos:

usuario: x: UID: GID: Nombre_usuario: directorio: shell

usuario: Nombre que identifica al usuario en el sistema. Debe tener entre 1 y 32 caracteres.

x: Indica que la contraseña se encuentra cifrada en /etc/shadow.

UID: ID de usuarios. El cero está reservado para root, 1-999 reservados para el sistema y a partir del 1000 para los usuarios del sistema.ario.

GID: ID de grupo. ID del grupo principal del usuario (será el grupo por defecto ). La información de los grupos está en /etc/groups.

Nombre_usuario: Información del usuario (nombre, ubicación, teléfono del trabajo).

directorio: Directorio de trabajo de usuario (ruta completa).

shell: Interprete de comando de usuario (ruta completa).

  • /etc/shadow: almacena las contraseñas cifradas de los usuarios del sistema. El archivo sólo lo puede ver y editar root (sudo cat /etc/shadow).

Formato: cada línea representa un usuario y contiene los siguientes campos:

usuario: passwd: last: may: must: warn: expire: disable: reserved

usuario: Nombre que identifica al usuario en el sistema. passwd: Contraseña encriptada. last: Días que han pasado desde la última vez que la contraseña fue cambiada contados desde el 1 de enero de 1970. may: días que deben pasar como mínimo para que el usuario pueda cambiar la contraseña. must: Días durante los que la contraseña es válida. Después el usuario debe cambiar la contraseña. warn: Días a los que el usuario será avisado de que debe cambiar la contraseña antes de que ésta expire. expire: Días a lo que se deshabilita la cuenta después de que caduque la contraseña. disable: Días a lo que se deshabilita la cuenta contados desde el 1 de enero de 1970 reserved: campo reservado.

  • /etc/group: almacena la información sobre los grupos existentes en el sistema.

Formato: cada línea representa un grupo y contiene cuatro campos:

Nombre_grupo: ! : GID : miembro,miembro,...

Nombre_grupo: El nombre del grupo. !: Este campo contenía la contraseña, actualmente ésta se localiza en el archivo /etc/gshadow. GID: El número ID de grupo. miembro: Lista de los miembros del grupo, separados por comas (sin espacios).

  • /etc/gshadow: contiene las contraseñas cifradas de los grupos existentes en el sistema. El archivo sólo lo puede ver y editar root (sudo cat /etc/gshadow)

Formato: cada línea representa un grupo y contiene los siguientes campos:

Nombre_grupo : password : admin,admin,... : miembro,miembro,....

Nombre_grupo: Nombre del grupo. password: Contraseña de grupo encriptada. admin: Lista de administradores del grupo. miembro: Lista de miembros del grupo. Verificación Notas adicionales

Verificación

  • Para verificar si un usuario fue creado podemos utilizar el comando id <nombre de usuario>, si el usuario fue creado nos mostrara los grupos a los que pertenece, de lo contrario, nos dirá que el usuario no existe.
  • Una manera de saber que usuarios hay creados en el sistema es entrando al archivo /etc/passwd, esto se puede realizar con el comando cat /etc/passwd.
  • Se pueden verificar los permisos, el dueño, y el grupo de un archivo con una opción -l del comando ls.

Un ejemplo de esto sería:

ls -l<nombre del archivo>

Referencias

Paginas man

Gestión de usuarios y grupos http://doc.ubuntu-es.org/Gesti%C3%B3n_de_usuarios_y_grupos

http://docs.linux-es.org/HOWTO//Shadow-Password-HOWTO