Vous êtes sur la page 1sur 15

IES FUENTE GRANDE 1º SMR

GESTION DE USUARIOS Y GRUPOS

useradd

Añade usuarios al sistema, también añade un usuario existente a un grupo que también
exista previamente en el sistema. Este comando da origen al comando adduser

Sintaxis:
useradd [opciones] usuario

Argumento/s:
usuario: Nombre del usuario añadido al sistema

Opciones:
-d directorio : Nos permite cambiar el directorio por defecto del usuario, que suele
ser /home/usuario.
-g grupo: Especifica el grupo primario del usuario y añade el usuario a dicho grupo. Debe
existir con anterioridad para poder añadirlo. Podemos introducir el grupo por su nombre o
por su ID.
-G grupos : Especifica los grupos secundarios del usuario. Lod grupos se introducen separados por
comas.
-u UID: Nos permite especificar la ID del usuario, debe ser mayor a 499 y única.
-c ‘comentario’: Permite añadir un comentario al usuario.
-e YYYYMMDD: Permite seleccionar la fecha en la que la cuenta se deshabilitará. Debe
introducirse en el formato indicado: añomesdía.
-f días: Nos permite seleccionar el tiempo en días a partir de la fecha de expiración de la
contraseña en la cual la cuenta se deshabilitará. Con un valor de -1, no lo hará.
-m: Crea el directorio del usuario si no existe.
-M: Especifica que no se cree un directorio de inicio para el usuario.
-n: No crea un grupo privado para el usuario.
-r: La cuenta se convierte en cuenta del sistema, con ID de usuario (UID) menor a 500 y
sin directorio.
-p contraseña: Establece una contraseña de usuario. Se puede crear posteriormente con
el comando passwd <usuario>.
-s shell: Permite modificar la shell de inicio de sesión del usuario, por defecto /bin/bash.

NOTA: Usando este comando hay que añadirle al usuario creado : una contraseña,
directorio en /home, Comentarios, ruta del Interprete de comandos a través de opciones o
comandos.
1
IES FUENTE GRANDE 1º SMR

adduser

Añade usuarios al sistema, también añade un usuario existente a un grupo que también
exista previamente en el sistema. Se basa en el comando useradd

Sintaxis:
adduser [opciones] usuario
adduser [opciones] usuario grupo

Argumento/s:
usuario: Nombre del usuario añadido al sistema
grupo: añade el usuario que debe existir previamente, al grupo, que también debe existir,
como grupo secundario.

Opciones:

--ingroup nomgrupo: Crea al usuario con nomgrupo como grupo principal.


--gid num_gid: Igual que la opción anterior pero usando el GID del grupo en vez del
nombre.
--home directorio: Hace que directorio sea el directorio personal del usuario, en lugar del
directorio por defecto /home/usuario
-- system: Crea un usuario de tipo administrador
-- gecos : Añade datos de teléfono casa, teléfono trabajo,etc información adicional.

NOTA: Los usuarios creados con adduser/useradd son usuarios de tipo ESTANDAR si
no lo indicamos con la opción - - system

Explicación del proceso de creación de usuarios:


Los siguientes pasos describen lo que ocurre si se ejecuta el comando adduser
juan en un sistema que tiene contraseñas ocultas activadas:
1. Se crea una nueva línea para juan en /etc/passwd. La línea tiene las
características siguientes:
o Comienza con el nombre del usuario, juan.
o Hay una x para el campo de contraseña indicando que es sistema está
usando contraseñas ocultas.
o Se crea un UID igual o mayor que 500. (Bajo Red Hat Enterprise Linux
UIDs y GIDs debajo de 500 son reservados para uso del sistema.)
o Se crea un GID en o por encima de 500.

2
IES FUENTE GRANDE 1º SMR

o La información para “COMENTARIOS” se deja en blanco.


