SEGURIDAD DEL SISTEMA DE ARCHIVOS OBJETIVO GENERAL El alumno será capaz de regular el acceso de los archivos y directorios del sistema de archivos.
OBJETIVOS ESPECÍFICOS 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.
SUMARIO 2.1. Permisos. 2.1.1. Efectos los los permisos permisos sobre sobre archivos y directorios. directorios. 2.2. Cambiar al usuario y grupo propietario. 2.2.1. 2.2.1 . Comando chown. 2.2.2. 2.2.2 . Comando chgrp. 2.3. Cambiar permisos de acceso. 2.3.1. 2.3.1 . Método nivel de control de acceso. 2.3.2. Método octal. 2.4. Laboratorio. 2.5. Glosario de términos. 2.6. Bibliogra Bibliog rafía fía y enlaces recomendados.
Administración de de Sistemas Sistemas Operativos Operativos
1
INTRODUCCIÓN 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 podía acceder a sus archivos sin su consentimiento.
Administración de Sistemas Operativos
2
DESARROLLO DEL CONTENIDO 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 raíz 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 guion del comienzo, que indica si es archivo, directorio o enlace. ( Ver Figura 2)
Administración de Sistemas Operativos
3
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 ejecución.
Su distribución 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 interpretación de estos permisos de acceso varía de acuerdo al tipo de archivo, en la Tabla 1 se detallan estos (Ver Tabla 1):
Permisos r
Archivo El
contenido
archivo
puede
Directorio del El contenido del directorio ser puede ser leído (listado).
leído. w
El
contenido
archivo
puede
del Crear o eliminar archivos y/o ser directorios en el directorio.
modificado. x
El archivo puede ser Buscar
y
acceder
al
ejecutado (asumiendo directorio. Administración de Sistemas Operativos
4
que
un
archivo
binario).
Tabla 1. Efecto de los permisos
Sin el permiso ejecución 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
Figura 3. Comando chown
2.2.2. Comando chgrp Es usado para cambiar al grupo propietario del archivo. ( Ver Figura 4) Administración de Sistemas Operativos
5
Sintaxis:
chgrp nuevo_grupo nombre_archivo
Figura 4. Comando chgrp
Solamente el super-usuario puede cambiar la propiedad del archivo. ( Ver Figura 5)
Figura 5. Cambiando al usuario y grupo propietario
Los comandos chown y chgrp soportan la opción –R, la cual permite cambiar la propiedad de un árbol de directorios completo. ( Ver Figura 6)
Sintaxis:
chown –R nuevo_propietario directorio
Administración de Sistemas Operativos
6
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 métodos para realizar los cambios de permisos:
Método nivel de control de acceso.
Método octal.
2.3.1. Método nivel de control de acceso (usuario, grupo, otros - UGO) El método puede apreciarse en la Tabla 2.
Sintaxis:
chmod
archivo Opciones nivel_control_acceso
acción
permiso_acceso
Descripción u
usuario propietario
g
grupo propietario
o
otros usuarios
a
todos los usuarios
+
otorga el permiso
-
elimina el permiso
=
únicos permisos
r
lectura
w escritura x
ejecución
Tabla 2. Opciones del comando chmod Administración de Sistemas Operativos
7
Ejemplo1: Agregar el permiso escritura al grupo propietario y a los otros usuarios del archivo postres. (Ver
Figura 7) chmod go+w postres
Figura 7. Comando chmod
Ejemplo2: Remover el permiso de lectura al grupo propietario de todos los archivos que tiene como primer carácter la letra “ d “. (Ver Figura 8)
chmod g-r d*
Figura 8. Comando chmod
2.3.2. Método octal Administración de Sistemas Operativos
8
El comando chmod también puede manipular los permisos de acceso por código de números (método octal). En la representación numérica, los tres bits de permisos (r, w, x) en cada nivel de control de acceso (usuario, grupo y otros) son leídos como un número binario de tres bits.
Este método es frecuentemente el medio más conveniente para la manipulación de los permisos de acceso. A cada permiso de acceso se le asigna un valor ( Ver Tabla 3):
Permiso
de Valor
acceso r w x
Tabla 3. Valor otorgado a cada permiso Ejemplos: rw-
=
4+2=6
r-x
=
4+1=5
- -x
=
1
El valor más grande posible (rwx) es 7, cada conjunto de permisos puede ser representado por un sólo dígito octal entre 0 y 7. La colección de todos los tres conjuntos de los bits rwx es entonces representado como un número octal de tres dígitos.
Ejemplos:
rw-rw -r- -
=
664
rw-r- - - - -
=
640
r- -r- --r- -
=
444
Sintaxis:
chmod archivo
Administración de Sistemas Operativos
9
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 – método 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
Figura 10. Comando chmod – método octal Administración de Sistemas Operativos
10
2.4.
Laboratorio Duración: 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 contraseña respectiva (super-usuario =
“r oot”)
Procedimiento de ejecución: 1.
Usando el comando chmod, con el método nivel de control de acceso (UGO):
a.
Otorgar el permiso ejecución 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
Administración de Sistemas Operativos
11
2.
Usando el comando chmod, con el método octal (numérico):
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 ejecución y a los otros usuarios únicamente otorgarle el permiso de ejecución 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.
Administración de Sistemas Operativos
12
2.5. Buffer
Glosario de términos Es una palabra inglesa que se refiere a un espacio reservado en memoria para guardar alguna información temporalmente.
2.6.
Bibliografía y enlaces recomendados:
Teach Yourself UNIX in 24 hours-Dave Taylor and James C. Amstrong Jr.-1997
Linux: Rute user ’s tutorial and exposition- Paul Sheer-2001
www.tldp.org
www.ibiblio.org
www.linuxgazette.net/
www.gacetadelinux.com
Administración de Sistemas Operativos
13