You are on page 1of 30

Administracin y Seguridad en Redes GNU/Linux

Mdulo 2:

Seguridad

del

Sistema

de

Archivos

Objetivo General
Al finalizar este mdulo, ser capaz de regular el acceso de
los archivos y directorios del sistema de archivos.

Objetivos Especficos

Comprender el funcionamiento de los permisos de


acceso en el sistema de archivos GNU/Linux.

Cambiar la propiedad de los archivos y directorios.

Cambiar los permisos de acceso de los archivos y


directorios.

INICTEL

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

Introduccin
En todo sistema GNU/Linux los archivos pertenecen a quien los crea, por lo tanto es el nico que
puede borrarlos, ejecutarlos, etc. Esto es as porque Unix/Linux estaba pensado para ser manejado
por muchos usuarios a la vez y de esta forma nadie poda acceder a sus archivos sin su
consentimiento.

INICTEL

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

Sumario:
1. b
2.1. Permisos.

4-5

2.1.1. Efecto de los permisos sobre archivos y directorios.


2.2. Cambiar al usuario y grupo propietario.

5-6
6

2.2.1. Comando chown.

2.2.2. Comando chgrp.

6-8

2.3. Cambiar permisos de acceso.

2.3.1. Mtodo nivel de control de acceso.

8-9

2.3.2. Mtodo octal.

10 - 11

2.4. Permisos predeterminados.

12

2.4.1. Comando umask.

12 - 13

2.5. Bits de control de acceso.

13

2.5.1. Permiso SUID/SGID.

13 - 15

2.5.2. Permiso sticky bit.

15 - 16

2.5.3. Mtodo octal.

16 - 17

2.6. Los atributos de los archivos

17 - 18

2.6.1. Comandos relacionados con los atributos de archivos y directorios

19

2.6.1.1. lsatrr

19

2.6.1.2. chattr

20 21

2.7. Actividades del mdulo.

22

2.7.1.Autoevaluacin.

22

2.7.2.Laboratorio.

23 - 24

2.8. Glosario de trminos.

25

2.9. Bibliografa y enlaces recomendados.

26

INICTEL

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

2.1.

Permisos

Los permisos regulan el acceso al archivo en los niveles de usuario propietario, grupo propietario y
los otros usuarios. Para ver los permisos de los archivos, ejecutamos (Ver Figura 1):
ls -l

Figura 1. Listado del directorio raz

Los signos que aparecen al comienzo a la izquierda de la pantalla son los permisos de acceso. Para
entenderlos hay que tomarlos de 3 en 3, menos el guin del comienzo, que indica si es archivo,
directorio o enlace. (Ver Figura 2)

INICTEL

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

Figura 2. Permisos de acceso


Los permisos siguientes tomados de tres en tres significan:

r (read)

: Permiso de lectura.

w (write)

: Permiso de escritura

x (execute) : Permiso de ejecucin.

Su distribucin de 3 en 3 se debe a que los 3 primeros corresponden al propietario del archivo, los 3
siguientes al grupo al que ese usuario pertenezca y los ltimos al resto de usuarios.

2.1.1. Efectos de los permisos sobre archivos y directorios


La interpretacin de estos permisos de acceso varan de acuerdo al tipo de archivo, en la Tabla 1 se
detallan estos (Ver Tabla 1):

INICTEL

Permisos
r

Archivo
Directorio
El contenido del archivo El contenido del directorio puede

puede ser ledo.


ser ledo (listado).
El contenido del archivo Crear o eliminar archivos y/o
5

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

puede ser modificado.


directorios en el directorio.
El archivo puede ser Buscar y acceder al directorio.
ejecutado

(asumiendo

que un archivo binario).


Tabla 1. Efecto de los permisos

Sin el permiso ejecucin en el directorio, solamente puede listar los nombres de los archivos del
directorio.

2.2.

Cambiar al usuario y grupo propietario

Los usuarios y grupos propietarios de archivos y directorios son gobernados por las siguientes reglas:
Cuando un archivo es creado, el usuario que lo cre es el propietario.
Cuando un archivo es creado, pertenece al grupo del usuario que lo cre.

2.2.1. Comando chown


Es usado para cambiar al usuario propietario del archivo. (Ver Figura 3)
Sintaxis:
chown nuevo_propietario nombre_archivo

INICTEL

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


Figura 3. Comando chown

