You are on page 1of 9

MODULO UNO

SEMANA TRES

7. ESTRUCTURA DEL SISTEMA

En este capitulo, se procederá a


echar un vistazo a como trabajar
dentro del sistema, la estructura de
archivos y los directorios.

7.1 Qué es un Shell?


Un intérprete de comandos se parece
Los entornos gráficos para Linux han
a una pantalla MS-DOS. Los usuarios
evolucionado mucho en los últimos
escriben comandos en un intérprete
años. Se puede trabajar utilizando el
de comandos, la shell los interpreta y
sistema XWindow y solamente tener
después le dice al sistema operativo
que abrir el intérprete de comandos
lo que tiene que hacer. Los usuarios
para completar unas pocas tareas.
experimentados pueden escribir
scripts de la shell para aumentar sus
Sin embargo, es recomendable
capacidades.
aprender cómo trabajar desde el
intérprete de comandos de la shell,
Cuando la Free Software Foundation
porque usar los comandos mediante
buscaba una shell sin patentes, los
el intérprete de comandos de la shell
desarrolladores empezaron a trabajar
puede ser muy rápido que el entorno
en el lenguaje de la Bourne shell y en
gráfico (GUI). En el tiempo que tarda
características de otras shells del
en abrir el gestor de ficheros en
GNOME o KDE, buscar el directorio, momento.
crear o modificar ficheros, utilizando
la shell, podría haber acabado con El resultado fué la Bourne Again Shell
varios comandos desde la shell. o bash. Aunque su sistema Red Hat
Linux tenga diferentes shells, bash es
la shell predeterminada. Se puede
1
aprender algo más sobre bash en la rapidez y la estabilidad para
leyendo su página man bash (escriba mantener su jerarquía de ficheros.
man bash en el intérprete de
comandos). Como base se tomará un directorio
que ya hemos mencionado
7.2 Estructura de archivos anteriormente, se trata del directorio
raíz, denotado por el símbolo "/". Lo
A continuación se explicará como es recuerde? .Este símbolo hace
la estructura de archivos y directorios referencia a la raíz del sistema o
del sistema Red Hat Linux, la desde donde todo el resto de sistema
información presentada podrá ser se ramifica. Las primeras divisiones
aplicable a otros S.O. Linux. En Linux de esta raíz serán directorios o
no existe el concepto de "C:/", no particiones del sistema que
encontraremos un directorio llamado contendrán archivos de una categoría
así en ninguna parte. En cambio si en particular. Los mas generales son:
encontraremos una estructura
jerárquica que dará un tratamiento bin Binarios de comandos esenciales
consistente de la información de los el sistema.
archivos. Esta estructura es derivada boot Archivos estáticos de cargador
de los sistemas UniX usados desde de arranque (boot-loader).
hace mucho tiempo. dev Dispositivos del sistema (monitor,
CDrom, impresoras, etc.).
Por ejemplo, en todo sistema Linux etc Archivos de configuración del
tendremos una estructura de sistema. (usuarios, servicios del
directorios de usuarios, que le sistema).
permita diferenciar la información de home Directorios hogar (home ) de
uno y otro usuario, teniéndola los usuarios.
accesible sólo al usuario autenticado. lib Librerías compartidas para el
Si hace la semejanza con otros sistema.
Sistemas Operativos, se dará cuenta mnt Punto de montaje de particiones
que no se parece nada (al menos a temporales.
los antiguos), puesto que los archivos root Directorio hogar del usuario root
eran guardados en directorios donde (el administrador).
todos podían acceder. Linux se basa

2
sbin Binarios del sistema más Generalmente este directorio
importantes. albergará el núcleo Linux en su forma
tmp Archivos temporales. precompilada, para cargarse una vez
usr Segunda jerarquía mayor, arranca el sistema.
archivos y directorios de uso común.
var Información variable /dev
En este directorio se almacenan
Vea como luce la estructura de todos los dispositivos que son
directorios en este momento en su soportados por el núcleo Linux.
sistema recién instalado, luego Encontraremos un archivo dentro de
Entremos a detallar un poco algunos este directorio que se asocia con
de estos directorios: cada dispositivo existente.

