Tema 9– Puesta en Marcha Del Sistema (Linux)

41
Tema 9: Puesta en marcha del sistema Página 1 Tema 9: Puesta en marcha del sistema 9.1.Administración de usuarios.................................................................................................. 3 9.1.1.Gestión de Usuarios ....................................................................................................... 4 A. Creación de usuarios ......................................................................................................... 4 B. Propiedades de una cuenta de usuario............................................................................. 6 C. Modificación de la contraseña de un usuario ................................................................... 6 D. Deshabilitar una cuenta de usuario .................................................................................. 6 E. Eliminación de una cuenta de usuario .............................................................................. 7 9.1.2.Gestión de grupos .......................................................................................................... 7 A. Crear un grupo ............................................................................................................... 8 B. Borrar un grupo ............................................................................................................. 8 C. Modificar la pertenencia a un grupo ......................................................................... 8 9.1.3.Usuarios/Grupos. Intérprete de comandos ................................................................. 9 9.1.4.Ficheros passwd, shadow, group y gshadow. .............................................................. 10 9.2.Sistemas de Ficheros ........................................................................................................... 12 9.2.1.particionamiento.......................................................................................................... 13 9.3.Sistemas RAID..................................................................................................................... 22 9.3.1. Información básica sobre RAIDs .................................................................................... 22 9.3.2. Montar un sistema RAID ............................................................................................... 24 Crear RAID ............................................................................................................................... 27 Ver información del RAID ........................................................................................................ 28 Formatear la RAID ................................................................................................................... 29 Montar la RAID ........................................................................................................................ 29 Guardar RAID........................................................................................................................... 30 Administración de una RAID y sus discos ................................................................................ 30 9.3.3.Monitorización ............................................................................................................. 30 Monitorización del estado una RAID y sus discos ................................................................... 30 Monitorización del sistema de ficheros .................................................................................. 32 9.4. Cuotas de disco .................................................................................................................... 35 A. Instalación y Configuración de Cuotas de Disco.............................................................. 35 B. Asignación de cuotas por usuario ................................................................................... 37 C. Asignación de cuotas por grupo ...................................................................................... 37 E. Asignación de cuotas por sistema de ficheros ................................................................ 38

Transcript of Tema 9– Puesta en Marcha Del Sistema (Linux)

Page 1: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página1 

Tema 9:  Puesta en marcha del sistema 

9.1.‐  Administración de usuarios .................................................................................................. 3 

9.1.1.‐ Gestión de Usuarios ....................................................................................................... 4 

A.  Creación de usuarios ......................................................................................................... 4 

B.  Propiedades de una cuenta de usuario ............................................................................. 6 

C.  Modificación de la contraseña de un usuario ................................................................... 6 

D.  Deshabilitar una cuenta de usuario .................................................................................. 6 

E.  Eliminación de una cuenta de usuario .............................................................................. 7 

9.1.2.‐ Gestión de grupos .......................................................................................................... 7 

A.  Crearungrupo ............................................................................................................... 8 

B.  Borrarungrupo ............................................................................................................. 8 

C.  Modificarlapertenenciaaungrupo ......................................................................... 8 

9.1.3.‐ Usuarios/Grupos.   Intérprete de comandos ................................................................. 9 

9.1.4.‐ Ficheros passwd, shadow, group y gshadow. .............................................................. 10 

9.2.‐ Sistemas de Ficheros ........................................................................................................... 12 

9.2.1.‐ particionamiento .......................................................................................................... 13 

9.3.‐  Sistemas RAID..................................................................................................................... 22 

9.3.1. Información básica sobre RAIDs .................................................................................... 22 

9.3.2. Montar un sistema RAID ............................................................................................... 24 

Crear RAID ............................................................................................................................... 27 

Ver información del RAID ........................................................................................................ 28 

Formatear la RAID ................................................................................................................... 29 

Montar la RAID ........................................................................................................................ 29 

Guardar RAID ........................................................................................................................... 30 

Administración de una RAID y sus discos ................................................................................ 30 

9.3.3.‐ Monitorización ............................................................................................................. 30 

Monitorización del estado una RAID y sus discos ................................................................... 30 

Monitorización del sistema de ficheros .................................................................................. 32 

9.4. Cuotas de disco .................................................................................................................... 35 

A.  Instalación y Configuración de Cuotas de Disco.............................................................. 35 

B.  Asignación de cuotas por usuario ................................................................................... 37 

C.  Asignación de cuotas por grupo ...................................................................................... 37 

E.  Asignación de cuotas por sistema de ficheros ................................................................ 38 

Page 2: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página2 

F.  Verificación de las cuotas de un usuario ......................................................................... 38 

G.  Informes de Cuota de Disco ............................................................................................ 38 

H.  Activación y Desactivación de Cuotas ............................................................................. 39 

9.5.‐ Permisos .............................................................................................................................. 39 

9.5.1.‐ Establecer los permisos ................................................................................................ 40 

9.5.2.‐ Establecer el usuario y grupo propietario .................................................................... 41 

Page 3: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página3 

Existen varias formas de administrar el sistema que van variando dependiendo de su facilidad o control sobre el sistema. Básicamente, puede administrar el sistema a través de tres formas diferentes:

Interfaces gráficas. Existen diferentes interfaces gráficas que permiten administrar el sistema de una forma fácil y sencilla. Puede utilizar la interfaz de administración de x-Windows o utilizar la web de administración (webmin). Este método es el más sencillo, pero es el que menos control proporciona sobre el sistema.

Terminal del sistema. Una de las ventajas de los sistemas GNU/Linux es que puede administrarlo totalmente a través del intérprete de comandos o terminal del sistema. El terminal del sistema permite una gran flexibilidad a la hora de interactuar con el sistema pudiendo crear pequeños programas (scripts) para simplificar la administración del sistema.

Ficheros de configuración. Por último, la modificación directa de los ficheros de configuración es el método que permite tener un mayor control del sistema. Como desventaja hay que destacar que para administrar el sistema de esta forma hay que conocer muy bien el sistema.

No se puede decir que un método sea el mejor siempre ya que el uso de un método u otro depende siempre de la tarea que desea realizar y de sus conocimientos. Lo mejor, como siempre, es conocer los tres métodos y utilizar el mejor en cada momento.

Para poner en marcha el sistema es necesario saber administrar los usuarios del sistema y el sistema de ficheros. 

9.1.‐Administracióndeusuarios

En los sistemas GNU/Linux existen tres tipos de usuarios:

Root. Es el usuario más importante ya que es el administrador y dueño del sistema. Se aconseja utilizar la cuenta de root para las tareas específicas de administración y el resto del tiempo utilizar una cuenta de usuario normal.  

Usuarios normales. Son los usuarios que pueden iniciar sesión en el sistema y tienen una funcionalidad limitada tanto en los comandos que pueden ejecutar como a los ficheros a los que tiene acceso.  

Usuarios asociados a servicios. Este tipo de usuarios no pueden iniciar sesión en el sistema. Su utilización es muy útil ya que permiten establecer los privilegios que tiene un determinado servicio. Por ejemplo, el servidor de páginas web Apache tiene asociado el usuario apache para poder especificar a qué ficheros tiene acceso; y por lo tanto que ficheros son visibles a través de Internet.  

Todos los usuarios del sistema tienen un identificador de usuario (UID) y un identificador de grupo (GID). El administrador del sistema root tiene los identificadores de usuario y grupo 0:0 y los demás usuarios tienen un valor mayor que 0.

A continuación se van a ver las acciones más básicas de administración de usuarios y grupos utilizando X-Windows.

Page 4: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página4 

En Ubuntu para utilizar la herramienta de Usuarios y grupos antes hay que instalarla ejecutando:

# apt-get install gnome-system-tools

9.1.1.‐GestióndeUsuarios

A. Creacióndeusuarios

Vamos a continuación a explicar la gestión de usuarios en Fedora, en Ubuntu cambiarían la disposición de las ventanas. Añadir un usuario al sistema es una de las tareas más básicas que se encuentra un administrador de sistemas. Para añadir un usuario debemos seguir los siguientes pasos:

Ejecutamos el gestor de usuarios tecleando system-config-users en la línea de órdenes, o ejecutar Usuarios y grupos que se encuentra en el submenú Administración dentro de sistema. Aparecerá la ventana Gestor de Usuarios (véase la figura 1). Si existen más de 15 cuentas en el sistema, el gestor de usuarios nos filtrará los usuarios. Puedes elegir el rango de cuentas o desactivar el filtrado. Para añadir un usuario basta con pulsar en el botón Añadir usuario que se encuentra en la barra de herramientas. De este modo se abrirá la pantalla Crear un nuevo usuario, como podemos ver en la figura 2.

 

Figura 1. Gestor de usuarios 

La ventana Crear nuevo usuario es el lugar donde se introduce toda la información de una nueva cuenta. Cuando creamos un usuario hay campos obligatorios y otros campos que son opcionales.

Figura 2. Crear un nuevo usuario  

Los campos obligatorios son los siguientes:

Nombre (login). Identifica el nombre de la cuenta. Normalmente irá en letras minúsculas. Es bastante común 

Page 5: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página5 