2.2.2. Comando chgrp


Es usado para cambiar al grupo propietario del archivo. (Ver Figura 4)
Sintaxis:
chgrp nuevo_grupo nombre_archivo

Figura 4. Comando chgrp


Solamente el super-usuario puede cambiar la propiedad del archivo. (Ver Figura 5)

INICTEL

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

Figura 5. Cambiando al usuario y grupo propietario

Los comandos chown y chgrp soportan la opcin R, la cual permite cambiar la propiedad de un
rbol de directorios completo. (Ver Figura 6)
Sintaxis:
chown R nuevo_propietario directorio

INICTEL

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


Figura 6. Cambiando al usuario y grupo propietario de un directorio

2.3.

Cambiar permisos de acceso

El comando que permite cambiar los permisos de acceso a los archivos es chmod, se tiene dos
mtodos para realizar los cambios de permisos:
Mtodo nivel de control de acceso.
Mtodo octal.

2.3.1. Mtodo nivel de control de acceso (usuario, grupo, otros - UGO)


El mtodo puede apreciarse en la Tabla 2.
Sintaxis:
chmod <nivel_control_acceso><accin><permiso_acceso> archivo
Opciones
nivel_control_acceso

accin

permiso_acceso

Descripcin
u usuario propietario
g

grupo propietario

otros usuarios

a
+

todos los usuarios


otorga el permiso

elimina el permiso

=
r

nicos permisos
lectura

escritura

x ejecucin
Tabla 2. Opciones del comando chmod
Ejemplo1:
Agregar el permiso escritura al grupo propietario y a los otros usuarios del archivo postres. (Ver
Figura 7)
chmod go+w postres

INICTEL

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

Figura 7. Comando chmod


Ejemplo2:
Remover el permiso de lectura al grupo propietario de todos los archivos que tiene como primer
carcter la letra d . (Ver Figura 8)
chmod g-r d*

INICTEL

10

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


Figura 8. Comando chmod

INICTEL

11

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

2.3.2. Mtodo octal


El comando chmod tambin puede manipular los permisos de acceso por cdigo de nmeros (mtodo
octal). En la representacin numrica, los tres bits de permisos (r, w, x) en cada nivel de control de
acceso (usuario, grupo y otros) son ledos como un nmero binario de tres bits.
Este mtodo es frecuentemente el medio ms conveniente para la manipulacin de los permisos de
acceso.
A cada permiso de acceso se le asigna un valor (Ver Tabla 3):
Permiso de acceso Valor
r
4
w
2
x
1
Tabla 3. Valor otorgado a cada permiso
Ejemplos:
rw-

4+2=6

r-x

4+1=5

- -x

El valor ms grande posible (rwx) es 7, cada conjunto de permisos puede ser representado por un
slo dgito octal entre 0 y 7. La coleccin de todos los tres conjuntos de los bits rwx es entonces
representado como un nmero octal de tres dgitos.
Ejemplos:
rw-rw -r- -

664

rw-r- - - - -

640

r- -r- --r- -

444

Sintaxis:

chmod <numero> archivo

INICTEL

12

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


Ejemplo 1:
Otorgar el permiso lectura y escritura al usuario propietario; al grupo propietario el permiso de lectura
y a otros usuarios denegar todos los permisos del archivo desayunos. (Ver Figura 9)
chmod 640 desayunos

Figura 9. Comando chmod mtodo octal


Ejemplo 2:
Otorgar todos los permisos al usuario propietario, al grupo propietario otorgar los permisos lectura y
ejecutar y a otros usuarios nicamente otorgarle el permiso ejecutar del archivo dietas. (Ver Figura
10)
chmod 751 dietas

INICTEL

13

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

Figura 10. Comando chmod mtodo octal

2.4.

Permisos predeterminados

Cuando un archivo es creado, sus permisos son determinados por un valor llamado umask.
umask es un nmero octal de tres dgitos.
Su valor es sustrado del valor 777 (para directorios) o 666 (para archivos). El valor predeterminado
es 022.
archivos:

complemento a:
666
022
-------644

directorios:

rw-r--r--

complemento a:
777
022
-------755

INICTEL

rwxr-xr-x

14

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

2.4.1. Comando
umask
Es el comando que define los permisos por defecto para la creacin de archivos y directorios. (Ver
Figura 11)
Sintaxis:
umask [valor]