Recordemos que todo en UniX y por


Estructura de directorios del sistema ende en Linux funciona como si fuera
ejemplo. un archivo. Así que si tenemos
unidad de CDROM, disquetera,
/bin impresora, mouse, teclado, etc.
En este directorio podremos Todos tendrán un archivo que se
encontrar los comandos esenciales asocia en este directorio.
del sistema. Estos comandos podrán
ser usados por todos los usuarios que Cuando hablamos del disco duro del
tengan una cuenta y se consideran sistema recuerden que también
de uso común. hablamos de un dispositivo que se
llama hd[una letra] y que se
La descripción de la mayoría de encuentra en /dev. Dentro de este
comandos básicos se verá en el directorio también encontramos un
próximo capitulo. script (programa - interpretado)
llamado MAKEDEV el cual puede
/boot crear dispositivos cuando se
Este directorio también puede ser una necesiten.
partición pequeña donde se
almacenan los archivos necesarios /etc
para el arranque del sistema. En este directorio se almacenarán los

3
archivos de configuración del frecuentemente. Una aplicación por
sistema, se puede considerar el defecto tratara de buscar las librerías
directorio más importante del sistema. que necesite en este directorio.
Antes de realizar un cambio sobre También se almacenan aquí los
cualquier archivo dentro de este módulos que se enlazan
directorio, documéntese bien. dinámicamente al kernel (Linux).
Hablaremos más sobre este directorio
en la siguiente sección. /mnt
Este directorio es usado por defecto
/home como sitio donde montar los sistemas
Este directorio por defecto se usa de archivos que necesitemos en un
para almacenar las cuentas de los momento determinado. Por ejemplo si
usuarios, haremos referencia a este queremos montar una partición de
como el "home del usuario" ó el hogar Linux de otro disco duro, o una
del usuario, es simplemente donde partición Windows que reside en el
cada usuario en particular tiene sus mismo disco duro. Existirá una
archivos y administra su información. subdivisión dentro de /mnt donde
El acceso a los homes de los montaremos los sistemas de
usuarios es restringido por defecto. archivos. Normalmente
Luego aprenderemos como poder encontraremos un subdirectorio
cambiar estos permisos para que llamado /mnt/floppy y otro llamado
alguien más pueda entrar a nuestro /mnt/CDrom. Si mandrake reconoció
directorio. sus otras particiones es muy probable
que existan subdirectorios que se
El home de un usuario generalmente asocien a estas, como por ejemplo:
aparece como: /home/andres. /mnt/windows ó /mnt/hda1.
Asumiendo que se tiene un usuario
en el sistema llamado Andrés. Nota: Cuando se habla de montar
una partición o un sistema de
/lib archivos se hace referencia a
En este directorio tendremos las configurar la partición de tal forma
librerías compartidas del sistema, que se pueda acceder a su
estas son las que los programas contenido, esto es que podamos
desarrollados bajo Linux usan trabajar en modo lectura y escritura

4
con los archivos que se encuentran
dentro de la partición. /tmp
Directorio temporal del sistema. Este
/proc directorio almacena archivos e
En este directorio se almacenan información general del sistema,
procesos internos del kernel, normalmente los usuarios podrán
permitiéndome acceder a las hacer uso de este directorio para
características del kernel en tiempo almacenar programas o archivos por
real a través de archivos. También tiempo limitado. El administrador esta
existen archivos informativos donde en la labor de limpiar frecuentemente
encontramos la descripción de los la información almacenada allí con el
procesos que se están llevando en el fin de no sobrecargar el sistema. La
sistema. Por ejemplo el archivo: mayoría de aplicaciones que
/proc/cpuinfo. necesitan crear archivos temporales
los almacenarán en esta ruta por
/root defecto. Se recomienda que este
Por defecto este directorio es el home directorio este creado siempre y no
del usuario root, o sea su directorio sea eliminado.
hogar donde almacena toda su
información. Este directorio se podría /usr
cambiar a cualquier otro, pero es A este directorio se le puede llamar el
recomendable trabajar en este por la todero, aquí se almacenarán dentro
compatibilidad existente con mucha de una segunda jerarquía muchos
aplicaciones desarrolladas hasta este archivos, documentos, programas
momento. útiles para los usuarios del sistema.

