Generar, eliminar y modificar cuentas de usuario

Como tantas otras acciones, la administración de usuarios solamente la puede ejercer el administrador o root.

Cada vez que damos de alta a un usuario estamos creando un registro en

el fichero passwd del directorio etc , con la información más relevante de ese usuario.

El entorno de cada usuario se crea copiando algunos ficheros en el momento de dar el alta. Cada vez que un usuario se presenta al sistema se ejecutan dos archivos de scripts; el primero de ellos es el script profile que es un fichero común a todos los usuarios

que configura el entorno de todos ellos, se encuentra en el directorio etc y el otro script, es el fichero .bash_profile , que configura el entorno de cada uno de los usuarios. Cada usuario tiene el suyo e incluso puede modificarlo, cada vez que el usuario se da de alta es copiado

junto con el .bashrc , bashlogout …. desde el directorio /etc/skel .

Órdenes para la administración de usuarios:

Para administrar usuarios utilizamos:

adduser o useradd : da de alta a los usuarios.

adduser [opciones] nombre_usuario

Algunas de las opciones son:

-u nº : para especificar el número de usuarios por lo general tomará un valor por defecto.

-g nº : especifica el número de grupo principal. Este será el grupo en el que quedará encuadrado este usuario y su utilización principal es para otorgar lospermisos sobre un conjunto de ficheros.

-d directorio : lo utilizamos para especificar el directorio de presentación, aunque por defecto le asignará uno con el nombre /home/nombre_usuario .

-s directorio_de_shell : lo utilizamos para especificar donde se encuentra otro shell que no sea el que haya por defecto.

-e fecha (con este formato: MM/DD/AA) : es utilizado para especificar la fecha en que debe cambiar cada usuario su contraseña caso que el administrador lo decida así.

-c comentario : para incluir un comentario acerca de ese usuario.

usermod : utilizamos este comando para modificar alguna de las características de cada usuario.

Tiene la misma sintaxis que el comando anterior.

Entre los datos que podemos cambiarle tenemos el número de usuario, número de grupo, el directorio, el shell y el comentario con las mismas opciones, además

podemos cambiarle el nombre con la opción -l nuevo_nombre , la asignación de grupos secundarios, con el parametro -G grupo1,grupo2 , con el fin de realizar la administración de archivos.

userdel : es utilizado para eliminar usuarios de la red.

Un usuario lo podemos eliminar de forma definitiva, en cuyo caso no solo es dado de baja del fichero passwd sino que además es eliminado su directorio personal con todos los archivos que pertenecían a él.

userdel -r nombre_usuario

Si solo queremos eliminar de forma temporal un usuario sin eliminar los archivos de su directorio personal, utilizamos la misma sintaxis pero sin el parámetro

-r .

Cambio de contraseñas:

El cambio de contraseñas ha de hacerse con la orden passwd, que te pedirá tu contraseña vieja y, a continuación, la nueva. Volverá a pedir una segunda vez la nueva para validarla y asegurarse que ésta ha sido bien escrita. Si olvidas la contraseña solamente podrá cambiarse desde el usuario root o administrador del sistema.

Comandos para la administración de grupos:

La utilidad de un grupo de usuarios es la de permitir una administración ordenada de permisos sobre un conjunto de archivos. Cada usuario debe tener al

menos un grupo que es el principal, pero podemos agrupar en varios grupos a un mismo usuario. Estos serían grupos secundarios. Cada vez que creamos un grupo, éste es registrado en el fichero group del directorio etc .

Podemos administrar los grupos utilizando una serie de órdenes de un modo muy similar a cómo lo acabamos de hacer con los usuarios.

La orden id Visualiza el grupo o los grupos a los que pertenece un usuario determinado. Muestra el UID (UserID) y el GID (GroupID).

La orden groupadd sirve para dar de alta a un grupo.

groupadd -g número_grupo nombre_grupo

groupdel : es utilizado para suprimir o borrar grupos. Para borrar un grupo, solo se borrara si no existen los usuarios para los cuales este grupo es el

principal.

groupdel nombre_grupo

groupmod : se utiliza

para modificar grupos.

PERMISOS EN LINUX

Comenzamos aquí un tema un poco árido, pero si queremos administrar un linux para varios usuarios diferentes tendremos que conocerlo bien. Es posible, no obstante, que un usuario standard en un ordenador casero a penas si use estas órdenes.

En un sistema multiusuario como GNULinux deben existir mecanismos que eviten leer, modificar o suprimir un archivo confidencial, o realizar ciertas operaciones que impliquen cierto riesgo (como puede ser el apagado de un servidor). Es preciso contar con un sistema de permisos para el usuario que crea un archivo, para los de su grupo o para otros ajenos al mismo, en relación a unos intereses comunes