Figura 11. Comando umask

INICTEL

15

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


Ejemplo:
Cambiar los permisos de acceso. (Ver Figura 12)

Figura 12. Comando umask

2.5.

Bits de control de acceso

En adicin a los bits rwx. GNU/Linux soporta otros tres tipos de acceso: sticky bit (t), SUID/SGID (s).
Localizacin de los permisos:

SUID:

s en vez de x

usuario propietario

SGID:

s en vez de x

grupo propietario

Sticky bit:

t en vez de x

otros usuarios

2.5.1. SUID/SGID

El bit SUID es muy importante solamente para ejecucin de procesos. Un proceso puede activar
el identificador de usuario (SUID), esto permite que durante la ejecucin del programa un usuario
se convierta en el usuario propietario del archivo.
chmod u+s archivo

Ejemplo:
INICTEL

16

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


El comando passwd accede a archivos que slo puede modificar el super-usuario. Dicho comando
tiene activo el SUID para que durante la ejecucin del programa otro usuario sea por algn momento
el super-usuario y pueda cambiar su contrasea. (Ver Figura 13)

Figura 13. SUID comando passwd

NOTA: Hay que tener mucho cuidado al aplicar este permiso, porque usuarios no autorizados
pueden tomar privilegios.

El bit SGID definido en un directorio, fuerza a que los nuevos archivos creados en ese directorio
son propiedad del mismo grupo propietario del directorio (en lugar del grupo del creador del
archivo).
chmod g+s directorio

Ejemplo:
Ingresamos como el sper-usuario y creamos el archivo /curso/inventario/abril, luego otorgamos el
permiso SGID sobre el directorio /curso/inventario
touch /curso/inventario/abril
chmod g+s /curso/inventario/
Luego creamos el archivo /curso/inventario/mayo. Qu ha sucedido? (Ver Figura 14)

INICTEL

17

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

Figura 14. Comando chmod SGID

2.5.2. Sticky bit


Cuando este permiso se define en un directorio, un usuario puede borrar un archivo solamente si l
es el usuario propietario del archivo. (Esto se emplea comnmente en directorio como /tmp que
tiene permisos de escritura general).
chmod o+t directorio
Ejemplo:
Ingresamos como el super-usuario y otorgamos el permiso sticky bit sobre el directorio
/curso/inventario, removemos el permiso de escritura al usuario propietario del archivo
/curso/inventario/enero
chmod o+t /curso/inventario/
INICTEL

18

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


chmod u-w /curso/inventario/enero
Luego ingresamos como el usuario inictel y borramos el archivo /curso/inventario/enero. Qu ha
sucedido?

Figura 15. Comando chmod sticky bit

2.5.3. Mtodo octal


A cada permiso de acceso se le asigna un valor (Ver Tabla 4):

Bits de control de acceso


INICTEL

19

Valor
Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


SUID
4
SGID
2
Sticky bit
1
Tabla 4. Valor otorgado a cada permiso

En la representacin numrica, tenemos los niveles de control de acceso (bits de control de acceso,
usuario, grupo y otros) son ledos como un nmero binario de cuatro bits.
Ejemplo:
Crear el directorio /curso/documentos,

creamos los archivos /curso/documentos/carta.txt y

/curso/documentos/memo.txt luego definimos el acceso al directorio /curso/documentos de la


siguiente manera: o
torgamos al grupo propietario todos los permisos, a otros usuarios denegar todos los permisos y que
todos los archivos creados en el directorio /curso/documentos tengan como grupo propietario al
grupo estudiantes que son el grupo propietario del directorio /curso/documentos. (Ver Figura 16)
chmod 2070 /curso/documentos
chgrp estudiantes /curso/documentos
Luego creamos algunos archivos en el directorio /curso/documentos. Qu ha sucedido?

INICTEL

20

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


Figura 16. Bits de control de acceso - mtodo octal

2.6.

Los atributos de los archivos

De la misma forma en que FAT tiene atributos de archivo (archivado, archivo de sistema, invisible),
los sistemas de archivos de GNU/Linux tienen los suyos propios, pero son diferentes.
Estos atributos no son muy usados; sin embargo, si proporcionan un sistema sumamente seguro.
Estos atributos slo se pueden aplicar a los directorios y a los archivos regulares.
Ellos son los siguientes (Ver Tabla 5):

Atributo