usar el primer nombre o apellido o los dos en alguna combinación como “perez”, “juan”, “jps” o “jperez” para un usuario llamado Juan Pérez Sánchez. Por supuesto que también funcionará perfectamente si pones “juanito” o cualquier cosa por el estilo. También puedes usar números, por lo que si otra persona tiene las mismas iniciales, no hay problema en poner algo como “jps2”.  

Contraseña del usuario. La contraseña debe de ser de al menos seis caracteres y, para que sea segura, se aconseja utilizar letras minúsculas, letras mayúsculas, números o símbolos.  

Nota  

En el fichero /etc/login.defs podemos establecer las directivas de seguridad de las contraseñas del 

sitema. Las directivas de seguridad nos permiten establecer la logitud mínima, caducidad de las 

contraseñas, etc. 

 

Los campos opcionales son los siguientes:

Nombre completo. Identifica el nombre del usuario de la cuenta. Si es una persona, podría ser su nombre, por ejemplo “Juan Pérez Sánchez”. Si la cuenta representa al puesto de una persona en una empresa, entonces podrías poner el nombre completo de ese cargo. Por lo tanto una cuenta llamada “webmaster” debería tener como nombre completo algo así como “Webmaster”.  

Grupo. Especifica el grupo asociado a la cuenta. Por defecto se crea un grupo con el mismo nombre que la cuenta. Por lo tanto “jperez” pertenecería al grupo “jperez”. En general se establecen grupos en función de los departamentos de trabajo o tipo de aplicaciones que utilice.  

Directorio principal. Especifica el directorio home o directorio de trabajo de un usuario. Por defecto los directorios se crean en /home/ (p.e. /home/javier es el directorio de trabajo del usuario javier). El directorio de usuario es el punto de partida en la estructura de directorios cuando entramos al sistema y es el directorio donde se guardan los ficheros de preferencias de los usuarios.  

Shell de conexión. Especifica al intérprete de órdenes que se va a utilizar. Los intérpretes de órdenes suelen ser denominados “shells” y los más utilizado son: /bin/bash, /bin/sh y /sbin/nologin.  

El shell bash (GNU Bourne-Again Shell) es el shell por defecto y el más utilizado. Es compatible con los el shell sh e incorpora las características de Korn y C shells (ksh y csh) Si establecemos el shell /sbin/nologin o False estamos indicando que el usuario no puede iniciar sesión en el sistema.

Identificación de usuario. Especifica el número asociado con cada cuenta de usuario y se genera cuando se crea la cuenta. Este identificador puede ser cambiado.  

 

 

Page 6: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página6 

Nota  

Es recomendable asignar a los servicios del sistema el shell /sbin/nologin para que no pueden iniciar 

sesión en el sistema. 

B. Propiedadesdeunacuentadeusuario

Para ver las propiedades de la cuenta de un usuario, seleccionamos el usuario y pulsamos en el botón Propiedades que se encuentra en la barra de herramientas. Se abrirá la ventana Propiedades de usuario, donde podremos cambiar la información del usuario (véase la figura 3).

 

Figura 3. Propiedades de la cuenta de un usuario  

La información de un usuario se divide en las siguientes categorías: * Datos del usuario. En esta información se encuentra el nombre completo del usuario, la contraseña, el directorio principal y el shell de conexión asociado a dicho usuario. * Información de cuenta. Nos permite activar la fecha de activación de una cuenta y se puede bloquear la contraseña local del usuario. * Información de la contraseña. Nos permite activar los datos de expiración de la contraseña. Por ejemplo: Días antes de permitir cambios, días antes de desactivar la cuenta, etc. * Grupos. Podemos seleccionar los grupos a los que pertenece el usuario.

C. Modificacióndelacontraseñadeunusuario

Si deseamos cambiar la contraseña de un usuario utilizando el gestor de usuarios, seleccionamos la cuenta y pulsamos el botón propiedades que se encuentra en la barra de herramientas. En la ventana Propiedades del usuario escribimos la nueva contraseña en los campos contraseña y confirme la contraseña.

D. Deshabilitarunacuentadeusuario

¿Por qué deshabilitar una cuenta? Ésta no es una respuesta sencilla, hay muchas razones por la que se debe desactivar una cuenta de usuario. La razón más importante es por motivos de seguridad. Por ejemplo, puede que se haya creado una cuenta especial que será usada por clientes, compañeros o amigos para acceder a ficheros específicos en tu sistema. Esta cuenta se usa esporádicamente pero sólo debería estar activa cuando se necesite. Una cuenta que no se usa es un objetivo para los atacantes del sistema. Si se borra tendremos que crearla cuando queramos

Page 7: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página7 

utilizarla. Deshabilitar la cuenta resuelve ambos problemas con sólo activar o desactivar dicha cuenta de usuario. Para deshabilitar una cuenta utilizamos el gestor de usuarios, seleccionamos la cuenta deseada, pulsamos el botón propiedades que se encuentra en la barra de herramientas, seleccionamos la pestaña Información de la cuenta y activamos la casilla La contraseña local está bloqueada. La cuenta queda deshabilitada y puede ser habilitada más tarde volviendo a desactivar la misma casilla.

E. Eliminacióndeunacuentadeusuario

Para borrar una cuenta seleccionamos la cuenta que deseamos borrar, pulse Borrar en la parte superior de la pantalla. Nos aparece una pantalla de confirmación (Véase la figura 5) en la que podemos decidir si queremos conservar los ficheros asociados a la cuenta o no. Los ficheros asociados de la cuenta son aquellos que se encuentran en el directorio /home/nombre_usuario.

Nota  

Aunque existen opciones para conservar los ficheros asociados a una cuenta si se 

activa dicha opción, cualquier información o fichero que se borre será eliminado y no 

hay forma de recuperarlos. 

 

 

Figura 5. Borrar una cuenta de usuario 

9.1.2.‐Gestióndegrupos

Todos los usuarios pertenecen a uno o más grupos. Al igual que cada fichero tiene un propietario específico, también pertenece a un grupo en particular. El grupo puede ser específico al propietario del fichero, o puede ser un grupo compartido por todos los usuarios. Puede asignársele a un grupo la capacidad de leer, escribir o ejecutar un fichero; esto va separado de los derechos del propietario. Por ejemplo, el propietario de un fichero puede ser capaz de escribir en él, mientras que los miembros de otro grupo pueden ser capaces sólo de leerlo. Para gestionar los grupos utilizamos el gestor de usuarios y pulsamos en la pestaña Grupos.

Page 8: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página8 

A. Crearungrupo

Para añadir un grupo pulsamos en el botón Añadir Grupo que se encuentra en la barra de herramientas y aparece la ventana Crear nuevo grupo (figura 7) donde se introduce el nombre del grupo y, si lo deseamos, podemos especificar el identificador de grupo (GID).

Figura 6. Gestor de usuarios

Figura 7. Crear nuevo grupo - usuarios

B. Borrarungrupo

Para borrar un grupo abrimos el gestor de usuarios, pulsamos la pestaña grupos, seleccionamos el grupo deseado y pulsamos el botón borrar.

C. Modificarlapertenenciaaungrupo

Existen dos formas de indicar la pertenencia de un usuario a un grupo: Indicando que un usuario pertenece a una serie de grupos, o al contrario indicando que en un grupo pertenecen una serie de usuarios. Para realizar la primera forma, abrimos el gestor de usuarios, seleccionamos el usuario deseado, pulsamos propiedades y seleccionamos la pestaña Grupos nos aparecerá el listado de todos los grupos del sistema (ver figura 8). Para dar de alta a un usuario dentro del grupo tan sólo tendremos que seleccionar el grupo deseado. Si por el contrario queremos indicar que una serie de usuarios pertenecen a un grupo determinado, la opción más rápida es abrir el gestor de usuarios,

Page 9: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página9 

dentro de la pestaña grupos seleccionamos el grupo deseado, pulsamos propiedades y en la pestaña Usuarios del grupo nos aparecen todos los usuarios del sistema (Ver figura 9). Para dar de alta a un usuario dentro del grupo tan sólo tendremos que seleccionar el usuario.

Figura 8. Crear nuevo grupo - usuarios

Figura 9. Propiedades de un grupo  

9.1.3.‐Usuarios/Grupos.Intérpretedecomandos

La gestión de usuarios y grupos se puede realizar directamente a través del intérprete de comandos. A continuación se detallan los comandos más importantes para la gestión de usuarios:

Adduser. Permite dar de alta a un usuario y su sintaxis más utilizada es: o adduser nombre_usuario. Da de alta al usuario nombre_usuario o adduser nombre_usuario –g grupo_inicial. Da de alta al usuario y establece su

grupo de trabajo inicial o adduser nombre_usuairo –G grupo1,grupo2. Da de alta al usuario y le asigna los

grupos indicados. o adduser nombre_usuario -c comentario Incluir comentario (normalmente

nombre completo del usuario)

Page 10: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página10 

o adduser nombre_usuario -d directorio_home Permite especificar su directorio deinicio

o adduser nombre_usuario -m Crea directorio de inicio /home/usuario y le pone todos los subdirectorios y ficheros que haya en /etc/skel