o El directorio principal se configura a /home/juan/.
o El intérprete de comandos predeterminado se configura a /bin/bash ó
se queda en blanco.
2. Se crea una nueva línea para juan en /etc/shadow. La línea tiene las
características siguientes:
o Comienza con el nombre del usuario, juan.
o Aparecen dos símbolos de exlamación (!!) en el campo de la contraseña
del archivo /etc/shadow, lo cual bloquea la cuenta.
NOTA: Si se pasa una contraseña encriptada usando la opción -p, se
colocará en el archivo /etc/shadow en la nueva línea para el usuario
o Se configura la contraseña para que no caduque nunca.
3. Se crea una nueva línea para un grupo llamado juan en /etc/group. Un
grupo con el mismo nombre del usuario se conoce como un grupo de usuario
privado.
La línea creada en /etc/group tiene las características siguientes:
o Comienza con el nombre del grupo, juan.
o Aparece una x en el campo de contraseña indicando que el sistema está
usando contraseñas de grupo oculta.
o El GID coincide con el listado para el usuario juan en /etc/passwd.

4. Es creada una nueva línea para un grupo llamado juan en /etc/gshadow. La


línea tiene las siguientes características:
o Comienza con el nombre del grupo, juan.
o Aparece un símbolo de exclamación (!) en el campo de contraseña del
archivo /etc/gshadow, lo cual bloquea el grupo.
o Todos los otros campos quedan en blanco.
5. (Solo para adduser) Se crea un directorio para el usuario juan en el
directorio /home/. Este directorio tiene como dueño al usuario juan y al grupo
privado juan. Sin embargo, tiene privilegios para leer, escribir y
ejecutar sólo para el usuario juan. Todos los demás permisos son denegados.
6. Los archivos dentro del directorio /etc/skel/ (lo cual contiene configuraciones
predeterminadas del usuario) son copiadas en el nuevo directorio /home/juan/.

3
IES FUENTE GRANDE 1º SMR

Para el comando useradd, en este punto, existe una cuenta bloqueda llamada juan en el
sistema. Para activarla, el administrador debe asignar una contraseña a la cuenta usando
el comando passwd.

userdel

Elimina un usuario.Hay que tener en cuenta que no se puede borrar un usuario que esté
conectado al sistema en ese momento.

Sintaxis:
userdel [opciones] usuario
Opciones:

-r | --remove: Elimina también archivos y subdirectorios

-f | --force: Elimina el usuario del sistema aunque este activo

Ejemplos:

userdel alumno2 # borra el usuario con el nombre alumno2


userdel -r alumno2 #borra el usuario alumno2 y todos sus archivos y subdirectorios
deluser

Elimina un usuario. Hay que tener en cuenta que no se puede borrar un usuario que esté
conectado al sistema en ese momento.

Sintaxis:
deluser [opciones] usuario

Argumento:
usuario: Nombre del usuario a eliminar.

Opciones:

-r : - - remove-home Borra el Subdirectorio personal del usuario


- - remove-all-files: Elimina todos los ficheros que pertenezcan al usuario,
ademas del directorio personal.
-backup: deluser también puede hacer una copia de seguridad de los archivos del
usuario que queremos eliminar. Con esta opción creará un archivo con el nombre
usuario.tar.(gz|bz2) en el directorio donde nos encontremos actualmente.

Ejemplo: deluser –remove–all-files –backup juan

4
IES FUENTE GRANDE 1º SMR

GRUPOS:

En Linux todo usuario pertenece a un grupo principal o primario indicado en el fichero


/etc/passwd con identificación GID. También puede pertenecer a otros grupos secundarios

groupadd

Se usa para agregar un grupo al sistema


Sintaxis: groupadd [opciones] grupo

Argumento: nombre del grupo

Opciones:
-g gid: ID para el grupo, el cual debe ser único y mayor que 499

-r: Crea un grupo de sistema con un GID menor que 500


-f: Sale con un error si el grupo ya existe. (El grupo no es alterado.)
Si se especifica -g y -f, pero el grupo ya existe, la opción -g es ignorada.

addgroup