Descripcin
Si un archivo o directorio tiene este atributo activo, cuando sea accedido, ya

(no Access time,

sea para lectura o para escritura, no se actualizar su ltima fecha de acceso.

sin tiempo de

Esto puede ser til, por ejemplo, para archivos o directorios que se acceden

Acceso)

para escritura muy a menudo, especialmente debido a que este parmetro es el

nico que cambia en un inodo cuando se abre como slo de lectura.


Si un archivo tiene este atributo activo y se abre para escritura, la nica

(append only,

operacin posible ser agregar datos a su contenido previo, pero no renombrar

Slo para

ni borrar el archivo existente.

adjuntar):
d

Slo root puede activar o desactivar este atributo.


dump es el utilitario UNIX estndar para copias de seguridad. Vuelca cualquier

(no dump, sin

sistema de archivos para el cual el contador de respaldo est en 1 en /etc/fstab.

respaldo)

Pero si un archivo o un directorio tiene este atributo activo, a diferencia del


resto, no ser tomado en cuenta cuando est en progreso un respaldo.
Note que para los directorios, esto tambin incluye a todos los archivos y

subdirectorios que contienen.


Un archivo o directorio que tiene este atributo activo sencillamente no puede

(immutable,

modificarse en absoluto: no se puede renombrar, no se puede crear algn otro

inmutable)

vnculo al mismo y no puede borrarse. Slo root puede activar o desactivar este
atributo.
Note que esto tambin impide cambios al tiempo de acceso, por lo tanto, no

necesita activar tambin el atributo A cuando se activa i.


Cuando se borra un archivo o directorio con este atributo activo, los bloques

(secure deletion,

que estaba ocupando en el disco se sobrescriben con ceros.

seguridad para la
accin de
borrado)
INICTEL

21

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


S

Cuando un archivo o directorio tiene este atributo activo, todas las

(Synchronous

modificaciones sobre el mismo son sincrnicas y se escriben en el disco

mode, modo

inmediatamente.

sincrnico)

Por ejemplo, podra querer activar el atributo i en los archivos esenciales del
sistema para evitar malas sorpresas. Tambin considere el atributo A en las
pginas Man por ejemplo: esto evita un montn de operaciones de disco y, en
particular, prolonga la duracin de la batera en las porttiles.
Tabla 5. Atributos

INICTEL

22

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

2.6.1. Comandos relacionados con los atributos de archivos y directorios


Hay dos comandos para manipular los atributos de los archivos: lsattr y chattr.
lsattr muestra los atributos (del ingls LiSt), mientras que chattr los cambia (del ingls CHange).

2.6.1.1.

lsattr

Lista los atributos especiales de los archivos especificados.


Sintaxis:
lsattr [opciones] [archivos ]
Entre sus modificadores se encuentran (Ver Tabla 6):
Opcin
-R

Descripcin
Lista recursivamente los atributos de

-a

directorios y sus contenidos.


Lista todos los archivos

del

los

directorio,

incluyendo los ocultos.


Tabla 6. Modificadores del comando lsattr
Ejemplo:
Listar los atributos del los archivos del directorio actual (Ver Figura 17):

Figura 17. Comando lsattr

INICTEL

23

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

2.6.1.2.

chattr

Permite modificar los atributos especiales de un sistema de archivos ext2.


Sintaxis:
chattr [opciones] [modo] archivos
Entre sus opciones se encuentran:
Opcin
-R
-V

Descripcin
Cambia recursivamente los atributos de

los

directorios y sus contenidos.


Visualiza detalladamente los

del

atributos

archivo.
Tabla 7. Modificadores del comando chattr

Como modo se especifican los cambios a los permisos. En la Tabla 8 se muestra las acciones que se
pueden definir a cada atributo:
Accin
+

Descripcin
Agregar el atributo a la lista de atributos

del archivo.
Remueve el atributo a la lista de atributos

del archivo.
Determina nicos atributos.
Tabla 8. Accin

Cada permiso se especifica con un carcter (Ver Tabla 9):

INICTEL

24

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

Permiso
A
S

Descripcin
no actualizar tiempos de acceso
actualizacin sincrona (es decir escribe directamente

a
c

sin emplear caches),


permite abrir el archivo slo para agregar datos
el archivo es mantenido comprimido en disco (sus
datos son descomprimidos automticamente por el

d
i
j
s

kernel),
al emplear el programa dump el archivo es copiado
el archivo no puede ser modificado o renombrado
llevar bitcora de datos
el archivo debe sobreescribirse con ceros si es