userdel. Permite borrar un usuario. o userdel [-r] user Borra la cuenta de un usuario -r Borra también su

directorio home

usermod. Permite modificar las propiedades de un usuario. [opciones] Si se deja en blanco toma las opciones por defecto

-L Look. Bloquea la contraseña (deshabilita la cuenta) -U directorio_home Unlook. Desbloquea la contraseña.

addgroup. Permite dar de alta a un usuario dentro de un grupo. passwd. Permite cambiar la contraseña de un usuario. Si ejecuta passwd cambia la

contraseña del usuario actual y si ejecuta passwd nombre_usuario cambia la contraseña del usuario indicado.

chage. Permite establecer los periodos de vigencia de las contraseñas. Las opciones más utilizadas son:

o chage – d ul_dia usuario. Fecha del último cambio del password. o chage –m min_dias usuario. Número de días que han de pasar para poder cambiar

la contraseña. o chage –M max_dias usuario. Número de días máximo que puede estar con la

misma contraseña sin cambiarla. o chage – W warn_dias usuario. Indicamos cuántos días antes será avisado de que

la contraseña va a expirar (maxlife) y que tiene que cambiarla. o chage –I inac_dias usuario. Número de días que tienen que pasar después de que

la contraseña expire para que la cuenta se deshabilite de forma automática si la contraseña no ha sido cambiada.

o chage –E exp_dias usuario. Número de días para que expire la cuenta y se deshabilite de forma automática.

Los comandos utilizados para la gestión de grupos son:

groups. Muestra los grupos a los que pertenece un usuario. groupadd. Permite dar de alta un grupo. groupdel. Permite borrar un grupo. groupmod, Permite modificar las propiedades de un grupo.

9.1.4.‐Ficherospasswd,shadow,groupygshadow.

Una vez aprendidas las herramientas para gestionar y crear usuarios y grupos debemos de conocer los archivos que almacenan toda esta info. de usuarios y contraseñas.

Toda la información sobre usuarios, grupos y contraseñas se guarda en los archivos:

o /etc/passwd (información sobre usuarios) o /etc/group (información sobre grupos) o /etc/shadow (contraseñas cifradas) o /etc/gshadow (contraseñas cifradas de los grupos) [normalmente no se

Page 11: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página11 

usa este fichero]

Es muy importante conocer su ubicación pero también protegerlos de hurtos y asaltos por medio de programas o comando que intentan modificarlos o borrarlos.

A. /Etc/passwd:

en este fichero se almacenan todos los user dados de alta en el sistema. Podemos visualizarlo con cualquier comando como “cat” o “more”.

Su estructura es:

Login name: nombre del usuario login. Encrypted pass: es la contraseña cifrada. Sale

una “X” porque esta info. no está aquí, está en el fichero “/etc/shadow”.

Uid: identificador único de usuario. Gid: identificador de grupo primario. User información: algún comentario del usuario. Logon directory: aquí se indica cual es el $home del usuario. Al hacer login se aparecerá

en ese directorio por defecto directamente. Login shell: se indica cual va a ser la shell por defecto “/bin/bash/”. Nos podemos

encontrar con usuarios con “/etc/false” o “/etc/nologin”, esto quiere decir que no tienen shell y no pueden acceder a ella. Esto seria para usuarios que solo usan el correo electrónico por ejemplo.

Ejemplo: root:x:0:0:root:/root:/bin/bash

B. /etc/shadow:

en este fichero se almacena la contraseña cifrada de cada usuario. Esto sirve para que la contraseña este oculta. El único usuario con permiso de lectura de este fichero es el root, así nadie podrá obtener las contraseñas cifrada de manera directa. Esto es una opción que en las distribuciones actuales bien por defecto y no se puede deshabilitar.

Su estructura es:

Usuario: el nombre del usuario. Clave: la clave cifrada. Ultimo: días desde el último cambio

de clave. Desde el 1/1/1970. Puede: Días transcurridos antes de que

la clave se puede modificar. Debe: días transcurridos antes de que

la clave tenga que ser modificada. Aviso: días de aviso al usuario antes de

que expire la clave. Expira: días en que se desactiva la

cuenta tras expirar la clave.

Page 12: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página12 

Desactiva: días de duración de la cuenta desde el 1/1/1970. Reservado: campo reservado.

C. /etc/group:

en este fichero se refleja la pertetencia de los usuarios a cada uno de los grupos creados en el sistema. Cada usuario puede pertenecer a tantos grupos quiera siempre que pertenezca al suyo propio definido en “/etc/passwd”

Su estructura es:

Grupo: nombre del grupo. Pass: contraseña del grupo. Si no tiene aparecerá una “x”. Gid: identificador del grupo. User1,user2,user3……..

D. /etc/gshadow

Al igual que el fichero /etc/shadow de las contraseñas encriptadas para usuarios, también se puede usar un fichero /etc/gshadow de contraseñas encriptadas para grupos.

Se suele usar para permitir el acceso al grupo, a un usuario que no es miembro del grupo.

Ese usuario tendría entonces los mismos privilegios que los miembros de su nuevo grupo

Algunos administradores de sistemas modifican estos ficheros a mano en vez de usar los comandos. Esto puede provocar que los ficheros queden corruptos. Pero hay herramientas para verificar la integridad de estos ficheros.

Pwck: sirve para verificar la integridad de los ficheros “/etc/passwd” y “/etc/shadow”. –r abre en modo solo lectura

Grpck: sirve para verificar la información de grupos en “/etc/group” y “/etc/gshadow”. –r abre en modo solo lectura.

Antes no se usaba el fichero “shadow” y se utilizaba el “passwd” para almacenar las contraseñas. De todas maneras tenemos un par de comandos para habilitar y deshabilitar esto. Son el “pwconv” que sirve para crear el “shadow” y el “pwunconv” que sirve para dejar de utilizar el “shadow” y usar directamente el “passwd”.

9.2.‐SistemasdeFicherosUn sistema de archivos establece el modo en el que se organiza la información dentro de una partición. Existe un gran número de sistemas de archivos distintos. entre ellos se encuentran los siguientes:

Sistemas de archivos Windows: FAT, FAT32 y NTFS

Sistemas de archivos Linux: est2, ext3, ext4, ReiserFS, etc.

Page 13: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página13 

En las versiones actuales de Ubuntu, el sistema de archivos que se utiliza de forma mayoritaria es ext4, aunque durante el proceso de instalación del sistema vimos que se podía elegir entre varias opciones más.

A finales de 2008, el sistema de archivos ext4 fue etiquetado como estable y, a partir de ahí se incorporó a diferentes distribuciones de Linux.

Una de las principales características de ext4 es que sigue siendo transaccional, igual que su antecesor ext3, con el que mantiene la compatibilidad. Sin embargo, ahora soporta volúmenes que lleguen hasta 1 Exabyte, incluye mecanismos que reducen drásticamente la fragmentación y mejoran el rendimiento cuando trabaja con archivos de gran tamaño, amplía el número máximo de archivos hasta los 64000 (o incluso más, si se usa la opción dir_nlink), mejora la velocidad de lectura y escritura en disco y disminuye el consumo de tiempo de procesador, entre muchas otras características.

¿Qué es un sistema transaccional?

Como hemos dicho más arriba, una de las características más importantes de ext4 es que se trata de un sistema transaccional (en inglés, journaling). Este mecanismo consiste en que, cuando el sistema de archivos necesita realizar una operación de disco, se guardan en un registro los cambios que se harán en la estructura del directorio, los bloques de disco que se verán afectados y los cambios que se realizarán en los archivos implicados. De esta forma, se podrán deshacer los cambios que se hayan realizado si no termina de forma satisfactoria la operación completa. El resultado es que cuando se produce una avería, un cuelgue del sistema o un fallo de alimentación eléctrica, la integridad del sistema de archivos no se verá comprometida.

Toda la información relativa a la operación en curso se almacena en unos bloques particulares del disco, de forma que sigan estando disponibles cuando se reinicie el sistema después del fallo.

Como curiosidad, diremos que esta técnica comenzó a utilizarse en los sistemas gestores de bases de datos (SGBD) para garantizar la integridad referencial de sus diferentes tablas.

Existen diferentes formas que permiten administrar el sistema de ficheros y cada una de ellas proporciona diferentes resultados dependiendo de si desea administrar el sistema utilizando particiones, volúmenes o sistemas.

 

9.2.1.‐particionamientolas particiones son bloques en los que se divide una unidad física de almacenamiento, ya sea 

un disco duro, una memoria flash o un disco óptico. 

Los discos ópticos utilizan un formato de partición especial denominado UDF, por sus siglas del 

inglés Universal Disc Format). 

Por su parte, los los discos duros y los sistemas de memoria flash disponen de tres clases 

distintas de particiones: 

Page 14: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página14 

Particiones primarias: En una unidad de almacenamiento puede haber un máximo de 

cuatro. En cualquier caso, para que un sistema operativo pueda utilizar un 

determinado medio de almacenamiento, éste debe tener, como mínimo, una partición 

primaria. 

Particiones extendidas: En una unidad de almacenamiento sólo puede haber una, 

aunque también puede no existir ninguna. Si existe, ocupa el espacio de una partición 