Se usa para agregar un grupo al sistema. Se obtiene el mismo resultado que si usamos el
comando adduser - -group grupo
Sintaxis: addgroup grupo

Argumento: nombre del grupo

delgroup

Elimina un grupo. Se obtiene el mismo resultado que con deluser - -group grupo
Sintaxis: addgroup grupo

Argumento: nombre del grupo

5
IES FUENTE GRANDE 1º SMR

MODIFICACIÓN DE GRUPOS Y USUARIOS


usermod

Modifica un usuario ya creado


Sintaxis: usermod [opciones] usuario

Argumento: usuario : nombre del usuario


Opciones:
-d directorio [-m] : Cambia el directorio personal. La opción –m permite mover el
contenido de un directorio al nuevo
-m: Mueve el contenido del antiguo
-g grupo: Cambia el grupo primario del usuario
-u (–uid): Establece el nuevo valor ID del usuario. Este valor debe ser numérico.
-c (–comment): Sirve para establecer el nombre completo del usuario y otros datos
relevantes de la cuenta.
-e (–expiredate): Sirve para establecer una fecha de expiración de la cuenta. El formato es
YYYY-MM-DD. Si se introduce una fecha de expiración vacía, se desabilitará la expiración
de la cuenta
-f (–inactive): Establece en días, el tiempo en que se establecerá la clave del usuario como
inactiva una vez alcanzada la fecha de expiración. El valor 0 establece que en cuanto llega
la fecha de expiración, se establece como inactiva la clave del usuario y un valor -
1 inhabilita esta opción.
-g (–gid): Cambia el grupo del usuario. Se debe usar nombre o número del grupo. Debe
existir el grupo previamente.
-G (–groups): Lista de los grupos a los que el usuario pertenecerá. Si el usuario ya
pertenece a algún grupo del sistema y no se nombra este grupo al usar esta opción,
desaparecerá de ese grupo. Para evitar esto, se usa la opción -a (–append) que adjunta los
grupos que hemos añadido al usuario a los que ya había creados. Los grupos se deben
separar por comas y sin espacios.
-l (–login): Permite modificar el login(nombre) del usuario. OJO! no cambia el nombre del
directorio HOME del usuario, debería cambiarse de forma manual.
-L (–lock): Bloquea la cuenta del usuario. Símplemente establece un ‘!’ delante de la clave
encriptada.
-m (–move-home): Mueve el contenido del HOME del usuario a una nueva localización.
-p (–password): Sirve para modificar la clave encriptada del usuario.
-s (–shell): Selecciona el nuevo shell que va a utilizar el usuario. Si se deja en blanco usará
el establecido por defecto en el sistema.
-U (–unlock): Desbloquea la cuenta del usuario. Quita el ‘!’ delante de la clave encriptada
6
IES FUENTE GRANDE 1º SMR

groupmod

Modifica un grupo ya cerrado

Sintaxis: groupmod [opciones] grupo

Opciones:
-n nombre: Cambia el nombre del grupo
-g gid: Cambia el gid el grupo. Los valores entre 0 y 99 se reservan normalmente para cuentas del
sistema. Este valor debe ser único y no puede ser negativo

Argumento: nombre del grupo

gpasswd
Añade o elimina usuarios de un grupo. También se utiliza para añadir contraseñas a un
grupo.

Sintaxis: gpasswd [opciones] usuario grupo


gpasswd grupo
Opciones:
-a: añade el usuario al grupo
-d : elimina el usuario del grupo
-M: Añade varios usuarios al grupo
-r, elimina la contraseña del grupo
-A: añadimos un administrador del grupo
Usuario: Es el usuario o la lista de usuarios(con la opción –M) que se añadirán al grupo
Grupo: nombre del grupo al que se le va añadir los usuarios. Si aparece sin opciones y
como argumento único será el grupo al que se le va a añadir una contraseña.
Ejemplos:

gpasswd -a usuario1 grupo1//Añadiendo el usuario 'usuario1' al grupo 'grupo1'.