/sbin Un ejemplo de la jerarquía que existe:


Este directorio almacena los binarios /usr
que se consideran especiales, estos /bin
son los que frecuentemente usa el /etc/games/include/lib/local/sbin/share
administrador del sistema y /src/tmp@ X11R6//var
normalmente los usuarios no tienen
acceso. Este directorio almacena información
variada del sistema, posee una

5
jerarquía que le da orden y permite Sobre los usuarios...
acceder a la información buscada La base de datos de usuarios esta
rápidamente. En este directorio se localizada en el archivo /etc/passwd.
almacenarán números de procesos Esto significa que existe un archivo
de las aplicaciones que estén llamado "passwd" en el directorio /etc.
corriendo en el sistema. le daremos un vistazo a este archivo
con el fin de que entienda que
Generalmente se almacenarán los información almacena. El comando
logs (registro de estado) de las more, le permite visualizar un archivo
aplicaciones comúnmente usadas, de texto plano. Esto lo aprenderá
con el fin de determinar problemas cuando lleguemos a la sección de
que se tengan con ellas. También se comandos básicos. Por ahora solo
tendrán directorios spool, estos son ejecutemos el comando y veamos la
los que almacenan por ejemplo la salida.
información sobre la cola de
impresión de la impresora conectada [root@localhost root]# more
al sistema. En fin, se almacenará /etc/passwd
información variada para gestionar el root:x:0:0:root:/root:/bin/bash
sistema. bin:x:1:1:bin:/bin:/bin/sh
daemon:x:2:2:daemon:/sbin:/bin/sh
7.3 Directorio /etc adm:x:3:4:adm:/var/adm:/bin/sh
En esta sección le prestaremos lp:x:4:7:lp:/var/spool/lpd:/bin/sh
especial atención al directorio /etc, sync:x:5:0:sync:/sbin:/bin/sync
como dijimos en la sección anterior, shutdown:x:6:0:shutdown:/sbin:/sbin/s
/etc almacena archivos relacionados hutdown
con la configuración del sistema. El halt:x:7:0:halt:/sbin:/sbin/halt
uso de la mayoría de estos archivos mail:x:8:12:mail:/var/spool/mail:/bin/sh
la descubrirá a medida que se news:x:9:13:news:/var/spool/news:/bi
adentre en el mundo Linux, por ahora n/sh
explicaremos un par de archivos para uucp:x:10:14:uucp:/var/spool/uucp:/bi
que se haga una idea de que tipo de n/sh
información se almacena en este operator:x:11:0:operator:/var:/bin/sh
directorio. games:x:12:100:games:/usr/games:/b
in/sh