primaria, por lo que sólo podrían existir tres particiones primarias. Las particiones 

extendidas se inventaron para evitar la limitación existente con el número de 

particiones primarias. En realidad, una partición extendida no puede contener datos, 

sólo contendrá particiones lógicas. 

Particiones lógicas: Se ubican siempre dentro de una partición extendida. En una 

partición extendida pueden definirse hasta 23 particiones lógicas. 

En cuanto a la nomenclatura que sigue Linux para identificar las particiones, se siguen las 

siguientes pautas: 

El identificador de una unidad de almacenamiento IDE siempre comienza con las 

letras hd. Por su parte, con las unidades SATA o SCSI se utilizan las letras sd. 

A continuación, se utiliza una letra, en orden alfabético, para identificar las diferentes 

unidades del mismo tipo. Así, el primer disco SATA conectado al ordenador será sda, el 

segundo sdb y así sucesivamente. 

Finalmente, las particiones de la misma unidad quedarán identificadas con un número. 

Si el número está entre 1 y 4, representará una partición primaria. En número 5 

representará la primera partición lógica, el 6 la segunda, etc. 

Así, a modo de ejemplo, podríamos decir que sdc6 representa a la segunda partición lógica del 

tercer disco SATA conectado al sistema. 

Veamos en la siguiente imagen tres posibles combinaciones a partir de lo dicho anteriormente: 

 

Debemos observar que, en la segunda imagen, no existe sda4, que correspondería a la 

partición extendida (en amarillo más claro) y no es accesible. 

Page 15: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página15 

En la tercera imagen, se aprecia que, a pesar de que sólo existe una partición primaria (sda1), 

la primera partición lógica siempre será sda5 (recuerda que los números 1 a 4 se reserva para 

particiones primarias) 

Por último indicar que, desde el punto de vista de los sistemas operativos, éstos manejan las 

particiones primarias y lógicas como si fuesen unidades de almacenamiento independientes y, 

como tales, cada una dispondrá de su propio sistema de archivos. 

En el caso de Linux, lo normal es que haya, al menos, dos particiones: una para el intercambio 

de memoria (llamada swap) y otra para el sistema, donde se monta el directorio raíz (/). Sin 

embargo, es común que exista alguna partición más. Por ejemplo, suele utilizarse una partición 

más para almacenar la información de los usuarios (que se monta en /home). 

Como puede deducirse del párrafo anterior, a diferencia de Windows, donde existe una letra 

de unidad para cada partición montada, en Linux existe un árbol de directorios único y las 

diferentes particiones se montan en puntos determinados de dicho árbol. 

La administración de las particiones de los sistemas de ficheros se puede realizar con 

herramientas gráficas como editor de particiones Gparted y el administrador de volúmenes 

lógicos o con el comando fdisk.  

9.2.1.1.‐Herramientasgráficas.

Administración de volúmenes lógicos

El administrador de volúmenes lógicos nos permite administrar los volúmenes físicos y lógicos del sistema. Para iniciar la herramienta debemos ir al menú aplications y ejecutar el Administrador de volúmenes lógicos que se encuentra dentro del submenú System Tools. Si no hemos instalado el Administrador de volúmenes lógicos durante la instalación podemos hacerlo ejecutando:

apt-get install gnome-disk-utility apt-get install system-config-lvm apt-get install gparted

Figura 1. Administrador de volúmenes lógicos

Page 16: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página16 

Nota

Volumen físico. Es una agrupación de uno o varios discos duros. El sistema operativo no permite utilizar directamente un volumen físico ya que es necesario dividirlo en volúmenes lógicos.

Volumen lógico. Es una división de un volumen físico que puede ser utilizada por el sistema operativo. A la hora de crear el volumen podemos indicarle las características que queramos que tenga (redundancia de datos, capacidad, etc.).

El primer paso que debemos realizar es inicializar los discos duros para empezar a trabajar con ellos. Para poder inicializar un disco duro pulsamos Inicializar del menú Herramientas. Introducimos la ruta del dispositivo (p.e. /dev/sdb) y pulsamos Inicializar. El sistema nos indica que se van a perder todos los datos del sistema. Tras unos segundos el dispositivo se inicia y a partir de ahora aparece en la categoría Volúmenes no asignados (véase la figura 2).

Figura 2. Administrador de volúmenes lógicos – Volúmenes no asignados

Si deseamos crear un nuevo volumen físico, tenemos que ir a la sección Volúmenes no asignados, seleccionar el disco duro que queremos utilizar y pulsar el botón Crear un nuevo grupo de volúmenes. En la ventana que nos aparece (figura 3) tenemos que indicar el nombre del volumen.

Figura 3. Nuevo volúmen

Page 17: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página17 

Si queremos añadir más discos duros a nuestro volumen entonces tendremos que seleccionar el disco duro y pulsar el botón Agregar al grupo Volumen existente. Una vez añadidos todos los discos duros al volumen pulsamos en el nombre del volumen para ver su estructura física, lógica y las propiedades del volumen (véase la figura 4).

Figura 4. Volumen creado

Una vez creado el volumen físico, vamos a proceder a la creación del volumen lógico que es el que puede ver el sistema operativo. Para crear un volumen lógico, nos vamos a la vista lógica y pulsamos en Crear Nuevo Volumen Lógico. Tal y como aparece en la figura 5, debemos introducir los siguientes datos:

Propiedades del VL. Indicamos el tipo de volumen que queremos (lineal o striped) y si queremos tener mayor seguridad seleccionamos la casilla Reflejado para que se refleje la información y, en caso de que se rompa un disco duro no perdamos la información.

Tamaño. Indicamos el tamaño de nuestro volumen. Hay que tener en cuenta que si utilizamos un volumen reflejado ocupa el doble de espacio.

Sistema de ficheros. Indicamos el tipo de sistema de ficheros que queremos utilizar (ext3, ext4, ext2 o xfs) y el punto de montaje. Para indicar el punto de montaje tenemos que seleccionar la casilla Cantidad (y si queremos que se mantengan siempre los cambios Cantidad cuando reinicie) e indicamos el nombre del punto de montaje (p.e. /datos).

Figura 5. Crear volúmenes lógicos

Page 18: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página18 

Si deseamos ver el resultado podemos verlo pulsando el nombre del volumen y nos de forma gráfica la estructura del sistema de ficheros. Por ejemplo, en la figura 6 podemos ver que el volumen físicamente esta compuesto por 3 discos duros (color rojo) que se ha repartido en dos volúmenes lógicos (color azul): El volumen de datos que se encuentra reflejado, y el volumen copia_de_seguridad que ocupa el espacio restante.

Figura 6. Volumen lógico creado  

9.2.1.2.‐fdisk

La utilidad fdisk, a pesar de que es un poco incomoda de utilizar porque no trabaja bajo una interfaz gráfica, es muy útil y potente. Para aprender mejor, vamos a utilizar fdisk para crear una partición en uno de los discos duros que tenemos libre en el sistema, lo formatearemos y lo montaremos para poder utilizarlo.

El primer paso que debemos realizar es conocer los discos duros y particiones que tiene nuestro sistema. Para ello ejecutamos:

# fdisk –l

Tal y como podemos ver en la figura 8, el equipo tiene dos discos duros (/dev/sda y /dev/sdb). El primer disco duro (/dev/sda) tiene dos particiones donde esta el sistema operativo (/dev/sda1) y la partición swap (/dev/sda2). Y el segundo disco duro no contiene ninguna tabla de particiones válida.

Figura 8. fdisk –l

Por ejemplo, si queremos empezar a utilizar fdisk en el segundo disco duro entonces tendremos que ejecutar:

Page 19: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página19 

# fdisk /dev/sdb

Una vez dentro del disco duro (véase la figura 9) el sistema nos informa de que el disco duro no contiene ninguna tabla de particiones válida. Si deseamos conocer los comandos disponibles podemos pulsar m.

Figura 9. fdisk /dev/sdb

En la tabla 1 muestra las opciones más interesantes que nos proporciona esta utilidad.

Tabla 1. Principales parámetros de fdisk

Opción Descripción

a Nos permite indicar a nuestro sistema que partición vamos a utilizar como partición activa

d Suprime una partición

l Lista tipos de particiones conocidas

m Imprime el menú de ayuda

n Agrega una nueva partición

p Imprime la tabla de particiones

q Salir sin guardar los cambios

t Cambia el identificador de sistema de una partición: De esta forma, nos permite cambiar el sistema de ficheros que va a utilizar una partición.

v Verifica la tabla de particiones

w Guarda los cambios y sale de la aplicación

Para crear una partición en el sistema pulsamos n y realizamos los siguientes pasos:

Seleccionamos el tipo de partición que queremos crear: (p) primaria y (e) extendida. Pulsamos p.

Indicamos el número de la partición primaria. Como es la primera pulsamos 1. Ahora tenemos que indicar el tamaño de la partición. Para ello el sistema nos

muestra una línea de texto de la siguiente forma:

Primer cilindro (1-1044, valor predeterminado 1): Pulsamos directamente enter para que la partición empiece en el inicio del disco duro.

Page 20: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página20 