gpasswd -d usuario1 grupo1//Eliminando el usuario 'usuario1' del grupo 'grupo1'.
gpasswd -r grupo1// -r, elimina la contraseña del grupo.
gpasswd -M usuario1, usuario2 grupo1// Podemos establecer una lista de miembros del grupo
con -m:
gpasswd -A usuario1 grupo1//Añadiendo el usuario1 como administrador de grupo1.
7
IES FUENTE GRANDE 1º SMR

Id

Muestra información sobre el usuario, como el UID, el nombre, los grupos a los que
pertenece y los GID de los mismos.

Sintaxis: id [opciones] [usuario]

Opciones:
-u | -user: Escribe solo el UID del usuario
-n | name : Escribe el nombre del usuario en ves del UID

Usuario: Es el usuario del que queremos ver la información. Si no se especifica se


entiende que es el usuario que ejecuta el comando.

groups

Muestra el nombre de todos los grupos a los que pertenece el usuario


Sintaxis: group [usuario]

Argumento: Es el usuario del que queremos ver la información. Si no se especifica se


entiende que es el usuario que ejecuta el comando.

finger

Muestra información sobre el usuario que se le indique. Si no se especfica ninguno,


muestra información sobre los usuarios conectados al sistema
Sintaxis: finger [usuario]

8
IES FUENTE GRANDE 1º SMR

COMANDOS PARA CAMBIAR LOS FICHEROS Y DIRECTORIOS DE USUARIO Y GRUPO

En Linux, todos los archivos pertenecen a un usuario, que es el propietario del mismo, y a
un grupo al que pertenece el usuario propietario.
Además de los comandos usermod y groupmod podemos usar:

chown
Cambia el propietario del archivo/carpeta. También lo podemos usar para cambiar el
grupo.
Sintaxis:
chown [opciones][propietario[:grupo]] archivo/s(carpeta/s)
Opciones:
-r | - - recursive : Cambia el propietario y el grupo(si se le especifica) del archivo/carpeta
asi como los archivos y subdirectorios que contengan la carpeta afectada o en la carpeta
en la que se encuentre el fichero. También se usa -R

Argumento:
Propietario: Es el nuevo propietario al que se le va a asignar el archivo.
Grupo: Si queremos cambiar también el grupo.
Archivo/s: Archivo o archivos a los que se les van a cambiar el propietario y/o el grupo
Carpeta/s: Carpeta o carpetas a los que se les van a cambiar el propietario y/o el grupo

Ejemplos:
chown juan test.txt  El dueño del archivo test es root, cambia al nuevo usuario juan
chown -R juan test  El dueño del directorio "test" es root, con la opción -R el usuario
propietario de los archivos y subdirectorios respecto del que se encuentra también se
cambia a juan.
chown -R maria /home/Documentos/fotos/  Maria es la nueva propietaria de la carpeta
fotos y de todos los archivos y carpetas que contenga la carpeta fotos.
chown -R maria:familia /home/Documentos/fotos/  Maria es la nueva propietaria de la
carpeta fotos y de todos los archivos y carpetas que contenga la carpeta fotos y además el
grupo asociado a la carpeta cambia a familia.

chgrp
Cambia el grupo del archivo.
Sintaxis:
chgrp [opciones] grupo archivo/s(carpeta/s)
Opciones:
-r | - - recursive : Cambia el grupo a todos los archivos y subdirectorios.

Argumento:
Grupo: Es el grupo que se le va a asignar al archivo.
Archivo/s: Es el archivo o los archivos a los que se les van a cambiar el grupo.
9
IES FUENTE GRANDE 1º SMR

chfn
Cambia la información del usuario del campo GECOS(comentarios) del fichero /etc/passwd
Sintaxis:
chfn [opciones] usuario
Opciones:
-f nombre: cambia el nombre -h teléfono: cambia el teléfono del domicilio
-r oficina: Cambia el número de oficina -w teléfono: cambia el teléfono trabajo
-o otro: cambia otra información adicional
Argumento:
usuario: Nombre del usuario que queremos cambiarle la información