6
nobody:x:65534:65534:Nobody:/:/bin/ fernando_quintero:x:502:502::/home/f
sh ernando_quintero:/bin/bash
rpm:x:13:101:system user for
rpm:/var/lib/rpm:/bin/false Por cada usuario que exista en el
vcsa:x:69:69:virtual console memory sistema habrá una línea con 7
owner:/dev:/sbin/nologin campos... Por qué entonces hay mas
rpc:x:70:70:system user for usuarios de los que he creado?
portmap:/:/bin/false Rta:/ El sistema Linux necesita crear
xfs:x:71:71:system user for unos usuarios para el trabajo interno
XFree86:/etc/X11/fs:/bin/false del sistema. Un usuario que no puede
postfix:x:72:72:system user for faltar es el usuario root y aparece de
postfix:/var/spool/postfix:/bin/false primero como puede ver.
rpcuser:x:73:73:system user for nfs-
utils:/var/lib/nfs:/bin/false El resto de los usuarios no tendrán
gdm:x:74:74:system user for una contraseña asígnada y existirán
gdm:/var/lib/gdm:/bin/false con el fin de que algunos programas
tutto:x:501:501:fernando sean compatibles con el sistema.
quintero:/home/nando:/bin/bash Ahora bien, trabajemos sobre el
fernando_quintero:x:502:502::/home/f usuario fernando_quintero.
ernando_quintero:/bin/bash
... fernando_quintero:x:502:502::/home/f
Esta es la salida en mi sistema, su ernando_quintero:/bin/bash
sistema podría lucir diferente, pero
básicamente es el mismo archivo. Se pueden diferenciar claramente los
7 campos en la línea.
Esta compuesto por 7 campos que se
separan por: (dos puntos). Para que CAMPO 1: fernando_quintero
entendamos mejor los 7 campos del El primer campo esta relacionado con
archivo, tomemos una línea como el nombre de la cuenta, esto es el
ejemplo. Nuestro usuario ejemplo ha login del usuario en el sistema.
sido: fernando_quintero. He aquí la
línea: CAMPO 2: x
Esta x no significa nada, en versiones
anteriores de algunos sistemas Linux

7
encontraremos aquí el password o la usuario, hace parte de la información
contraseña codificada (con el fin de particular del usuario.
que no sea legible directamente por
los usuarios), pero hoy en día la Cuando veamos como establecer un
información de la contraseña se nombre para una cuenta, aparecerá
almacena en otro archivo llamado inmediatamente en este campo.
/etc/shadow.
CAMPO 6: /home/fernando_quintero
CAMPO 3:502 Claramente se identifica que es el
El tercer campo aparecerá con un home del usuario o el hogar del
número al que llamaremos el usuario.
identificador de usuario o UID.
Este identificador de usuario es el Aquí el usuario fernando_quintero
número por el cual el sistema podrá almacenar toda la información
reconoce que somos un usuario u que considere personal y ningún otro
otro. usuario (excepto el root) podrá entrar
a ella.
Nosotros los humanos trabajamos
con nombres y se nos hace más fácil CAMPO 7: /bin/bash
recordar el nombre del usuario (login) En este campo se establece el
que el UID. programa que se ejecutará cuando el
usuario entre al sistema.
CAMPO 4: 502 Generalmente será un interprete de
Es el identificador del grupo al cual comandos que le permita al usuario
pertenece el usuario, el GID. Por ejecutar comandos. El programa por
defecto Red Hat crea un grupo por defecto es el SHELL BASH, del cual
cada usuario, para nuestro ejemplo hemos hablado anteriormente.
en el sistema existirá un grupo
llamado 502 o como lo diríamos Estos son los 7 campos de los que se
nosotros, llamado fernando_quintero. compone el archivo /etc/passwd.
Puede revisar a modo de práctica la
CAMPO 5: :: configuración para los usuarios que
Este campo está vacío, es el campo haya creado o que piense crear en la
donde se almacena el nombre del siguiente sección.

8
Sobre el sistema... Más información:
Por poner algunos ejemplos:
El archivo de configuración de lilo: http://es.tldp.org/Estandares/fsstnd12.
/etc/lilo.conf html
http://www.iec.csic.es/criptonomicon/L
El archivo lilo.conf se encuentra en el inux/claves.html
directorio /etc. y por defecto siempre
se encontrará ahí.
Este archivo le permite configurar el
comportamiento del LILO.
¿Recuerde qué es el LILO?
Es el gestor de arranque del
sistema...

El archivo de ingreso al sistema:


/etc/motd.

Una vez el usuario entre en modo


consola al sistema (recuerde lo de las
consolas virtuales Crtl+ALt+F?),
podrá ver un mensaje de bienvenida.
Este mensaje se modifica en el
archivo /etc/motd.

Existen muchos mas archivos dentro


del directorio /etc.
A medida que necesite hacer
operaciones en el sistema aprenderá
sobre cada uno de ellos, por ahora
sigamos con nuestro recorrido y
pasemos a la siguiente sección
donde aprenderá a crear usuarios en
el sistema.

You might also like