A continuación nos pide el último cilindro. Para especificar el tamaño de la partición podemos indicar el número del útimo cilindro o indicar el tamaño en MBytes que queremos asignarle a la partición de la forma +tamañoM (p.e. 1000M). En nuestro caso pulsamos enter para utilizar todo el disco duro.

Una vez creada la partición, podemos ver la tabla de particiones pulsamos p. Tal y como podemos ver en la figura 10, la partición creada es /dev/sdb1.

Figura 10. fdisk – partición creada

Una vez realizados todos los cambios hay que guardar dicha información y salir de la aplicación, utilizando w.

9.2.1.3.‐Formateo

Una vez creada la partición, el siguiente paso es formatearla con el comando mkfs. Para formatear nuestra partición ejecutamos:

# mkfs /dev/sdb1

 

Figura 11. mkfs /dev/sdb1 

9.2.1.4.‐CrearunespacioSWAP

Un especio swap puede ser un fichero normal que es tratado de una forma especial por el kernel. Aunque normalmente la zona de swap reside en un partición específica del tipo linux swap (tal y como se vio en el proceso de instalación). A continuación veremos cómo reservar una zona swap en un fichero.

Lo primero que hay que hacer es reservar el espacio que queremos utilizar como espacio swap. Para ello, utilizamos la orden dd. Dicho comando nos permite crear un fichero con un tamaño determinado tal y como se muestra en el siguiente ejemplo:

dd if=/dev/zero of=/extra-swap bs=1024 count=1014

Page 21: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página21 

if determina la entrada de nuestro sistema de ficheros (en el ejemplo anterior un dispositivo vacío) y of determina la salida de nuestro sistema o el nombre del fichero que vamos a crear. El tamaño del fichero es determinado por count=N donde N es el número de bloques y bs es utilizado para determinar el tamaño del bloque. Este tamaño debe de ser un múltiplo de 4 ya que el tamaño de las páginas de memoria es de 4 Kb. Si el tamaño no es múltiplo de 4 se desperdiciará parte del fichero.

Después de reservar en un fichero el espacio que queremos utilizar como zona swap, debemos de indicarle al sistema que dicho fichero va a ser un fichero swap. Para ello se utiliza el comando mkswap. Un ejemplo de este comando es el siguiente:

mkswap /extra-swap 1024

donde /extra-swap es el nombre del fichero al que le vamos a asignar la zona swap y 1024 es el tamaño de bloque. Dicho valor se ha introducido también con el parámetro bs=1024 en el comando dd.

9.2.1.5.‐Montarlaunidad

Ya tenemos lista la partición /dev/sdb1. Para poder utilizarla debemos montarla en un directorio existente.

# mkdir /datos

Existen dos formas diferentes de montar una partición:

Manualmente con el comando mount. Esta opción es la más sencilla y permite montar un sistema de ficheros de forma puntual ya que si se reinicia el ordenador se pierde el punto de montaje.

Automáticamente editando el fichero /etc/fstab. Esta opción permite montar de forma permanente un sistema de ficheros. Es la mejor opción en el caso de que queramos utilizar siempre el sistema de ficheros, o que queramos realizar en él acciones especiales como por ejemplo, utilizar las cuotas de usuarios.

Para montar manualmente nuestra partición ejecutamos

# mount /dev/sdb1 /datos

Y si deseamos montar de forma definitiva el sistema de ficheros entonces tenemos que editar el fichero /etc/fstab y añadir al final la siguiente línea de configuración.

/dev/sdb1 /datos ext2 defaults 0 0

Una vez modificado el fichero de configuración, la partición se montará automáticamente al reiniciar el equipo o, si queremos, podemos montarla ahora ejecutando mount /datos. Para finalizar, si queremos ver que la partición está correctamente montada ejecutamos el siguiente comando mount o df.

Page 22: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página22 

Nota  

Hay que tener mucho cuidado al modificar el fichero /etc/fstab ya que podemos dañar el sistema. 

9.3.‐SistemasRAID

Los sistemas RAID permiten mantener la redundancia de datos para que ante un posible fallo no se pierdan los datos.

9.3.1.InformaciónbásicasobreRAIDs

¿QuéesunaRAID?¿Paraquésirve?

Historia

La tecnología RAID fue definida por primera vez en 1987 por un grupo de informáticos de la Universidad de California, Berkeley. Este grupo estudió la posibilidad de usar dos o más discos que aparecieran como un único dispositivo para el sistema.

En 1988, los niveles RAID 1 a 5 fueron definidos formalmente por David A. Patterson, Garth A. Gibson y Randy H. Katz en el ensayo "Un Caso para Conjuntos de Discos Redundantes Económicos (RAID)" (A Case for Redundant Arrays of Inexpensive Disks (RAID)), publicado en la Conferencia SIGMOD de 1988 (págs. 109-116) PDF original. El término «RAID» se usó por vez primera en este ensayo, que dio origen a toda la industria de los conjuntos de discos.

¿Paraquesirve?

Así pues una RAID sirve para crear un único volumen lógico, el cual físicamente esté compuesto por varios discos físicos. Dependiendo de que modo de RAID utilicemos, esto nos servirá para conseguir simplemente un volumen de capacidad mayor, o para conseguir un volumen con mayor seguridad contra fallos de hardware de los discos que lo componen gracias al almacenamiento redundante de estos.

Hay que tener en cuenta que cuando hablamos de Software RAID, siempre que hablamos de discos debemos entender que hablamos de particiones.

9.3.1.1.ModosbásicosdeRAID

ModoLineal(Linearmode)

Dos o más discos se combinan en un único dispositivo físico. Los discos se «adjuntan» unos a otros de tal manera que las escrituras en el dispositivo RAID primero llenarán el disco 0, a continuación el disco 1 y así sucesivamente. Los

Page 23: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página23 

discos no tienen porqué ser del mismo tamaño. De hecho, los tamaños no importan para nada aquí. Se trata de una simple concatenación de discos

No existe redundancia en este nivel. Si un disco falla perderá toda su información con toda probabilidad. Sin embargo, puede tener suerte y recuperar algunos datos, ya que el sistema de ficheros simplemente habrá perdido un gran puñado de datos consecutivos.

El rendimiento de las lecturas y las escrituras no se incrementará para lecturas/escrituras individuales. Pero si varios usuarios usan el dispositivo, puede tener la suerte de que un usuario use efectivamente el primer disco y el otro usuario acceda a ficheros que por casualidad residan en el segundo disco. Si esto ocurre, verá un aumento en el rendimiento.

RAID0(Striped)

También llamado modo striping o de distribución por bandas. Como el modo lineal salvo que las lecturas y escrituras se realizan en paralelo en los dispositivos. Éstos deben tener aproximadamente el mismo tamaño. Puesto que todos los accesos se realizan en paralelo, los discos se llenan por igual. Si un dispositivo es mucho mayor que los otros demás, el espacio extra se utilizará en el dispositivo RAID durante las escrituras en el extremo superior, aunque sólo se accederá a este disco más grande. Naturalmente, esto perjudica el rendimiento.

Como en el modo lineal, tampoco hay redundancia en este nivel. A diferencia del modo lineal, no será capaz de recuperar ningún dato si un disco falla. Si elimina un disco de un grupo RAID-0, el dispositivo RAID no perderá simplemente un bloque consecutivo de datos, sino que se llenará con pequeños agujeros por todo el dispositivo.

El rendimiento de las lecturas y las escrituras se incrementará, ya que las lecturas y las escrituras se realizan en paralelo sobre los dispositivos. Normalmente, ésta es la razón principal para usar RAID-0.Si los buses a los discos son suficientemente rápidos, puede obtener casi N*rendimiento de cada disco MiB/seg.

RAID1(Mirrored)

Este es el primer modo que realmente tiene redundancia. RAID-1 se puede usar en dos discos idénticos. Este modo mantiene en un disco un duplicado exacto de la información del otro disco.

Si uno falla, los datos permanecerán intactos, puesto que tendremos el otro disco.

Normalmente, el rendimiento de las lecturas es la suma de los rendimientos de los discos, mientras que el rendimiento de las escrituras es el mismo que el de un único dispositivo o, tal vez, incluso menos. Las lecturas se pueden hacer en paralelo pero, cuando se escribe, la CPU debe transferir 2 veces la cantidad de datos que normalmente transferiría (se deben enviar 2 copias idénticas de todos los datos, una a cada disco).

RAID3yRAID4

Este nivel de RAID no se usa con mucha frecuencia. Se puede usar sobre 3 o más discos. En lugar de duplicar completamente la información, guarda

Page 24: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página24 

información de paridad en un único disco y escribe datos a los otros discos de forma parecida a un RAID-0. Ya que uno de los discos se reserva para información de paridad, el tamaño del array será (N-1)*S, donde S es el tamaño del disco más pequeño del array. Como en un RAID1, los discos deben ser del mismo tamaño, o de lo contrario tendrá que aceptar que el valor de S en la fórmula (N-1)*S anterior será el tamaño del disco más pequeño del array.

Si un disco falla, y no es el de paridad, se puede usar la información de paridad para reconstruir todos los datos. Si dos discos fallan, se perderá toda la información.