PERMISOS:
Los permisos son necesarios para proteger archivos y carpetas. Hay tres grupos para
aplicarles los permisos:

- Lo permisos del propietario del archivo


- Los permisos de los usuarios que pertenecen al grupo al que pertenece el archivo
- El resto de los usuarios
En cuanto a los tipos de permisos son tres:
- Lectura(r)
- Escritura(w)
- Ejecución(x).Sólo tiene sentido para los archivos ejecutables o ficheros con script. Si
se aplica a una carpeta indica que podemos entrar en ella.
chmod
Cambia los permisos de un archivo/carpeta.

Sintaxis: chmod [opciones] [permisos[,permisos]…] archivo/s


Opciones:
-r | - - recursive : Cambia permisos a todos los archivos y subdirectorios.
Permisos:
Se pueden añadir o quitar con la siguiente sintaxis:
{a,u,g,o}{+ | -}{r,w,x,X,s,t}

a.-)El primer grupo de{ a,u,g,o} indica a quien se le va a cambiar el permiso:


u: Al propietario g: A los usuarios del grupo
o: Al resto de usuarios a: A todos que es la opción por defecto

b.-) Podemos añadir (+) o quitar (-) el permiso. {+ | -}

c.-) en este grupo de { r,w,x,X,s,t } indicamos los permisos que queremos dar o quitar:
r: Lectura w: Escritura x:ejecución archivo X: ejecución directorio

10
IES FUENTE GRANDE 1º SMR

s: Indica que el proceso pertenece al dueño del programa o a su grupo no al que lanzó el
proceso. Es el único caso en el que el el proceso no pertenece al usuario que lo lanzó.
t: Aplicado a directorios hace que si un usuario tiene permiso de escritura puede modificar
los archivos pero no los puede borrar ni mover
NOTA: Los permisos también se pueden indicar de forma numérica en Octal.
Ejemplos de Permisos:

El fichero examen.txt tiene los siguiente permisos: rw- rw- rw- o lo que es lo mismo: 110
110 110 que sería en octal: 666

La carpeta Documentos tiene los siguiente permisos: rw- r—r-- o lo que es lo mismo: 110
100 100 que sería en octal: 644

-Para ver qué permisos tienen tus archivos:


ls -al
Para permitir a cualquiera que lea, escriba y ejecute el archivo
chmod 777 file1.txt
-chmod -r go-rx /home/usuario/prueba

Suprime los permiso de lectura y ejecución de todos los archivos del


directorio /home/usuario/prueba y subdirectorios; para el grupo y los otros.

- chmod gu+r,o-rwx /tmp/

Umask(user mask)
Se usa para establecer los permisos predeterminados que tendrán los nuevos ficheros y
directorios que creemos. Se establece para una sesión al salir vuelve a la máscara por
defecto.

Sintaxis: umask [máscara permisos]

Argumento:
La máscara de permisos tendrá distintas consecuencias dependiendo de si después de
establecerla se crea un fichero o un directorio.
11
IES FUENTE GRANDE 1º SMR

El sistema Linux presenta permisos predeterminados para los ficheros, que es 666, y para
los directorios que es 777.
Para el sistema también hay una máscara de permisos predeterminada(002,022,etc). Se
puede comprobar con umask

Si compruebo los permisos de un fichero recién creado y el resultado es 664  la mascara


se comprueba con umask, por defecto es 002.

Para la resta haremos lo siguiente:


Lo que habría que hacer sería un and de la negación de umask.

Ejemplo:

Queremos asignar por defecto la mascara 000 (permisos 666) a los nuevos ficheros:

$ umask 000
$ gedit test
$ ls -l test
-rw-rw-rw- 1 alex alex 0 Jan 23 13:44 test

Queremos asignar por defecto la mascara 002 (permisos 664 ) a los nuevos ficheros:

$ umask 002
$ gedit test2
$ ls -l test2
-rw-rw-r-- 1 alex alex 0 Dec 26 19:24 test2

12
IES FUENTE GRANDE 1º SMR

