Está en la página 1de 21

INACAP

Universidad Tecnolgica de Chile


Sede Santiago Centro

Taller de Sistemas Operativos I


Red Hat Academy
Sesin 05
Gestin de usuarios en GNU/Linux

Mecanismos de proteccin bsicos en GNU/Linux


En Unix y GNU/Linux existen sistemas de proteccin que pueden
utilizarse para dar permisos o prohibir el acceso a ciertos archivos del
sistema.
El sistema de permisos de usuario es uno de esos sistemas de
proteccin y basa su accionar en la existencia de tres conjuntos de
usuarios del sistema, los cuales pueden acceder a los archivos en tres
formas diferentes:
a travs de una operacin de lectura
a travs de una operacin de escritura
a travs de una operacin de ejecucin

Page 2

Mecanismos de proteccin bsicos en GNU/Linux


Los grupos de usuarios existentes y su relacin con las operaciones
sobre archivos se explican en el siguiente diagrama:

Archivos

Usuario
propietario

Page 3

Grupo
de confianza

Lectura
Otros

Escritura
Ejecucin

Mecanismos de proteccin bsicos en GNU/Linux


Definiciones bsicas:
Usuario propietario: es aquel usuario del sistema que crea un archivo y
maneja sus propiedades principales.
Grupo de confianza: es un grupo de uno o ms usuarios (entre los que se
encuentra el usuario propietario) que tienen privilegios especiales sobre
archivos de un usuario propietario especfico.
Otros:es el grupo de usuarios del sistema que no cae dentro de ninguna de
las categoras anteriores.

Vale la pena comentar que estos conjuntos de usuarios cambian su


constitucin dependiendo del archivo que se est referenciando (es decir,
no todos los archivos son creados por el mismo usuario, ni tienen los
mismos grupos de confianza, en general).
Page 4

Proteccin de acceso a travs de permisos


Para aplicar el sistema de permisos de usuario en GNU/Linux se debe
comprender la estructura de asignacin de permisos, que puede ser
explicada a travs del uso de una matriz de usuarios/permisos:

Usuario propietario

Grupo de confianza

Otros

a
ra
ur cin
u
t
t
i
c
cr ecu
s
Le
E
Ej

Para codificar los permisos de cada usuario, se asignan ponderaciones a


cada tipo de acceso; en este caso: lectura=4, escritura=2 y ejecucin=1.
Page 5

Proteccin de acceso a travs de permisos


Por ejemplo, se pueden codificar los siguientes permisos:
r=4

g
o

x
x

El propietario puede leer


y ejecutar el archivo.
El grupo slo puede
escribir el archivo.
Los otros usuarios slo
pueden leer el archivo.
Page 6

r=4

w=2 x=1

g
o

w=2 x=1

r=4

w=2 x=1

El propietario puede leer,


escribir y ejecutar el
archivo.
El grupo slo puede leer
el archivo.
Los otros usuarios slo
pueden leer el archivo.

El propietario slo puede


ejecutar.
El grupo slo puede
ejecutar el archivo.
Los otros usuarios slo
pueden leer y escribir el
archivo.

Proteccin de acceso a travs de permisos


Para asignar los permisos a un archivo, se utiliza el comando chmod,
codificando los permisos en dos formas diferentes:

a) Formato octal: chmod <nmero_octal> <archivo_destino>


r=4

g
o

w=2

x=1

x
x

chmod 524 archivo.dat

r=4

w=2

x=1

= 4+1=5

=2

=4

= 4+2+1 = 7
=4

= 2+1 = 3

chmod 743 archivo.dat

Cada dgito del nmero octal especifica la suma de permisos asignados


para el usuario, grupo y otros (de izquierda a derecha).
Page 7

Proteccin de acceso a travs de permisos


b) Formato literal: chmod <grupo_de_permisos> <archivo_destino>

r=4

g
o

w=2

x
x

x=1

= u+rx

= g+w

= o+r

chmod u+rx, g+w, o+r archivo.dat

r=4

w=2

x=1

= u+rwx

= o+wx

chmod u+rwx, o+wx archivo.dat

NOTA: si se necesita aplicar los permisos a varios archivos y directorios, se puede


utilizar la opcin recursiva chmod -R <permisos> <ruta_archivos>
Page 8

Proteccin de acceso a travs de permisos


El formato literal acepta tres tipos de operacin: agregacin (+),
eliminacin (-) y establecimiento (=) para cada uno de los permisos.
Ejemplos:
chmod u+rw archivo.txt
chmod u+x archivo.txt
chmod u-r, g+x, o+rw archivo.txt
chmod u-rwx, g-rwx, o+rwx archivo.txt
chmod ugo+rwx archivo.txt
chmod ug-r, o-x archivo.txt
chmod u=rw, g=x, o-rwx archivo.txt
chmod ugo=rw archivo.txt
etc.
Page 9

Qu significan los permisos en directorios?


Los permisos tienen diferentes significados, segn se refieran a archivos
de datos o directorios:

No directorios

Directorios

Lectura: obtener datos

Lectura: leer sus archivos

Escritura: agregar datos

Escritura: crear nuevos archivos

Ejecucin: ejecutar como un programa