La razón por la que estos niveles no se usan con mucha frecuencia es que la información de paridad se guarda en un único disco. Esta información se debe actualizar cada vez que se escribe en uno de los otros discos. Por eso, el disco de paridad se convertirá en un cuello de botella si no es mucho más rápido que los otros discos.

RAID5

Este es quizás el modo RAID más útil cuando uno desea combinar un mayor número de discos físicos y todavía conservar redundancia. RAID5 se puede usar sobre 3 o más discos. El tamaño del dispositivo RAID5 resultante será (N-1)*S, tal y como sucede con RAID4. La gran diferencia entre RAID5 y RAID4 es que la información de paridad se distribuye uniformemente entre los discos participantes, evitando el problema del cuello de botella del RAID4.

Si uno de los discos falla, todos los datos permanecerán intactos, gracias a la información de paridad. Si dos discos fallan simultáneamente, todos los datos se perderán. RAID5 puede sobrevivir a un fallo de disco, pero no a dos o más.

El rendimiento de lectura de RAID5 es equiparable al de RAID0 con el mismo numero de discos. Exceptuando los bloques de paridad, los cuales pueden causar un ligero relentimiento en las escrituras (en las lecturas no se usan los bloques de paridad de no ser que algún disco falle).

RAID6

La idea es la misma que RAID5, solo que se agrega un segundo algoritmo de paridad a parte del XOR normal, por tanto permite la perdida de 2 discos fisicos, el tamaño del RAID6 resultante será (N-2)*S.

OtrosmodosdeRAID

Existen multitud de modos de RAID basados en la convención de diferentes RAIDs, es decir se utiliza un conjunto de RAIDs en un determinado sistema para crear una nueva RAID en -normalmente- otro sistema. Algunos de éstos sistemas son: RAID01, RAID10, RAID03, RAID30, RAID50, RAID51 (también llamada RAID53), RAID60, y RAID 100.

9.3.2.MontarunsistemaRAID

A continuación vamos a montar un sistema RAID a nivel de software. Para eso necesitamos que al menos el equipo tenga 2 discos duros (en el caso de RAID0 y 1) y 3 discos duros (para RAID5). Tal y como muestra la figura 1, básicamente lo que

Page 25: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página25 

hacemos es que el sistema GNU/Linux utilice los diferentes discos duros que componen el RAID y lo monte en /dev/md0. De esta forma tendremos acceso directo a /dev/md0 para leer o escribir datos, y el sistema se encarga de almacenar la información en los diferentes discos duros según el tipo de RAID que se esté utilizando.

Figura 1. Esquema general

Para la creación y administración de una RAID por software necesitaremos el paquete mdadm. En principio el paquete mdadm viene instalado por defecto en Ubuntu.

Asimismo si no disponéis del paquete instalado podéis instalarlo con el Gestor de paquetes Synaptic o bien con el siguiente comando:

$ sudo apt-get install mdadm

Para que ubuntu pueda trabajar con las RAID puede ser necesario cargar primero el módulo correspondiente.

$ sudo modprobe raid1 o $ sudo modprobe raid0

si se quiere un RAID0, o los dos si quieres usar ambos tipos de RAID.

Particionamiento

Debemos tener en cuenta, que puesto que vamos a crear una Software RAID, vamos a utilizar particiones en lugar de discos. Sin perjuicio que cada disco contenga una sola partición con la totalidad del tamaño del disco, como de hecho es indicado.

Así pues primeramente debemos preparar las particiones que vamos a utilizar para crear la RAID.

Para esto podemos utilizar cualquier herramienta de particionamiento. En nuestro caso vamos a utilizar GParted, una herramienta gráfica de fácil uso.

Procedemos a crear una partición para la totalidad de cada uno de los discos idénticos de los que disponemos para crear la RAID. Debemos crear una partición sin formato, puesto que el formato de la RAID lo daremos cuando esta esté construida. A parte del

Page 26: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página26 

formato debemos indicar que se tratará de un disco para crear una RAID. Esto lo podemos hacer de manera fácil con GParted, seleccionando la partición e yendo a Menú Partición>gestionar señaladores y marcando el señalador "RAID", tal y como muestran las imágenes.

GParted con partición sin formato y con señalador RAID

Marcar la partición como RAID no es vital para el funcionamiento de la RAID, asimismo es la manera más correcta de hacerlo y nos ayudará a distinguir las particiones en un futuro. Con fdisk veremos este hecho marcado como "Autodetección Linux raid" (Linux raid autodetect). Una vez acabado el proceso podemos ver con fdisk -l un listado de las particiones como el siguiente.

$ sudo fdisk –l Disc /dev/sdb: 200.0 GiB, 200049647616 octets 255 capçals, 63 sectors/pista, 24321 cilindres Unitats = cilindres de 16065 * 512 = 8225280 octets Dispositiu Arrenc. Comença Acaba Blocs Id Sistema /dev/sdb1 1 24321 195358401 fd Autodetecció Linux raid Disc /dev/sdc: 200.0 GiB, 200049647616 octets 255 capçals, 63 sectors/pista, 24321 cilindres

Page 27: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página27 

Unitats = cilindres de 16065 * 512 = 8225280 octets Dispositiu Arrenc. Comença Acaba Blocs Id Sistema /dev/sdc1 1 24321 195358401 fd Autodetecció Linux raid

Podemos observar que la columna Id muestra el valor "fd" esto es debido a que lo hemos marcado como "Autodetección Linux raid" (Linux raid autodetect).

Primeramente antes de crear la RAID podemos ver en el fichero /proc/mdstat si al algún otro array:

$ cat /proc/mdstat Personalities : Event: 0 unused devices: <none>

Vemos que no aparece ningún array.

Proseguimos a la creación del md en el que crearemos la RAID. Para ello utilizaremos el comando mknod como se muestra en la siguiente orden:

$ sudo mknod /dev/md0 b 9 0

Si ya tuviéramos algún otro array llamado md0, podemos crear un md diferente: md1, md2, ...

CrearRAID

Para crear un RAID deberemos ejecutar

mdadm -C /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1

donde

/dev/md0 es el raid a crear   ‐‐level=raid1 es el tipo de RAID   ‐‐raid‐devices=2 /dev/sdb1 /dev/sdc1 Son las particiones que vamos a utilizar para el 

RAID  

La raid hecho esto empezará a crearse.

Una vez hemos lanzado la orden de creación de la RAID, empezarán a trabajar los discos como locos: están creando la RAID. Este proceso puede durar varias horas dependiendo de la capacidad de los discos y la potencia del ordenador/discos.

Page 28: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página28 

Podemos visualizar en cualquier momento el estado de éste proceso en el fichero /proc/mdstat:

$ cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]

md0 : active raid1 sdc1[0] sdb1[1]

488383936 blocks [2/2] [UU]

[>....................] resync = 0.7% (4103401/488383936) finish=177.6min speed=97640K/sec

[2/2] [UU] nos indica el numero de discos que está activo y correcto en este momento. No nos tenemos que preocupar porque durante éste periodo de creación de la RAID nos marque que hay alguno incorrecto. Cuando finalice el proceso éste indicador deberá mostrarnos que todos los discos están correctos.

Una vez ha terminado el proceso de construcción de la raid podemos ver de nuevo en el fichero /proc/mdstat el estado de nuestro array:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]

md0 : active raid1 sdc1[0] sdb1[1]

488383936 blocks [2/2] [UU]

unused devices: <none>

Perfecto!

Una vez creada la RAID solo debemos montarla y formatearla con el sistema de ficheros que deseemos.

VerinformacióndelRAID

Para ver información del RAID se utiliza el siguiente comando:

mdadm --detail /dev/md0

Page 29: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página29 

FormatearlaRAID

Para formatear la RAID utilizaremos el comando mkfs:

Con ReiserFS

mkfs.reiserfs /dev/md0

En mi caso he utilizado el sistema de archivos ReiserFS, pero podemos utilizar cualquier otro como ext3:

Con ext3

mkfs.ext3 /dev/md0

MontarlaRAID

Para montar la RAID añadimos la siguiente línea al fichero /etc/fstab

/dev/md0 /punto_de_montaje sistema_de_archivos defaults,user 0 0

Recuerda que debes tener creada la carpeta /punto_de_montaje (la ruta que quieras), con los permisos correspondientes a los usuarios que quieras que accedan a la RAID. Recuerda también que debes especificar que sistema de archivos es la RAID cambiando sistema_de_archivos por reiserfs, ext3... según hayas escogido.

Luego para montarlo automáticamente, insertaremos la siguiente línea al final de /etc/fstab:

$ nano /etc/fstab

/dev/md0 /media/raid ext3 defaults 0 0

Para montar la raid bastara luego con hacer:

$ sudo mount /punto_de_montaje

Page 30: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página30 

O bien reiniciar y que Ubuntu la monte automáticamente en el inicio del sistema.

GuardarRAID

Para guardar la configuración del RAID ejecutamos:

mdadm -Es > /etc/mdadm.conf ó mdadm -Es > /etc/mdadm/mdadm.conf

Nota: comprobar que el fichero de configuración del array se encuentra en /etc si no es el caso grabar el fichero en /etc/mdadm/mdadm.conf

Al reiniciar, el array se detectará correctamente.