EJEMPLO PASO A PASO


Creamos un fichero nuevo file.txt y veremos qué permisos tiene:
ls -l file.txt
-rw-r--r-- 1 mviera users 0 jun 1 15:01 file.txt

Podemos observar que el fichero ha sido creado con permisos 0644, es decir, lectura y
escritura para el propietario y lectura para el grupo y para el resto de usuarios.

Ahora crearé un directorio y mostraré los permisos como en el ejemplo anterior:

ls -l
drwxr-xr-x 2 mviera users 4096 jun 1 15:04 EJERCICIOS-TEST/

Se puede apreciar que los permisos para los directorios son diferentes, en este caso 0755,
o lo que es lo mismo, lectura, escritura y ejecución para el propietario; y lectura y
ejecución para el grupo y para el resto de usuarios.

¿Por qué estos permisos y no otros?¿Dónde está definido este comportamiento? La


respuesta,umask.

Funcionamiento de umask

Lo primero que debemos saber es el valor de umask configurado en nuestro sistema.


Normalmente su valor suele ser 022. Podemos averiguarlo ejecutando el
comando umask:

~$ umask
022

El valor devuelto se encuentra en formato octal, es decir, como cuando se definen los
permisos de un fichero con chmod 755 file.

Es posible modificar el valor ejecutando umask y especificando el nuevo valor a


continuación, como en el siguiente ejemplo:

:~$ umask 002


:~$ umask
002

Por tanto, si creamos ahora un fichero, veremos que los permisos iniciales serán
diferentes a los del ejemplo anterior:

13
IES FUENTE GRANDE 1º SMR

:~$ gedit file2.txt


:~$ ls -l file2.txt
-rw-rw-r-- 1 mviera users 0 jun 1 18:03 file2.txt

Hay que tener en cuenta que si modificamos el valor de umask desde la consola, este
cambio solo estará vigente en la sesión actual. Es decir, si abrimos una nueva consola el
valor de umask se habrá restablecido al valor por defecto (que suele ser 022).

Para modificar el valor de umask de forma permanente será necesario incluir dicha
configuración en /etc/profile o /etc/bash.bashrc afectando el cambio a todo el
sistema; o en los ficheros ~/.profile o ~/.bashrc si se quiere aplicar el cambio para
un usuario en concreto.

OPERACIÓN AND

Los ficheros y directorios tienen definidos por defecto unos permisos base, 666 para los
ficheros y 777 para los directorios.

El valor de umask es un valor octal que representa los bits a eliminar de los permisos
base, así que para determinar el permiso inicial que obtendrá un fichero o directorio
habrá que restar el valor de umask al permiso base.

Por eso, cuando creamos un fichero, el permiso inicial de éste será 644 (-rw-r–r–), valor
resultante de realizar la operación 666 - 022. Al igual que cuando creamos un directorio,
el permiso inicial será 755 (drwxr-xr-x), resultado de 777 - 022.

Pero ojo! no se trata de una operación decimal, es decir, no es una resta de un número
con otro, es una diferencia a nivel de bits.

umask realiza la diferencia a nivel de bits utilizando el operador AND. Para aclararlo,
veamos un ejemplo con los permisos de un fichero:
1.-Los permisos base para un fichero son 666 y el valor de umask, por defecto, es 022.
Estos son valores en formato octal, pero el kernel opera a nivel de bits, es decir, en
binario. Así que traduciremos estos valores a binario:
666 = 110 110 110
022 = 000 010 010

1. Para hacer la diferencia con el operador AND tendremos que invertir el valor de 022
con Not, quedando el siguiente valor:

Not 022 = 111 101 101

14
IES FUENTE GRANDE 1º SMR

2. Aplicamos el operador AND entre ambos valores:

666 = 110 110 110


Not 022 = 111 101 101 AND

--------------------------
110 100 100

El valor resultante es 111 100 100 que si lo volvemos a traducir a octal resulta ser 644.

15

Vous aimerez peut-être aussi