Los permisos dicen al sistema quién, cuándo y cómo podrá trabajar con los archivos. En GNULinux son Más sencillos que en el formato ntfs de Windows porque hay pocos permisos y dan menos conflictos En el intercambio con otros sistemas. Como ya comenté con anterioridad en estos apuntes, disponemos de 3 tipos de permisos, cada uno identificado por una letra:

R (lectura): permite la Navegación por el árbol de directorios, lista Archivos y directorios.

W (escritura): Permite la Creación, modificación y la eliminación de ficheros y directorios.

X (ejecución): Permite la ejecución de los programas y entrar en los directorios con cd

Estos permisos pueden verse cuando listamos un directorio con el comando ls con el modificador -l: son los 9 caracteres, agrupados de tres en tres, que aparecen al principio de la línea de cada fichero o directorio. Si las líneas devueltas por la orden ls -l comienzan por una letra d, el sistema nos está indicando que se trata de un directorio, en caso contrario se tratará de un archivo. Cada uno de ellos se corresponde con los permisos para un usuario o grupo de usuarios tal como sigue:

1. El primer conjunto de 3 caracteres son los asignados al USUARIO PROPIETARIO, es decir, el que crea el fichero o directorio. El propietario es el que aparece en la primera de las columnas

En el directorio de trabajo de cada usuario hay un directorio que no le pertenece, ya que realmente, su propietario es el superusuario root, pero está compartido y aparece para todos los usuarios.

2. El segundo conjunto de 3 caracteres pertenece al GRUPO PROPIETARIO. A veces puede coincidir el nombre del usuario con el del grupo, como en el caso del root, y otras no.

3. El tercer conjunto de 3 caracteres es para el RESTO DE USUARIOS. No se debe dar permisos a este tercer grupo ya que se pierde seguridad porque los estamos dando a muchos usuarios, lo que podría hacer que, por descuido, modificasen o eliminasen archivos con información sensible para el sistema operativo o para cualquiera de los demás usuarios. Normalmente se suelen restringir.

Para dar permisos comunes a varios usuarios es necesario que se les incluya en un grupo común y, a continuación, dar los permisos a ese grupo, con lo que se aplicarán por igual a cada uno de los usuarios que lo componen.

Cuando un usuario o grupo no disponga de un permiso, al listar el directorio, en lugar del caracter que identifica al permiso, tendremos un signo – (guión).

 

Cambiando Permisos:

La orden para cambiar permisos es chmod:

chmod permisos ficheroOdirectorio

Solamente podrá cambiar los permisos de un fichero o directorio el usuario propietario o el root.

Existen dos modos de introducir los permisos en la orden: con letras y con números en sistema octal.

1. Permisos con letras:

u Usuario Propietario:

g Grupo Propietario

o Al resto (grupo Otros)

Para quitar o poner un permiso: se pone el signo menos o más delante de la letra del permiso:

quitar permiso de ejecución -x;. dar permiso de ejecución: +x. Veamos un ejemplo:

chmod o-x directorio

En este caso, quitamos permiso de ejecución al grupo «otros» en el directorio especificado.

Quitar Varios permisos a varios grupos.

chmod go-x directorio – Quita permiso de ejecución al grupo propietario y de otros.

chmod go-rx directorio – Quita permisos de lectura y de ejecución a g.propietario y a otros.

chmod g-x,o+rx directorio – Quita ejecución al grupo propietario y da permisos de lectura y ejecución al grupo otros.

Sólo usaremos el espacio para la separación de parámetros, dentro de un parámetro la separación entre componentes se hará únicamente con comas.

Otra forma de dar los permisos es la siguiente:

chmod u=rwx,g=r,o= directorio

Al usuario propietario le damos los permisos de lectura, escritura y ejecución. Al grupo propietario le damos permiso de lectura. Al grupo otros le dejamos sin permisos (o=) al no especificar ninguno detrás del signo =.

chmod u=rwx,g=r directorio

Si no nombramos al grupo de usuarios quiere decir que mantenemos los permisos que ya tienen asignados. En este ejemplo, el grupo otros, queda con los mismos permisos que ya tenía.

A continuación explicamos el significado de las combinaciones de permisos:

– rwx todos los permisos activados:

– sólo r: no se puede entrar en el directorio pero si se puede listar el contenido (el permiso es para «leer» pero no navegar por el sistema).

– solo x: se puede entrar pero no ver su contenido, no ofrece listado.