AdministracióndeunaRAIDysusdiscos

Establecer un disco como faulty/failed:

$ sudo mdadm --fail /dev/md0 /dev/sdb1

No utilizar en RAID0 ó RAID en modo linear. Pueden perderse los datos!

Quitar un disco fallido de una RAID:

$ sudo mdadm --remove /dev/md0 /dev/sdb1

Limpiar cualquier información previa de un disco RAID (Ej. al reutilizar un disco de otra raid antigua)

$ sudo mdadm --zero-superblock /dev/sdb1

Añadir un disco a la RAID

$ sudo mdadm --add /dev/md0 /dev/sdb1

 

9.3.3.‐Monitorización

MonitorizacióndelestadounaRAIDysusdiscos

Estado actual de los discos y unidades RAID

cat /proc/mdstat

$ cat /proc/mdstat Personalities : [raid5] [raid4] md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1] 586075008 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

Page 31: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página31 

unused devices: <none>

Mas detalles sobre las unidades RAID

mdadm --query /dev/md0

$ sudo mdadm --query /dev/md0 /dev/md0: 558.92GiB raid5 4 devices, 0 spares. Use mdadm --detail for more detail.

mdadm --detail /dev/md0

$ sudo mdadm --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Sat Jan 20 17:27:56 2007 Raid Level : raid5 Array Size : 586075008 (558.92 GiB 600.14 GB) Device Size : 195358336 (186.31 GiB 200.05 GB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Sun Jan 21 22:23:05 2007 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b Events : 0.3084 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 2 8 49 2 active sync /dev/sdd1 3 8 65 3 active sync /dev/sde1

Mas detalles de los discos

mdadm --query /dev/sdb1

$ sudo mdadm --query /dev/sdb1 /dev/sdb1: is not an md array /dev/sdb1: device 0 in 4 device active raid5 /dev/md0. Use mdadm --examine for more detail.

Page 32: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página32 

mdadm --examine /dev/sdb1

$ sudo mdadm --examine /dev/sdb1 /dev/sdb1: Magic : a92b4efc Version : 00.90.00 UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b Creation Time : Sat Jan 20 17:27:56 2007 Raid Level : raid5 Device Size : 195358336 (186.31 GiB 200.05 GB) Array Size : 586075008 (558.92 GiB 600.14 GB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 0 Update Time : Sun Jan 21 22:23:05 2007 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Checksum : 7cd3d7e7 - correct Events : 0.3084 Layout : left-symmetric Chunk Size : 64K Number Major Minor RaidDevice State this 0 8 17 0 active sync /dev/sdb1 0 0 8 17 0 active sync /dev/sdb1 1 1 8 33 1 active sync /dev/sdc1 2 2 8 49 2 active sync /dev/sdd1 3 3 8 65 3 active sync /dev/sde1  

Monitorizacióndelsistemadeficheros

Para conocer el espacio ocupado en los sistemas de archivo de un equipo, cualquier instalación de Linux incluye los comandos du y df.

Veamos dos de los comandos que se utilizan con mayor frecuencia para obtener información de un sistema de ficheros.

9.3.3.1df

El comando df nos informa de la cantidad de espacio libre en disco, expresada en bloques y no en bytes. Su sintaxis es la siguiente:

df [opciones] sistema–de-ficheros

A continuación se muestra un ejemplo de la ejecución del comando:

Page 33: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página33 

[root@adminso copias]# df S.ficheros Bloques de 1K Usado Dispon Uso% Montado en /dev/mapper/ddf1_datosp1 39674192 20579708 17046600 55% / /dev/mapper/ddf1_datosp3 189780376 39370536 140769564 22% /portales tmpfs 1036828 0 1036828 0% /dev/shm 1.2.3.4:/datos/copias_seguridad 430189056 69603328 338733056 18% /copias [root@adminso copias]#

Los parámetros de este comando son comentados en la tabla 1.

Tabla 1. Parámetros de df  

Parámetro  Comentario 

 

Sistema‐de‐

ficheros 

Con este parámetro le indicamos la lista de sistemas de ficheros de los que se 

creará el informe. Si se deja en blanco, se hace el informe de todos los 

sistemas de ficheros del sistema. 

‐a Lista los sistemas de ficheros que tiene 0 bloques (estos sistemas de ficheros 

son omitidos de forma predeterminada). 

‐i  Lista la información de la utilización de i‐nodos en vez de la de bloques. 

‐k Muestra los tamaños en bloques de 1kb en vez de hacerlos en bloques de 512 

bytes. 

‐P  Utiliza el formato de salida de POSIX.

‐t fstype  Limita el informe a los sistemas de ficheros de un tipo determinado (fstype). 

 

 

Figura 9.Salida del comando df 

Page 34: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página34 

9.3.3.2.‐du

El comando du nos muestra la cantidad de espacio que están utilizando los directorios o los archivos especificados. Esta información se muestra en bloques de 1Kb. Su sintaxis es la siguiente:

du [opciones] nombres

Los parámetros de este comando podemos verlos en la tabla 2.

Tabla 2. Parámetros de du 

Parámetro  Comentario 

 

Nombres Se indica el listado de los directorios o ficheros para los que se quiere calcular es 

espacio utilizado. Cuando se deja en blanco se utiliza el directorio actual. 

‐s En el informe tan sólo se muestra un tamaño total para cada uno de los nombres 

especificados. Normalmente, se muestra el tamaño para cada subdirectorio. 

‐a  Hace que cada fichero encontrado se visualice con su tamaño. 

‐b  Muestra los tamaños en bytes.

‐L Muestra el espacio utilizado por un fichero utilizando su enlace simbólico en vez del 

espacio utilizado por el enlace. 

 

Nota  

Los ficheros con más de un enlace sólo se cuentan una vez. Sin embargo, comando du puede presentar 

sólo un número máximo de enlaces. Cuando se sobrepasa este número, los tamaños utilizados por esos 

ficheros se incluyen en el total. 

Por ejemplo, si deseamos un informe del directorio /usr/bin (la información se muestra en bloques de 512 bytes), el comando se utiliza es:

du –s /usr/bin

Page 35: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página35 

9.4.CuotasdediscoEn Linux, el administrador puede establecer límites de forma individual a cada usuario o puede 

hacerlo para todo un grupo. Además, existen dos enfoques diferentes en el momento de 

establecer cuotas: 

Limitar el número de bloques de disco, con lo que se restringe el tamaño máximo que 

se puede ocupar. 

Limitar el número de i‐nodos, que restringe el número máximo de archivos que 

pueden crearse. Un i‐nodo guarda las características de un objeto del sistema de 

archivos (un archivo, un directorio, etc,). Por lo tanto, limitando su número limitamos 

la cantidad máxima de objetos. 

Además, cuando un administrador establece cuotas, puede fijar dos tipos de límites: 

Rígido (hard): El sistema operativo impedirá que el límite sea sobrepasado. 

Flexible (soft): El sistema operativo avisará cuando el límite sea sobrepasado. 

A. InstalaciónyConfiguracióndeCuotasdeDisco

Para implementar cuotas de disco siga los siguientes pasos:

Instalar los paquetes necesarios  Active las cuotas del sistema de archivos modificando el fichero /etc/fstab.   Vuelva a montar el sistema de archivos.   Cree los archivos de cuota y genere la tabla de uso de espacio en disco.   Asigne las cuotas.  

A continuación se describen cada uno de estos pasos en detalle.

1) InstalarlospaquetesnecesariosAunque la mayoría de distribuciones Linux incorporan en su núcleo (kernel) la capacidad para 

manejar cuotas, puede que alguna de ellas no lo haga. 

Si nos encontráramos en ese caso, sería preciso volver a compilar el núcleo del sistema (cosa 

que, de momento, no forma parte de nuestros objetivos). En cualquier caso, si estás utilizando 

una distribución diferente de Ubuntu, puedes comprobar que soporta cuotas ejecutando el 

siguiente comando: 

dmesg | grep quotas 

El comando dmesg (diagnostic message) muestra los mensajes generados por el proceso de 

arranque. Lo que hacemos con este comando es enviar la salida a grep para localizar la línea 

que hace referencia a las cuotas durante el arranque. Lógicamente, si en al ejecutar el 

comando no aparece ningún texto, significa que el núcleo no está preparado para manejar 

cuotas. 

Una vez realizada esta comprobación, procederemos a instalar los paquetes necesarios para 

manejar las cuotas: 

Page 36: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página36 

sudo apt‐get install quota quotatool 

Si utilizas Ubuntu, el soporte para cuotas está incluido en el núcleo. 

2) Activarcuotas

Para activar las cuotas de usuario en un sistema de archivos debe modificar el archivo /etc/fstab añadiendo las opciones usrquota y/o grpquota al sistema de archivos donde quiere utilizar las cuotas. Por ejemplo, en el siguiente código se activan las cuotas en el directorio /home.

LABEL=/ / ext3 defaults 1 1 none /dev/pts devpts gid=5, mode=620 0 0 none /dev/shm tmpfs defaults 0 0 LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 none /proc proc defaults 0 0 /dev/hda2 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0

3) Volveramontarelsistemadearchivos