eliminado
en caso de ser borrado por el usuario una copia es
salvada para su posible recuperacin
Tabla 9. Permisos

Ejemplo:
Otorgar el atributo inmutable (-i) a un archivo y luego borrarlo. Qu ha sucedido? (Ver Figura 18)

Figura 18. Comando chattr

INICTEL

25

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

Actividades del mdulo

2.7.

2.7.1. Autoevaluacin
1. Usando el mtodo octal, otorgar al grupo propietario ejecutivos todos los permisos, a otros
usuarios denegar todos los permisos y que todos los archivos creados en el directorio /empresas
tengan como grupo propietario al grupo propietario del directorio padre (ejecutivos). Cules son
los comandos necesarios para que el requerimiento se cumpla?
(a) chmod 2770 --- chgrp /empresas ejecutivos
(b) chmod 2070 --- chgrp /empresas ejecutivos
(c) chmod 2770 --- chgrp ejecutivos /empresas
(d) chmod 2775 --- chgrp ejecutivos /empresas

2. Cambiar al usuario y grupo propietario del directorio /empresas/2004, usuario propietario julio y
grupo propietario directores.
(a) chown directores.julio 2004
(b) chown directores.julio /empresas/2004
(c) chgrp julio.directores 2004
(d) chown julio.directores /empresas/2004

3. Permitir que todos los usuarios puedan crear, borrar, modificar los archivos y directorios del
directorio /pase.
(a) chmod 007 /pase
(b) chmod 004 /pase
(c) chmod 002 /pase
(d) chmod 001 /pase

4. Permitir que nicamente los propietarios de los archivos del directorio /pase puedan borrar sus
archivos.
(a) chmod t+o /pase
(b) chmod o+t /pase
(c) chmod o+s /pase
(d) chmod u+t /pase

INICTEL

26

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

2.7.2. Laboratorio
Duracin:

30 minutos

Objetivos:

Uso de comandos para cambiar al usuario y grupo propietario de archivos y directorios.

Uso de comandos para cambiar los permisos de acceso a los archivos y directorios.

Recursos a utilizar:

Un computador con GNU/Linux en modo texto (consolas virtuales)

Un nombre de usuario y su contrasea respectiva (super-usuario = root)

Procedimiento de ejecucin:
1. Usando el comando chmod, con el mtodo nivel de control de acceso (UGO):
a. Otorgar el permiso ejecucin al usuario propietario del archivo doc1.txt

b. Remover el permiso de lectura a todos los usuarios del archivo doc2.txt

c.

Remover el permiso de escritura a todos los usuarios, entonces otorgar al usuario y grupo
propietario los permisos de lectura y escritura del archivo doc3.txt

d. Otorgar a todos los usuarios el permiso de escritura del archivo doc4.txt

INICTEL

27

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux


2. Usando el comando chmod, con el mtodo octal (numrico):
a. Otorgar el permiso de lectura y escritura al usuario propietario, al grupo propietario el
permiso de lectura y a los otros usuarios denegar todos los permisos del archivo doc5.txt

b. Otorgar todos los permisos al usuario propietario, al grupo propietario lectura y ejecucin
y a los otros usuarios nicamente otorgarle el permiso de ejecucin del archivo doc6.txt

c.

Denegar todos los permisos al usuario propietario y a los otros usuarios, otorgar al grupo
propietario todos los permisos y que todos los archivos creados en el directorio dir1 sean
de propiedad del grupo propietario del directorio dir1.

INICTEL

28

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

2.8.

Glosario de trminos

Buffer

Es una palabra inglesa que se refiere a un espacio reservado en memoria para


guardar alguna informacin temporalmente.

INICTEL

29

Mdulo 2

Administracin y Seguridad en Redes GNU/Linux

2.9.

Bibliografa y enlaces recomendados:

Teach Yourself UNIX in 24 hours-Dave Taylor and James C. Amstrong Jr.-1997


Linux: Rute users tutorial and exposition- Paul Sheer-2001

www.tldp.org
es.tldp.org

www.ibiblio.org
linuxgazette.net

www.gacetadelinux.com
www.linuxfocus.org
www.plazalinux.org
www.yolinux.org

INICTEL

30

Mdulo 2

You might also like