– wx: se puede acceder para dejar información pero no se puede ver lo que hay en el interior del archivo o directorio, , y, por tanto, ya no podrá recuperarse.

2. Permisos codificados de forma numérica

Es posible identificar los permisos de archivos y directorios en GNULinux mediante números expresados en octal, no es un modo muy evidente de manejar los permisos, pero es muy rápido si se memorizan los valores de conversión.

Dado que los permisos pueden estar activos y desactivos los tomamos de modo binario: 1 significa que los permisos están activos, 0 significa que están desactivos. Por tanto, la equivalencia es la siguiente:

rwxr-xr-x

111101101

Si convertimos este número binario en octal obtenemos como resultado 755. El resultado para el comando chmod con los permisos en sistema octal es:

chmod 755

En binario el valor para lectura «r» es 4, la escritura «w» equivale a 2 y la ejecución «x» a 1. Si todos los permisos están activos la suma es 7. Si falta permiso de escritura, la suma es 5. El ejemplo anterior, al usuario propietario le corresponde un 7 porque tiene todos los permisos; al grupo propietario y a otros les corresponde un 5 porque no tienen permiso de escritura:

111 (7) 101 (5 ) 101 (5)

Como podéis ver, de este modo se dan y quitan permisos de una manera bastante más rápida, pero en un principio resulta bastante menos claro el modo en qué se hace.

Ámbito de acción de los permisos:

En un árbol de directorios, si se limita el acceso a un directorio (quitando el permiso de lectura) también se limitará el acceso a los subdirectorios que dependen de él. Asimismo, si quitamos el permiso de escritura en un directorio pero hay permiso de lectura, en los subdirectorios que dependen de él no podremos crear otros, pero, si los que existían previamente tenían permiso de escritura, en ellos si que podremos crear otros subdirectorios y ficheros

Dar permiso sobre un directorio y todo su contenido (subdirectorios y ficheros)

chmod -R permisos directorio

MÁSCARA PARA LA ASIGNACIÓN DE PERMISOS

La orden para fijar la máscara de asignación de permisos es unmask

Cuando se crea un directorio o fichero nuevo, tiene preestablecidos los permisos en base a una máscara preestablecida con anterioridad en el sistema. La orden «unmask» permite obtener información y modificar esta máscara de permisos para la creación de directorios y ficheros

El valor de los permisos se calcula restando a «666» el valor de umask. Es decir si umask es 022, a 666 se le resta 022 y el resultado 644 (rw-r– r–). Si creamos un archivo de texto tendrá permisos de lectura y escritura para el propietario y de lectura para el resto de usuarios.

Si tecleamos la orden umask Sin parámetros nos ofrecerá información de la máscara activa.

Para DIRECTORIOS, por defecto es 022 (=0022) que equivale a rwxr-xr-x

Cambiar la máscara: si quisiéramos cambiar a rwx r-x —

rwx r-x —

111 101 000

7 5 0 = 750

777-750=0027. La máscara para esos permisos es 027 o 0027

Para establecer, por tanto, esta máscara como base para la asignación de permisos en directorios y ficheros nuevos se teclea: unmask 027 Este cambio, no obstante, se hace sólo para la sesión. Si el usuario inicia nueva sesión, los permisos de la máscara original se habrán restablecido. Los directorios que fueron creados estando vigente aquella máscara mantendrán los permisos con los que se crearon.

Por último, cuando tratamos con ficheros en lugar de con directorios, inicialmente, no hay permiso de ejecución en su creación, el cual se podrá agregar con posterioridad. La máscara original es la misma que la de los directorios excepto los permisos de ejecuciónX.

rw-r- -r- – –

CAMBIAR EL USUARIO PROPIETARIO Y EL GRUPO PROPIETARIO DE UN FICHERO O DIRECTORIO

Estas funciones solamente pueden ser llevadas a cabo por el superusuario root.

La orden para el cambio del usuario propietario de un fichero ess chown

chown usuario fichero

La orden para cambiar el usuario propietario de un directorio es chown -R

chown -R usuario directorio

La orden para Cambiar el grupo propietario: es chpgrp:

chgrp grupo ficheroOdirectorio

Y esto es todo lo básico para trabajar con los permisos y los usuarios, recordad que disponemos de amplias páginas de manual y que las mísmas órdenes nos pueden ofrecer ayuda con el modificador -h correspondiente, ya que en los apuntes solamente os doy la base de la orden, como supongo que habréis visto ya, cada una de ellas tiene infinidad de parámetros y opciones usables en mayor o menor medida dependiendo de las necesidades de cada uno.

 

Compártelo

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.