Después de agregar las opciones userquota y grquota, vuelva a montar cada uno de los sistemas de archivos cuyas entradas en /etc/fstab hayan sido modificadas. Si el sistema de archivos no está siendo usado por ningún proceso, use el comando umount para desmontar y mount para montar el sistema de archivos. Si el sistema de archivos está siendo utilizado, puede reiniciar el equipo o ejecutar la orden:

#mount –o remount filesystem

donde filesystem es el sistema de ficheros al que queremos aplicar las cuotas.

4) Creacióndearchivosdecuotas

Después de volver a montar el sistema de archivos hay que prepararlo para soportar cuotas. El comando quotacheck examina el sistema de archivos y construye una tabla del uso del disco por sistema de archivo. La tabla es luego usada para actualizar la copia del uso del disco del sistema operativo.

Para crear los archivos de cuotas (aguota.user y aguota.group) en el sistema de archivos, use la opción –c del comando quotacheck. Por ejemplo, si quiere activar las cuotas de usuario y grupo en el directorio /home ejecute la orden:

#quotacheck –cug /home

En la tabla 1, se muestran las opciones de la orden quotackeck.

Page 37: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página37 

Tabla 1. Opciones de la orden quotacheck 

Opción  Acción Realizada 

 

a Verifica todos los sistemas de archivos montados localmente con cuotas 

activadas 

v  Muestra información de verificación de cuotas

u  Verifica la información de cuotas de usuario

g  Verifica la información de cuotas de grupo

m  Se utiliza si el sistema de ficheros está montado y en uso

 

Si no se especifica ninguna de las opciones –u ni –g, sólo se creará el archivo de cuota de usuario.

B. Asignacióndecuotasporusuario

Si la cuota esta activada en /etc/fstab para la partición /home y ejecuta el comando edquota usuario_prueba, se mostrará lo siguiente en el editor de cuotas predeterminado por su sistema.

Disk quotas for user usuario_prueba (uid 502) Filesystem blocks soft hard inodes soft hard /dev/hda5 24 0 0 0 0 0

Filesystem es el nombre del sistema de archivos que tiene la cuota activada. Blocks muestra el número de bloques que está usando actualmente el usuario. Inodes muestra cuántos inodos está usando actualmente el usuario. Hard es el límite máximo absoluto que un usuario o grupo puede utilizar. Una vez que alcance el límite, no se puede utilizar más espacio. Soft es el límite máximo temporal que un usuario o grupo puede utilizar. A diferencia de Hard, el límite definido por soft puede ser excedido durante un cierto tiempo. Este tiempo es conocido como periodo de gracia y puede ser expresado en diferentes unidades de tiempo (segundos, minutos, horas, días, etc).

Si cualquiera de los valores hard o soft están especificados a 0, ese límite no está configurado.

C. Asignacióndecuotasporgrupo

Para asignar las cuotas por grupos de usuario ejecute el comando edquota <nombre del grupo> y obtendrá una salida del siguiente formato:

Disk quotas for user grupo_prueba (gid 503)

Page 38: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página38 

Filesystem blocks soft hard inodes soft hard /dev/hda5 24 0 0 0 0 0

Modifique los límites y guarde el archivo.

Advertencia  

Si quiere utilizar las cuotas de usuario es muy recomendable montar una unidad para el directorio /home. 

El sistema de ficheros de la unidad tiene que ser EXT3. 

E. Asignacióndecuotasporsistemadeficheros

Para asignar las cuotas del sistema de archivos utilice el comando edquota –t. Al igual que con los comandos anteriores, edquota abre el editor de texto con las cuotas actuales.

Grace period befor enforcing soft limits for users: Time units may be: days, hours, minutes, or seocnds Filesystem Block grace period Inode grace period /dev/hda3 7 days 7 days

F. Verificacióndelascuotasdeunusuario

Para verificar que la cuota ha sido configurada use el comando quota.

Si quiere verificar la cuota de cuota de un usuario ejecute quota <nombre de usuario>. Por ejemplo:

Disk quotas for user usuario_prueba (uid 502) Filesystem blocas quota limit grace files quota limit grace /dev/hda5 24 100 300 0 6 0 0 0

Para verificar la cuota de un grupo utilice quota –g <nombre del grupo>

G. InformesdeCuotadeDisco

El comando repquota genera un informe del uso de cuotas en el sistema de archivos. Por ejemplo, el comando repquota /home genera la siguiente salida:

Report for user quotas on device /dev/hda3 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ----------------------------------------------------------- root -- 36 0 0 4 0 0 usuario-- 28 100 500 7 0 0

Page 39: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página39 

La marca - - mostrada después del nombre del usuario es una forma rápida de establecer si los límites han sido excedidos. Si el límite suave ha sido excedido aparecerá un símbolo + en lugar de -. El primer – representa el límite de bloque, y el segundo el límite de inodo.

Para ver el informe sobre el uso de disco en todos los sistemas de archivos con cuotas, use repquota –a.

H. ActivaciónyDesactivacióndeCuotas

Para desactivar las cuotas en el sistema de archivos utilice el siguiente comando:

quotaoff –aug

Utilice –u para desactivar las cuotas de usuario, y –g para desactivar las cuotas de grupo. Si no indica ninguna opción, por defecto, se desactivarán las cuotas de usuario.

Para activar nuevamente las cuotas, use el comando quotaon con las mismas opciones. Por ejemplo:

quotaon –aug

9.5.‐Permisos

Es muy importante establecer correctamente los permisos en el sistema de ficheros porque así evitamos usos indebidos o pérdidas de datos en el sistema. Si ejecutamos en un directorio el comando ls –la podremos ver los permisos del sistema de ficheros. Tal y como muestra la figura 2, para cada fichero o directorio se muestran los siguientes datos:

• Permisos. Indica los permisos que tiene el fichero o directorio.

• Usuario propietario

• Grupo propietario.

• Tamaño del fichero o directorio.

• Fecha de creación o de la última modificación

• Nombre.

Page 40: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página40 

Figura 2.Permisos

Por ejemplo, los permisos para el directorio documentos son drwxrwx---. El carácter d indica que es un directorio. Luego tenemos tres grupos de caracteres (rwx) (rwx) (---) que permiten indicar los permisos del usuario propietario, del grupo propietario y de los demás usuarios. El formato para establecer los permisos es (rwx) donde r indica lectura, w escritura y x indica ejecución. Si existen los permisos entonces encontraremos su correspondiente letra y en el caso de que no exista ese permiso entonces tendremos el carácter (-). Por ejemplo, el directorio documentos tiene todos los permisos (rwx) para el usuario propietario, que es maria, el grupo propietario jefes también tiene todos los permisos (rwx), y el resto de los usuarios no tiene ningún permiso (---). El directorio programas tiene todos los permisos para el usuario propietario maria (rwx) y tanto para el grupo propietario usuarios como el resto de los usuarios tiene permisos de lectura y ejecución (r-x).

Nota

En un fichero el permiso de ejecución permite ejecutar un programa y en el caso de los directorios el permiso permite indicar que es posible entrar en ese directorio.

9.5.1.‐Establecerlospermisos

Para definir los permisos de un fichero o directorio se emplea el comando chmod. Su sintaxis es:

chmod <modo> fichero

donde <modo> indica los permisos que le queremos dar al fichero. Por ejemplo, si queremos darle los permisos de rw- para el propietario y r-- para el resto, el comando que se debe utilizar es:

$chmod 644 fichero

Con chmod podemos establecer los permisos con tres valores numéricos (p.e. 664): el primer valor corresponde al usuario propietario, el segundo al grupo propietario y el

Page 41: Tema 9– Puesta en Marcha Del Sistema (Linux)

Tema 9:  Puesta en marcha del sistema  Página41 

tercer valor corresponde a todos los demás usuarios del sistema. Cada permiso tiene una equivalencia numérica donde r vale 4, w vale 2 y x vale 1. De esta forma si tenemos el valor 7 corresponde a (rwx), el valor 6 corresponde a (rw-), etc.

9.5.2.‐Establecerelusuarioygrupopropietario

El propietario de un fichero es aquel usuario que creó dicho fichero. Unix permite cambiar al propietario de cualquier fichero o directorio. Opcionalmente se puede cambiar también al grupo al que pertenece dicho fichero o directorio. Para ello se utiliza la orden chown. Veamos su sintaxis:

chown <NombreUsuario> [.<NombreGrupo>] <fichero>...

<NombreUsuario> identifica el nuevo propietario de fichero o directorio. <NombreGrupo> el nuevo grupo y <fichero> identifica el fichero o directorio sobre el que se va a actuar. Por otro lado, para cambiar el grupo al que pertenece un directorio se utiliza chgrp. Su sintaxis es: chgrp <NombreGrupo> <fichero>... <NombreGrupo> identifica el nuevo nombre de grupo que se le va a asignar al fichero o directorio <fichero>. Se puede actuar sobre varios ficheros a la vez.

Nota

En los comandos chmod, chown y chgrp la opción –R significa que estamos estableciendo los permisos al directorio y a todos los datos que contiene. Por ejemplo

chmod 777 /datos –R

establece todos los permisos a la carpeta datos y a todo su contenido.