Ejecucin: cambiarse al directorio con cd

Page 10

Dnde se almacena la informacin de los


usuarios?
La informacin de los usuarios del sistema se almacena en tres archivos
principalmente:
/etc/passwd: archivo con informacin de los usuarios creados en el sistema.
/etc/group: archivo que almacena informacin de los grupos del sistema.
/etc/shadow: archivo que almacena informacin de las passwords de usuario.

Si se ejecuta cat /etc/passwd, puede observarse la siguiente informacin:

Page 11

Dnde se almacena la informacin de los


usuarios?
La informacin del archivo /etc/passwd muestra los siguientes campos:

nombre del usuario


campo antiguo para almacenar la password (hoy no se utiliza)
UID (user id - identificador de usuario)
GID (group id - identificador de grupo)
campo de comentario
ruta absoluta del directorio personal del usuario
ruta absoluta del programa a iniciar luego del ingreso del usuario

Page 12

Dnde se almacena la informacin de los


usuarios?
Si se ejecuta cat /etc/group, puede observarse la siguiente informacin:

Los campos que se observan son los siguientes:


nombre del grupo de usuarios
antiguo campo para passwords de grupo (hoy no se utiliza)
GID (group id - identificador de grupo)
lista de usuarios que pertenecen al grupo
Page 13

Comandos bsicos para gestin de usuarios


Los comandos bsicos para gestin de usuarios son los siguientes:
1) useradd <nombre_de_usuario>
Permite crear un nuevo usuario en el sistema, con el nombre indicado.

2) passwd <nombre_de_usuario>
Permite asignar (luego de la creacin) o cambiar la contrasea de un usuario
determinado. Por lo general, las contraseas slo las puede cambiar el
usuario administrador.

Page 14

Comandos bsicos para gestin de usuarios


3) userdel <nombre_de_usuario>
userdel -r <nombre_de_usuario>
Permite eliminar el usuario del sistema, sin eliminar sus archivos personales
ni la carpeta dentro de /home. Utilizar la opcin -r permite eliminar tanto al
usuario como sus archivos personales.

4) su <nombre_de_usuario>
Permite cambiar la identidad actual del usuario por una alternativa. Para
volver a la identidad inicial, ejecutar el comando exit o logout.

5) whoami
Indica cul es la identidad del usuario actual.

Page 15

Comandos bsicos para gestin de usuarios


6) who
Indica en la terminal qu usuarios estn trabajando actualmente en el
sistema y en qu terminales.

7) chmod <permisos> <ruta_de_archivo>


Cambia los permisos de uno o varios archivos. Si se necesita aplicar el
cambio de permisos en subdirectorios, utilizar la opcin -R.

8) chown <nombre_usuario> <ruta_de_archivo>


Cambia el usuario propietario de un grupo de archivos. Si se necesita
aplicar el cambio en subdirectorios, utilizar la opcin -R.
Page 16

Comandos bsicos para gestin de usuarios


9) chgrp <nombre_grupo> <ruta_de_archivo>
Cambia el grupo de confianza de un grupo de archivos. Si se necesita
aplicar el cambio en subdirectorios, utilizar la opcin -R.

10) groupadd <nombre_del_grupo>


Agrega un nuevo nombre de grupo de confianza al sistema.

11) groupdel <nombre_del_grupo>


Elimina un grupo de confianza del sistema.

Page 17

Comandos bsicos para gestin de usuarios


12) usermod <propiedades_nuevas> <nombre_usuario>
Modifica las propiedades de un usuario en particular.

13) groupmod <propiedades_nuevas> <nombre_grupo>


Modifica las propiedades de un grupo en particular.

14) finger <nombre_usuario>


finger <nombre_usuario>@<nombre_de_host>
Permite acceder a informacin personal del usuario consultado en este
computador o en otro conectado en red.

Page 18

Comandos bsicos para gestin de usuarios


15) w <nombre_de_usuario>
Indica el nombre de los usuarios que se encuentran trabajando en el
sistema y tambin indica qu estn haciendo en este momento.

16) umask
Muestra cul es la mscara de creacin de archivos actualmente en uso en
el sistema BASH.

17) umask <nueva_mscara_de_permisos>


Cambia la mscara de creacin de archivos a la indicada como parmetro
en la lnea del comando.
Page 19

umask: mscara de permisos de usuario


La mscara de permisos de usuario representa los permisos iniciales con
que se crea un nuevo archivo o directorio en el sistema. Por omisin,
los archivos de datos se crean con los permisos 644, mientras que los
directorios se crean con los permisos 755.
La mscara de permisos se cambia mediante el uso del comando umask.
Esta mscara representa los permisos que se desactivan (o que se
quitan de los permisos base), segn lo que se muestra a continuacin:
Para archivos que no sean
directorios...

Para archivos que s sean


directorios...

base: rw-rw-rw- = 0666


umask: ----w--w- = 0022

rwxrwxrwx = 0777
----w--w- = 0022

rw-r--r-- = 0644

rwxr-xr-x = 0755

Page 20

Permisos resultantes

Fin

Fin de la sesin 06

Prxima sesin: Estudio de la programacin de scripts de


BASH en GNU/Linux
Page 21

También podría gustarte