You are on page 1of 28

Sistema operativo multiusuario

Unix/Linux. Gestin de archivos,


directorios y usuarios
13

En esta Unidad aprenders a

1 Utilizar uno de los sistemas operativos


multiusuario por excelencia: Unix.

2 Manejar tanto el sistema operativo


base: Unix, como las versiones de libre
distribucin: Linux.

3 Manejar comandos de administracin


de ficheros y directorios, tanto en
modo texto o consola como en modo
grfico.

4 Establecer conexiones desde otros


equipos con el equipo servidor a travs
del comando telnet.

5 Gestionar usuarios, grupos y servicios


de impresin.
13. Sistema operativo multiusuario Unix/Linux...
Introduccin

base es la misma, los comandos en muchos casos coin-


Introduccin ciden y. lo que es ms importante, todos estos sistemas
operativos se instalan en ordenadores que sern servi-
En esta Unidad se describen las caractersticas ms im- dores de red.
portantes de los sistemas operativos Unix y Linux. En con-
creto la versin Unix de SCO Sistema V versin 4 (Open De hecho, en la actualidad la mayora de los Servidores de
Server) y la versin Linux Suse 9.1, aunque la mayora de Internet instalan Unix como sistema operativo, debido
las caractersticas son vlidas para otras versiones. especialmente a que es muy estable y tiene pocos fallos.

Actualmente la mayora de los fabricantes de hardware y Linux es un sistema operativo de libre distribucin. Tie-
software suelen tener su propia versin de este sistema ne la misma filosofa que Unix, aunque incorpora otros
operativo, a la que denominan de diferentes formas. La programas de configuracin, adems de los bsicos.

13.1 Caractersticas generales de Unix/Linux


El sistema operativo Unix/Linux es uno de los sistemas Respecto al sistema de almacenamiento, los sistemas
multiusuario por excelencia. A lo largo de su evolucin como Unix/Linux permiten que ms de un disco pueda
histrica se le ha llamado de muchas formas y ha tenido formar lo que se denomina un sistema de archivos.
multitud de versiones, pero en definitiva siempre ha es-
tado especializado en gestionar software para que pue- Otro componente que forma parte de un sistema multiu-
da ser utilizado simultneamente por varios usuarios. suario es la impresora. Normalmente, en sistemas Unix/
Linux solamente se utilizan impresoras conectadas al or-
En general, el hardware de cualquier sistema multiusua- denador central, que son gestionadas directamente por
rio consta de dos partes fundamentales: ste y utilizables por todos los usuarios.

Ordenador central. Tambin llamado servidor, es el Estos sistemas operativos constan de estos dos compo-
encargado de suministrar informacin a los diferen- nentes: ncleo y Shell. Observa algo ms sobre estos dos
tes usuarios del sistema. componentes:
Terminales. stos son los puestos con los que los
Shell. Es el equivalente al intrprete de comandos
usuarios se comunican con el ordenador central.
de DOS (Command.com) o el Explorador de Win-
Pueden ser, a su vez, de dos tipos:
dows. Permite introducir comandos, ejecutar pro-
gramas, etc. La diferencia respecto a DOS y Windows
Terminales puros. Estos terminales son exclusi-
es que, adems, el Shell es un lenguaje de progra-
vamente un monitor y un teclado sin unidad
macin que permite controlar como se estn ejecu-
central, que estn conectados directamente al
tando las comandos.
ordenador central. Solamente pueden ser utili-
zados en el sistema en el que estn conectados, Ncleo. Es la parte del sistema que interacta con el
es decir, no son autnomos, ya que no tienen hardware. Aporta servicios para la gestin de memo-
microprocesador propio, ni memoria, ni ningn ria, control de acceso a los perifricos, control y ges-
componente bsico de un ordenador. tin del sistema de archivos, manejo de interrupcio-
nes, gestin de procesos de entrada/salida, etctera.
Ordenadores personales en emulacin. Pueden ser
ordenadores de la familia 8086, 486-SX, Pen-
tium, etc. Son autnomos, es decir, pueden tra- Aplicaciones
bajar de forma independiente, ya que constan de
Shell
todos los componentes que cualquier ordenador
precisa: microprocesador, memoria, monitor, te- Ncleo
clado, ROM, etc. Pueden ser utilizados por los
Hardware
usuarios de un sistema multiusuario, ya que se
pueden conectar al ordenador central mediante Sistema de archivos
tarjetas de red (tambin pueden conectarse a
travs de los puertos serie). Una vez conectados,
el equipo ejecuta un programa que emula o
transforma la seal recibida del ordenador cen-
tral, para que ste la entienda y pueda funcionar. Fig. 13.1. Estructura del sistema operativo Unix/Linux.

13
367
13. Sistema operativo multiusuario Unix/Linux...
13.2 Introduccin al sistema multiusuario Unix/Linux

13.2 Introduccin al sistema multiusuario


Unix/Linux
A. Historia y versiones La evolucin de este sistema operativo se puede consul-
tar en Internet, si bien cabe indicar como caracterstica
general, que la primera versin de este sistema operati-
vo nace en 1960 con la empresa MULTICS y, tras refor-
marse prcticamente cada ao, llega al sistema de la ac-
tualidad en la forma de SYSTEM V RELEASE 4.
Los inicios de Unix datan de los aos 60, fruto de un
proyecto de investigacin de los laboratorios BELL. El
sistema se llamaba MULTICS.

El proyecto estuvo parado durante algunos aos, bsica-


mente, por dos problemas: necesitaba mucha memoria y
La historia de Linux empieza en Finlandia, en 1991,
los programas no acababan de funcionar bien con l.
cuando en Linus B. Torvalds, estudiante de la Universi-
Ya en 1969 se escribe de nuevo un SO basado en MUL- dad de Helsinki, se le ocurri comprarse un PC con pro-
TICS que supera los problemas de ste, para aplicr en cesador 386. Despus de observar que el MS/DOS no
mquinas PDP-7. Unix es muy parecido a este. aprovechaba los recursos de la mquina, decidi usar
otro sistema operativo de entonces: Minix (Minix era un
En 1973 se escribe en lenguaje C, gana sobre todo en pequeo sistema Unix).
portabilidad y mejora su mantenimiento. Eso le da un
gran auge. Sin embargo, debido a las limitaciones del Minix, Linus
decidi reescribir algunas partes del sistema, aadin-
A partir de aqu, el sistema sufre muchas modificaciones, dole mayor funcionalidad. Posteriormente, Linus difun-
hasta que en 1982, AT&T, lanza la primera versin co- di el cdigo fuente por Internet, de manera gratuita y
mercial de Unix. A la vez, otras empresas sacaron sus con el nombre de Linux. La primera difusin de Linux
versiones de Unix, lo cual hizo dudar a los usuarios, ya tuvo lugar el mes de agosto de 1991. Se trataba de la
que no se saba qu partes pertenecan realmente a Unix versin 0.01, y por el momento, funcionaba bajo Minix.
o si eran alguna de sus variantes.
Esta primera versin era lo que se podra denominar un
Unix empez a fraguarse con ms rapidez con la apari- embrin ni siquiera hubo anuncio oficial. La primera ver-
cin de los ordenadores PDP-11 a mediados de los aos sin oficial, la 0.02, se hizo pblica el 5 de octubre de
setenta. Como este sistema operativo se ajustaba muy 1991. En esta nueva versin ya se permita el uso de al-
bien a las caractersticas y arquitectura de los ordena- gunos programas GNU (GNU es un acrnimo recursivo
dores DEC-PDP-11, la venta de stos se incremento y fa- que significa GNU No es Unix).
cilit el desarrollo del sistema operativo.

Simultneamente, AT&T envi copias del sistema opera- En estas primeras versiones, Linux era bastante limita-
tivo Unix a muchas universidades del mundo, por lo que do, pero el hecho de que se difundiera la fuente por In-
la mayora de los informticos realizaban sus estudios ternet, y totalmente gratis, hizo que cada vez ms per-
basndose en este sistema operativo. Fue en la Univer- sonas empezaran a colaborar con el proyecto, hasta
sidad de California de Berkeley, donde se desarrollo an llegar a los cientos de colaboradores que hay trabajan-
ms este sistema operativo, mientras que AT&T segua do en la actualidad en los cientos de proyectos GNU.
su propio desarrollo.
La primera versin estable de Linux fue la 1.0 y apareci
Debido a ello, la expansin del Unix se vio algo frenada, ya en marzo de 1994. El nmero de versin asociado al n-
que no se poda asegurar en ningn caso la compatibilidad cleo tiene un sentido muy particular, ya que est ligado
de programas en ambas versiones. Para ello se cre un es- a su desarrollo; la evolucin de Linux se efecta en dos
tndar y multitud de libreras, de forma que la caracters- fases:
tica fundamental del Unix, la portabilidad, fuera mxima.
Fase de desarrollo: es el momento en que se aade
Con la aparicin de los procesadores 8088 de IBM, Unix funcionalidad al ncleo, optimizaciones y dems. En
mejor en prestaciones e incluso llegaron a hacerse ver- definitiva, es la fase en la que se desarrolla ms el
siones ligeras del Unix, como el sistema operativo XE- ncleo y se caracteriza por su nombre de versin im-
NIX para el IBM PC. par: 1.1, 1.3, etctera.

13
368
13. Sistema operativo multiusuario Unix/Linux...
13.2 Introduccin al sistema multiusuario Unix/Linux

Distribucin MANDRAKE REDHAT DEBIAN GENTOO SUSE SLACKWARE LYCORIS BEEHIVE TURBO CALDERA
LINUX

Procedencia Francia EE. UU. EE. UU. EE. UU. Alemania EE. UU. EE. UU. EE. UU. Japn EE. UU.
N.o de CD-ROM 3 7 7 1 3 4 3 1 7 6
Versin del ncleo 2.4.18 2.4.18 2.2.20 2.4.19 2.4.18 2.4.18 2.4.18 2.4.18 2.4.18 2.4.13
Instalacin Grfica Grfica Texto Texto Grfica Texto Grfica Texto Grfica Grfica
Gestor por defecto KDE Gnome KDE KDE KDE KDE KDE KDE
Tipo de paquetes rpm rpm deb scr rpm tar.gz rpm tar.gz rpm rpm

Tabla 13.1. 10 distribuciones de Linux.

Fase de estabilizacin: se trata de coger el ncleo Por otro lado, es un multitarea, es decir, el sistema per-
desarrollado en la fase anterior, y hacer que sea lo mite que los usuarios estn ejecutando varias aplicacio-
ms estable posible. Aqu las modificaciones son m- nes simultneamente utilizando la tcnica de tiempo
nimas; se trata ms de retoques y pequeos ajustes. compartido. Para ello se aplican los diferentes algorit-
Los ncleos estables tienen nmero de versin par: mos de planificacin como los que viste en la Unidad 2.
1.0, 1.2, 2.0, 2.4, etctera. A continuacin se detalla el utilizado habitualmente por
Unix/Linux y otros sistemas multiusuario, junto con al-
Actualmente, Linux es un sistema Unix completo, aun- gunas de las caractersticas ms importantes de estos
que inicialmente se dise como un clnico de ste, dis- sistemas operativos:
tribuido libremente para funcionar en mquinas PC con
procesadores 386, 486, etc. En la actualidad funciona Algoritmo por prioridades o multinivel. Es uno de
sobre otras muchas plataformas como los procesadores los ms complejos y eficaces. Asigna los tiempos de
Alpha, Sparc, Amiga, Atari, las mquinas tipo MIPS y so- ejecucin de la UCP segn una lista de prioridades. En
bre los PowerPC. cada una de estas listas, el sistema operativo inclui-
r aquellos procesos a los que se les haya asignado
Hay que resaltar tambin que Linux respeta las especifi- esa prioridad. El tiempo de ejecucin del procesador
caciones POSIX, pero posee tambin ciertas extensiones se ir destinando, en primer lugar, de forma secuen-
de las versiones System V y BSD de Unix. Esto simplifica cial a los procesos de mayor nivel. Terminados stos,
notablemente la adaptacin de programas desarrollados se ejecutarn los procesos del nivel inferior, y as su-
inicialmente para otros sistemas Unix. cesivamente hasta los procesos del nivel ms bajo.
Memoria virtual. Esta tcnica permite a los usua-
El termino POSIX significa Portable Operating System In-
rios del sistema ejecutar programas, de tal forma
terface. Son unas normas definidas por el IEEE y estan-
que d la sensacin de que toda la memoria RAM es
darizadas por el ANSI y el ISO. POSIX permite tener un
para ellos. Concretamente en Unix/Linux se utiliza
cdigo fuente transportable.
la paginacin de la memoria. Esta tcnica, que ya
viste en la Unidad 2, es la que utilizan la mayora de
Observa la Tabla 13.1, con las versiones ms utilizadas
los sistemas operativos multiusuario. Dividen la me-
de Linux en la actualidad.
moria en pginas al igual que los programas y de
esta forma se realiza el intercambio entre disco y
Esta Unidad y las siguientes se han centrado en la dis-
RAM para ejecutar los mismos.
tribucin de SUSE por ser una de las ms estandarizadas
y similares a Unix que existen en el mercado. Sistema de archivos jerrquico. Utiliza, de forma
similar al DOS, un sistema de archivos en forma de
Adems, es la distribucin utilizada actualmente por el rbol invertido. La diferencia esencial frente al DOS
Ministerio de Educacin para los centros educativos. es que el Unix/Linux no gestiona dispositivos (como
una disquetera) de forma directa. El Unix/Linux ges-
tiona los dispositivos como si fueran directorios, de
B. Caractersticas generales tal forma que cuando estemos accediendo al direc-
torio asociado a una disquetera, en realidad lo que
Como se ha comentado anteriormente, Unix/Linux es un estars haciendo es acceder a la informacin conte-
sistema operativo multiusuario. nida en el disquete.

13
369
13. Sistema operativo multiusuario Unix/Linux...
13.3 El sistema operativo Unix/Linux a fondo

Comunicacin con otros ordenadores. Un sistema forma sencilla. De este modo, el administrador del
Unix/Linux permite no solamente trabajar con l en sistema operativo, a travs de palabras clave (para
una mquina, sino tambin conectar varios ordena- archivos empaquetados o comprimidos) o mediante
dores centrales Unix/Linux entre s de tal forma que la asignacin de derechos a los usuarios, hace que
cada usuario tenga acceso a la informacin conteni- la informacin contenida en un servidor Unix/Linux
da en todos ellos. La conexin se realiza a travs del est totalmente protegida de piratas o usuarios no
conjunto de protocolos y servicios que ofrece TCP/IP. deseados.
Gracias a l puedes ejecutar programas en mquinas
Unix/Linux que estn a varios kilmetros de distan- Interfaz texto/grfica. Lo normal es que la inter-
cia entre s; enviar correo electrnico de unos equi- faz utilizada por Unix/Linux sea de tipo texto.
pos a otros; realizar conversacin directa entre dos Pero poco a poco se han ido incorporando mejoras
usuarios, etctera. que permiten gestionar el sistema operativo en
modo grfico. Fundamentalmente, la aparicin de
Sistemas de seguridad. Es una de las caractersti- las interfaces X WINDOWS ha permitido agilizar y
cas ms importantes, ya que la informacin a la que mejorar procesos, especialmente para el adminis-
un usuario puede tener acceso puede limitarse de trador.

13.3 El sistema operativo Unix/Linux a fondo


Para comprender el funcionamiento del sistema Unix/Li- El Shell es el intrprete de mandatos o de comandos con
nux, es necesario entender su estructura. Este sistema el que cuenta este sistema operativo. En DOS es el Com-
operativo est formado por varios componentes princi- mand.com el que se encarga de realizar esta funcin.
pales. Entre ellos, el ncleo, el Shell, el sistema de ar-
chivos y los comandos. El Shell acta como interfaz de comunicacin entre el
usuario y el ordenador, y cuando un usuario se conecta
con el servidor Unix/Linux, automticamente se arranca
A. El ncleo y el shell un Shell para que pueda trabajar. Cada usuario conecta-
do al servidor tendr un Shell para su uso.
El ncleo es la parte del sistema operativo que sirve para
interactuar con el hardware. Proporciona una serie de Al contrario que en DOS, en el que el intrprete de co-
servicios que pueden ser utilizados por los programas, mandos es nico, en Unix/Linux existen varios. stos
sin que stos tengan que preocuparse de cmo se ges- son los siguientes:
tiona el hardware.
Shell Bourne (sh). Creado por S. Bourne, es el ms
En general, el ncleo es el encargado de gestionar la utilizado en la actualidad. El prompt del sistema
memoria, mantener el sistema de archivos, del manejo queda representado por el smbolo $. Este shell es
de las interrupciones, manejo de errores, realizacin de el estndar de AT&T y el que se monta en casi todos
los servicios de entrada/salida, asignacin de los recur- los sistemas Unix/Linux.
sos de la UCP, gestin de perifricos de entrada/salida,
etctera. C-Shell (csh). Procedente del sistema BSD, propor-
ciona caractersticas tales como control de trabajos,
Cada programa se relaciona con la mquina a travs del historia de comandos (como el doskey en DOS), ca-
ncleo. Un programa realizar al ncleo las denominadas pacidades de edicin, etc. Ofrece importantes ca-
llamadas al sistema. Con estas el programa indicar, ractersticas para los programadores que trabajan en
por ejemplo, que le abra un archivo, que escriba en otro, lenguaje C. Su prompt de sistema queda representa-
que utilice la impresora, que cambie la prioridad de eje- do con el smbolo %.
cucin de otro proceso, etctera.
Shell job (jsh). Incorpora algunas caractersticas de
El ncleo del sistema operativo Unix/Linux, que recibe control al shell estndar del sistema.
el nombre de KERNEL, acta directamente con los ele-
mentos fsicos del ordenador, y se carga en memoria al Shell Korn (ksh). Escrito por David Korn, amplia el
arrancar la mquina. Permanece en ella hasta que sta shell del sistema aadiendo historia de comandos,
se apaga. Recordemos que en DOS, el ncleo estaba for- edicin de la lnea de ordenes y caractersticas am-
mado por dos programas MSDOS.SYS y IO.SYS. pliadas de programacin.

13
370
13. Sistema operativo multiusuario Unix/Linux...
13.3 El sistema operativo Unix/Linux a fondo

Bourne Again shell (Bash). Fue creado para usarlo C. Interfaces de usuario
en el proyecto GNU. BASH, por lo tanto, es un shell
o intrprete de comandos GNU; ste es compatible stas se definen como la parte del Sistema Unix/Linux
con el shell sh. Adems, incorpora algunas caracte- que determina cmo interacta el usuario con l, es de-
rsticas tiles de ksh y csh, y otras propias, como la cir, de qu forma el usuario introduce comandos o cual-
edicin de lnea de comandos, tamao ilimitado del quier otra informacin y cmo el sistema visualiza los
histrico de comandos, control de trabajos y proce- mensajes despus de procesar tal informacin.
sos, funciones y alias, clculos aritmticos con n-
meros enteros, etctera. La interfaz primaria o bsica del Unix/Linux es de tipo
texto y hasta no hace mucho ha sido la nica para el sis-
tema. Actualmente hay interfaces grficas como el X
B. Funciones de shell Windows, Open Look, GNOME o KDE.

Como ya has visto anteriormente, la interfaz de usuario La interfaz de tipo texto es la que se muestra al cargar
que sirve de comunicacin entre ste y el sistema reci- el shell por defecto o el deseado. Las bsicas son las
be el nombre de shell. mismas que las explicadas en el punto 13.4.A de esta
unidad, aunque hay ms.
Cuando un usuario emite una orden, se est relacionan-
do con el shell, parte del sistema Unix/Linux a travs de En cuanto a la interfaz grfica X-Windows, la caracters-
la cual se controlan los recursos del sistema operativo, tica fundamental es que incorpora un modelo cliente-ser-
proporcionando caractersticas que hacen que el sistema vidor para el modo en que las aplicaciones interactan con
sea potente y flexible. los dispositivos terminales. Incorpora tambin un proto-
colo de red y varias herramientas software que pueden ser
El shell es tanto un intrprete de comandos como un utilizadas para crear aplicaciones basadas en X Windows.
lenguaje de programacin interactivo. Sobre l se pue-
den ejecutar comandos con los que se pueden crear pro- Un concepto fundamental es la separacin de las aplica-
gramas denominados guiones. ciones con respecto al software que maneja la entrada y
salida por Terminal. Todas las operaciones realizadas me-
Cuando el usuario se conecta al sistema Unix/Linux, se ini- diante la entrada o salida estndar (teclado y monitor)
cia automticamente un programa de shell. ste es el de- son manejadas por un programa que se dedica exclusiva-
nominado shell de presentacin. Este shell se carga de for- mente a ello (servidor). Las aplicaciones (clientes) en-
ma automtica cuando se accede al fichero /etc/passwd. van al servidor informacin a visualizar, y el servidor
Este archivo contiene la informacin que el sistema nece- enva a las aplicaciones informacin referente a la en-
sita conocer de cada usuario. Es dentro de este archivo o trada de usuario. Para gestionar este modelo, se utiliza
fichero, el situado en ltimo campo de cada lnea, donde el protocolo de red X. Este protocolo es un lenguaje es-
se encuentra el nombre del shell que quieres ejecutar, que tndar utilizado por las aplicaciones clientes para enviar
normalmente es el shell estndar del sistema. instrucciones a los servidores X, y por los servidores para
enviar la informacin transformada a los clientes (por
En cuando se inicia el shell de presentacin, se busca el ejemplo, el movimiento del ratn).
fichero .profile dentro del directorio activo. Este fiche-
ro contiene comandos que sirven para personalizar su La interfaz OPEN LOOK ha sido diseada por AT&T y Sun
entorno de trabajo. Asimismo puede compararse al AU- Microsystems como interfaz grfica estndar para el sis-
TOEXEC.BAT del DOS. tema Unix/Linux.

Realizada esta operacin automticamente, se muestra Esta interfaz permite ejecutar y visualizar varias aplica-
en pantalla, normalmente, el smbolo $, para que el ciones simultneamente en ventanas separadas sobre
usuario pueda introducir sus comandos. una misma pantalla. En general, todas las operaciones
de gestin de archivos se realizan de forma grfica gra-
En general, todas las rdenes de Unix/Linux son progra- cias a la interfaz OPEN LOOK.
mas que estn almacenados en el sistema de archivos.
Se escriben de forma similar a como se hace en DOS, ya La interfaz KDE 3.2 para Linux SUSE, ahora con un po-
que su sintaxis es la siguiente: tente gestor de informacin personal (PIM), incorpora,
adems de la funcin de inicio rpido y la reproduccin
$ mandato [-modificadores] [argumentos] automtica de los medios introducidos (CD, DVD), KDE
3.2, un gran nmero de nuevas prestaciones y progra-
mas. Observa algunos de ellos:

13
371
13. Sistema operativo multiusuario Unix/Linux...
13.4 Procedimiento de conexin y desconexin

Kontact. Este programa equiparable a MS Outlook Konqueror. La nueva versin del navegador Web.
integra herramientas de correo electrnico, organi-
zacin, libreta de direcciones y notas. Quanta Plus. Editor HTML con un nuevo componen-
te de editor WYSIWYG.
KWallet. Password safe utilizado por numerosas
aplicaciones para administrar de forma segura las Barra lateral universal. Barra lateral de navegacin
distintas contraseas del usuario. para la representacin jerrquica de rboles de di-
rectorios que puede ser mostrada en el escritorio in-
Kopete. Programa de mensajera instantnea. dependientemente del administrador de archivos
Konqueror.
KDevelop. Dispone de soporte para ms de 15 len-
guajes de programacin, diseo configurable, libre La interfaz GNOME 2.4 ha mejorado la usabilidad y se
eleccin de editor, vista separada de clases para han incluido ayudas de accesibilidad para discapacita-
C++, cdigo completado automticamente, depura- dos, como, por ejemplo, un lector de pantalla con sali-
dores integrados y comprobacin de sintaxis mien- da de voz o a una lnea braille.
tras se introduce el cdigo.

13.4 Procedimiento de conexin y desconexin


A. Conexin de usuarios remotos lanzar con el software denominado TELNET. Telnet es el
a un servidor Unix/Linux software que permite la conexin entre terminales me-
diante el protocolo de comunicaciones TCP/IP. Este soft-
En este epgrafe vas a ver cmo puedes conectarte des- ware, que en realidad es un servicio ms de los que in-
de cualquier ordenador a otro ordenador con Unix/Linux. corpora el propio TCP/IP, es un protocolo de esta familia.
En este caso, te podrs conectar como un usuario cual- Sirve para conectarse a cualquier equipo identificado con
quiera o como el administrador del sistema, es decir, una direccin IP determinada.
como root.
Observa a continuacin el proceso de conexin, tenien-
La diferencia es el tipo de operaciones que podrs rea- do en cuenta que el ordenador desde el que te vas a co-
lizar en el servidor desde el terminal desde el que te nectar es un ordenador en emulacin y que el sistema
Fig. 13.2. Conexin con Telnet. conectas. operativo instalado es Windows XP.

En primer lugar, es evidente que el ordenador central o En primer lugar, ejecutars Telnet desde la opcin Eje-
servidor tiene que estar conectado. Esto, aunque parez- cutar del botn de Inicio. Dependiendo de la versin
ca obvio, es importante, especialmente en aquellos ca- del sistema operativo desde el que te conectes, apa-
sos en los que el servidor no se encuentra en el mismo recer una u otra pantalla. En versiones de Windows
espacio fsico que el usuario. Si es as y el usuario no lle- 98, aparece una ventana en la que podrs introducir
ga a conectar, no tendr demasiado claro si el fallo se los parmetros de la conexin en entorno grfico. En
debe a un problema de su equipo, de la lnea de trans- versiones Windows 2000/XP, automticamente apare-
misin o sencillamente del servidor. cer una ventana de comando, tipo DOS, en la que
tendrs que introducir, siempre, los datos de la cone-
El inicio del ordenador que tiene instalado el sistema xin a realizar.
operativo Unix/Linux en el servidor suele ser automti-
co. Arrancado este ordenador, podrs iniciar o no sesin Si conectamos desde un Terminal con Windows 98, el
Fig. 13.3. Conectar con un equipo en l fsicamente. En este caso, la iniciars, normalmen- procedimiento a seguir es el siguiente:
remoto. te, en entorno grfico.
Ejecutas Telnet y en la primera pantalla (Figura 13.2),
El primer paso para conectar desde otro ordenador con en el men Conectar, pulsars la opcin Sistema re-
el servidor Unix/Linux es lanzar desde nuestro ordena- moto, y la primera vez aparecer lo siguiente (Figu-
dor el comando de conexin. Esta orden de conexin so- ra 13.3).
lamente pretende hacer que el ordenador del usuario y
el ordenador central se entiendan. En la casilla Nombre del Host, especificars la direc-
cin IP que tenga el servidor Unix/Linux; por ejem-
El protocolo de comunicacin, en la actualidad, suele plo, 192.168.0.2.
ejecutarse bajo el entorno Windows o Linux, y se puede

13
372
13. Sistema operativo multiusuario Unix/Linux...
13.4 Procedimiento de conexin y desconexin

Las casillas de Puerto y Tipo de terminal las dejars como Despus de estos mensajes, el sistema carga un shell para
estn, ya que, por defecto, Windows interpreta que Telnet ese usuario y aparece el smbolo del sistema, que variar
se utilizar para conectar con un ordenador de estas ca- dependiendo del tipo de shell asignado. Normalmente, el
ractersticas. Concretamente, el puerto, es mediante el que smbolo del sistema es el smbolo $ para usuarios y el
el ordenador puede entenderse con el servidor Unix/Linux, smbolo # para el administrador, aunque esto depen-
y el tipo de terminal implica de qu forma se va hacer la der siempre del shell que se cargue al iniciar sesin.
emulacin en tu terminal, es decir, cmo tu ordenador vi-
sualizar la ventana para trabajar en Unix/Linux. A partir de este momento podrs trabajar sobre el siste-
ma Unix/Linux con los privilegios que tengas concedi-
Cuando realizas la primera conexin de forma efectiva, dos en el mismo. Fig. 13.4. Escritorio de Unix SCO.
en sucesivas conexiones no ser necesario realizar esta
secuencia de conexin, ya que en la siguiente ocasin,
cuando pulses Conectar, saldr una lista de direcciones B. Conexin de usuarios sobre
TCP/IP vlidas con las que alguna vez has conectado con el propio servidor Unix/Linux
un ordenador remoto. De esta forma, solamente ser ne-
cesario hacer clic sobre la direccin IP que quieras.

Si realizas la conexin desde versiones 2000/XP de Win-


dows, lo hars pulsando Inicio, Ejecutar, y dentro intro- Encendido el servidor Unix, aparecer una pantalla en
ducirs el comando siguiente: Telnet 192.168.0.2. modo grfico, en la que introducirs, de forma similar, el
nombre de usuario y contrasea para entrar al sistema.
Si en la lnea de ejecucin tecleas solamente Telnet, a Pulsars en el botn Login. Tras pulsar sucesivas veces
continuacin tendrs que introducir la direccin IP tras el botn OK, llegars al escritorio principal de Unix. Ob-
el smbolo del sistema, que muestra lo siguiente: Micro- srvalo en la Figura 13.4.
soft Telnet> 192.168.0.2.
Para cerrar la sesin de trabajo, si estamos conectados
Tambin puedes utilizar la herramienta Termlite. Esta en modo texto, el usuario podr hacerlo de dos formas Fig. 13.5. Cerrar sesin de usuario
herramienta la incorpora el fabricante de Unix SCO (San- distintas. en Unix SCO.
ta Cruz Operating) en los discos que suministra con el
producto. Teclear exit y luego pulsar Return.
Teclear Ctrl+d.
Ejecutado Telnet y ejecutado el comando de conexin, el
usuario recibir la siguiente informacin suministrada Despus de esto, el sistema mostrar de nuevo: login: y
por el servidor: login: o Linux login:, dependiendo de el usuario podr conectar de nuevo o no.
que el sistema con el que ests conectando sea Unix o
El cierre de sesin en modo grfico es seleccionando en el
Linux respectivamente.
men File, opcin Exit; posteriormente se confirmar el
abandono de la sesin de trabajo. Observa la Figura 13.5.
Introducirs tu identificacin de usuario y a continua-
cin se te pedir que introduzcas la contrasea o pass- Para cerrar definitivamente el equipo, ejecutars una se-
word, obligatoria en la mayora de los casos en todos los sin en modo comando y teclears: #shutdown g0.
sistemas Unix/Linux.

Es importante tener en cuenta que Unix/Linux, al ser un


sistema case sensitive, diferencia las letras maysculas
de las minsculas, es decir, no es lo mismo USER01 que En la pantalla inicial de Unix. La diferencia se muestra en
user01. la pantalla de conexin, ya que, a diferencia de Unix, en
Linux podrs seleccionar algunas opciones antes de en-
La contrasea solamente tiene que ser conocida por el trar al sistema. Podrs seleccionar algn usuario de los
usuario. Al teclearla no aparecer ningn carcter en que aparecen a la izquierda de la pantalla de login, as
pantalla, por seguridad, pero despus de su introduccin como el tipo de escritorio, aunque te recomiendo utili-
se tendr que pulsar de nuevo Return, al igual que cuan- zar, por defecto, KDE. Por ltimo, en la opcin men po-
do introdujiste el nombre de usuario. drs reiniciar el servidor o apagarlo.

Si al introducir el ID del usuario o la password te has Introducidos los datos de conexin de forma adecuada,
equivocado, el sistema no te dejar entrar, enviar un se mostrar el escritorio de Linux, tal y como puedes ver Fig. 13.6. Escritorio del adminis-
mensaje y volver de nuevo a la situacin de partida. en la Figura 13.6. trador SUSE.

13
373
13. Sistema operativo multiusuario Unix/Linux...
13.4 Procedimiento de conexin y desconexin

Si inicias sesin como un usuario estndar, el escritorio La palabra clave ha de ser diferente.
tomar un aspecto diferente, aunque bsicamente ser
el mismo. Debe tener al menos seis caracteres.

Si quieres terminar la sesin de usuario, o cambiar de Al menos dos caracteres tienen que ser alfabticos.
usuario, sin cerrar el sistema, hars clic en el icono co-
rrespondiente , o en el icono Iniciar aplicacin . Debe tener al menos un carcter numrico o especial.
Terminar . En cualquier caso, aparecer la pantalla de
la Figura 13.7, en la que podrs indicar el tipo de ope- Tiene que ser distinta del nombre de cuenta.
racin que quieres realizar.
No se puede utilizar como palabra clave los mismos
En la figura anterior, puedes observar que las opciones caracteres asignados como nombre de usuario cam-
son las de cambiar de usuario, reiniciar el equipo o apa- biados de orden.
garlo. De este forma, no necesitas, al contrario que en
Unix SCO, realizar acciones diferentes para cambiar de No se puede cambiar la contrasea de maysculas a
usuario o para cerrar el sistema. minsculas.

Cuando veas la gestin de usuarios en modo grfico, ve-


C. Primera conexin rs cmo se cambian las claves de acceso.
al sistema Unix/Linux
Si el usuario que se conecta lo hace por primera vez, y si D. Primeros conceptos
el administrador no ha decidido asignarle una palabra Unix/Linux
clave, no habr contrasea, o la contrasea ser nula.
En el punto anterior hemos hablado del nombre de la
Si se da este caso, el usuario podr asignarse l mismo cuenta del usuario. Este nombre de cuenta es un nme-
una clave de acceso utilizando el comando passwd. En ro que el administrador del sistema asigna a cada usua-
este caso, una vez que al usuario le aparezca el prompt rio que da de alta en el sistema.
del sistema $, y despus de introducir el comando
passwd, aparecern los siguientes mensajes: Cuando el administrador da de alta un nuevo usuario,
adems de asignarle el nombre, le asigna un nmero de
$ passwd identificacin de usuario (uid). Adems de esto, a
cada usuario se le incluye en un grupo de trabajo (gid)
passwd: changin password for user01 que tambin es un nmero.

Old password: Un grupo de trabajo es un entorno creado por el admi-


Fig. 13.7. Terminar sesin de tra-
bajo en Linux. nistrador para que determinados usuarios puedan hacer
New password: uso del sistema en las mismas condiciones. Es en este
entorno en el que se les asigna a los diferentes usuarios
Re-enter new password: los derechos de utilizacin del sistema, es decir, a qu
directorios tienen acceso y a cules no, qu programas
Password Changed pueden ejecutar y cules no, etctera.

Como se puede apreciar, lo primero que se te solicita es La informacin correspondiente a cada usuario de su uid
la clave antigua. Es evidente que, si esto no fuera as, y su gid puede ser conocida mediante el tecleo del co-
cualquier usuario podra cambiar las claves de los dems. mando id.
Con ello el sistema consigue que slo el usuario pueda
cambiar su propia clave de acceso. $ id uid = 200 (users) gid = 100 (users)
groups(users)
Despus de verificar la clave, teclears la nueva clave dos
veces. De esta forma, se comparan las dos claves para ve- Ya sabes cul es la forma para entrar y salir del sistema,
rificar que la introducida originalmente es la deseada. y tambin qu aspecto toma el indicador del sistema o
intrprete de comandos.
Cuando cambias la palabra clave, tienes que seguir una
serie de normas. Estas normas suelen ser definidas por Cuando se inicia el shell de presentacin de cada usua-
el administrador del sistema, y son las siguientes: rio, se busca un archivo denominado .profile en el di-

13
374
13. Sistema operativo multiusuario Unix/Linux...
13.4 Procedimiento de conexin y desconexin

rectorio asignado al usuario (HOME), que puede verse en Estos teclados son parecidos o iguales a los de un orde-
el fichero /etc/passwd. nador personal, pero algunos de ellos (especialmente los
terminales que no son autnomos) pueden incorporar te-
Este fichero, que puede asemejarse al Autoexec.bat en clas que realizan funciones particulares y especficas en
DOS, contiene comandos e instrucciones que el shell eje- el sistema.
cutar y que sern necesarias para ejecutar determina-
dos programas y, en general, para particularizar el en- En general, aunque la ubicacin de las teclas es suscep-
torno de trabajo de cada usuario. tible, los teclados tienen la siguiente estructura:

La presentacin en pantalla de los diferentes shell ha Letras maysculas y minsculas. Teclado QWERTY.
sido abordada anteriormente, aunque convine recordar
Dgitos numricos. De 0 al 9.
que lo normal es que al superusuario le aparezca el sm-
bolo # como indicador de sistema y que a los usuarios Smbolos especiales. Son los siguientes: @ - # & )
les aparezca un $. Tambin has visto cul sera la inter- _ + = ` [ ] \ : ; '' ' < > ? / | . ,
faz en modo grfico.
Teclas especiales. Return, Delete, Backspace y Tab.
Barra espaciadora.
E. Teclas y caracteres especiales Caracteres de control. Combinacin de CTRL ms
una letra.
En general, todos los teclados diseados para trabajar en
Unix/Linux son compatibles con el cdigo ASCII. Teclas de funcin. Usadas en tareas de programacin.

Sintaxis Funcin
Comando
clear clear Borra la pantalla en modo comando.
date date [-u|utc|universal] Presenta en pantalla el da y la hora que tiene el equipo en ese momento. Muestra, de iz-
[MMDDhhmm[[CC]YY][.ss]] quierda a derecha, el da de la semana, mes, da del mes, hora, meridiano y ao.
cal cal [-smjy13] [[month] year] Calendario perpetuo que incorpora el sistema. Permite ver calendarios completos de otros
aos o el calendario de un mes determinado.
who who [options] [file | ARG1 ARG2 ] Muestra por pantalla una lnea por cada usuario que en ese momento est conectado al sis-
tema. Muestra de izquierda a derecha el nombre de presentacin del usuario, el nmero de
terminal, y fecha y hora de presentacin.
Una variedad de este comando es who am i, que muestra solamente informacin referente
a el usuario conectado.
finger finger [-hlMmops] [user] Presenta informacin completa de los usuarios conectados a la red.
finger [-l] [user@host] $ finger user01
write write user [ttyname] Permite la comunicacin entre usuarios, ya que permite escribir un mensaje directamente en
el terminal de otro usuario, siempre y cuando se conozca cul es el terminal al que est co-
nectado el usuario. Copia en la pantalla de otro usuario lo que se escribe en nuestro termi-
nal. Se finaliza pulsando Ctrl + d. Supn que eres user01 y escribes: $ write user02. Esto
significa que quieres dialogar con user02.
talk talk address [terminal] Programa mejorado para comunicacin de terminal a terminal, de forma que las pantallas de
los interlocutores se dividen en dos. La conversacin finaliza pulsando Ctrl + d. Si eres
user01 y quieres dialogar con user02, debers escribir: $ talk user02. Este comando signi-
fica que quieres dialogar con user02.
mesg mesg [ n ] [ y ] Permite aceptar o rechazar mensajes enviados a travs de write y talk.
$ mesg n. Evita que podamos recibir mensajes.
$ mesg y. Restaura el permiso para recibir mensajes.
$ mesg. Muestra el estado de este permiso en nuestro terminal.
wall wall [file] Sirve para enviar un fichero, o los caracteres escritos, a todos los usuarios conectados. El
terminal que recibe el mensaje (por ejemplo, user02) va precedido del mensaje: Broadcast
message from user02.

Tabla 13.2.

13
375
13. Sistema operativo multiusuario Unix/Linux...
13.5 Comandos bsicos de Unix/Linux

13.5 Comandos bsicos de Unix/Linux


El sistema Unix/Linux tiene a disposicin de todos sus Al igual que en DOS, lo primero que se introduce es el
usuarios una gran cantidad de programas. Estos progra- comando, seguido de los argumentos o parmetros del
mas se ejecutan mediante comandos. mismo. Cuando introduces parmetros o un argumento
(caracteres como tal), se deja un espacio en blanco.
Asimismo tiene una sintaxis de comandos bastante es-
tandarizada, de tal forma que puedan aplicarse a casi to-
Observa la forma de introducir comandos en Unix/Linux.
dos ellos por igual.
Comando Opciones Argumentos
Generalmente, las comandos en Unix/Linux: Comando. Indica al intrprete de comandos o shell
Tabla 13.3. la accin a realizar.
Se utilizan por s solas.
Opciones. Es el modificador del comando. Las op-
Se utilizan acompaados por argumentos.
ciones se escriben a continuacin del carcter -. Re-
Algunos permiten opciones.
cuerda que en DOS se introducan tras el carcter /.
Argumentos. Caracteres que se utilizan como en-
A. Comandos bsicos trada del comando. El argumento puede ser un ar-
chivo o un directorio.
Al igual que en DOS, hay comandos que el usuario pue-
de manejar sin provocar problemas en el funcionamien- Como puedes ver, la forma de introducir comandos en
to del sistema, como los que muestra la Tabla 13.2. Unix/Linux es muy parecida a la forma de hacerlo en
DOS. La diferencia fundamental es que aqu s son im-
portante las maysculas y las minsculas. Normalmente,
B. Formato de los comandos en Unix/Linux todas las comandos, archivos y directo-
de Unix/Linux rios se escriben en minsculas, y sin caracteres especia-
les. Por lo tanto, no ser lo mismo DATE que date.
El formato de las comandos Unix/Linux es bastante pa-
recido al de los comandos DOS. Cada orden se separa de
las siguientes, ya que en Unix/Linux se puede introducir C. Otros comandos bsicos
ms de una orden en la misma lnea, mediante un pun-
to y coma (;). (Vase la Tabla 13.4).

Sintaxis Funcin
Comando
dpasswd passwd [-f|-g|-s|-k[-q]] [name] Este comando se escribe sin parmetros o modificadores. Permite al usuario cambiar o asignar una contrasea, siempre
que el administrador lo permita. Para el cambio de contrasea se tendr en cuenta lo siguiente:
passwd [-D binddn][-n min] La contrasea no es obligatoria.
[-x max][-w warn][-i inact] user La contrasea puede ser modificada siempre que se desee.
Ha de tener al menos seis caracteres (especificacin C2).
passwd [-D binddn] Son identificativos los primeros ocho caracteres.
{-l|-u|-d|-S[-a]|-e|-h} name Debe tener al menos dos caracteres alfabticos y uno numrico. En Linux no es igual, ya que la clave no tiene que
cumplir determinadas normas.
La contrasea puede caducar.
El administrador no puede ver las contraseas.
Las contraseas quedan registradas en el fichero /etc/shadow.
uname uname [-asnrvm] Se utiliza para obtener el nombre del sistema en el que se est trabajando. Tiene la siguiente sintaxis: uname X en
Unix o uname a en Linux.
Informa del tipo de sistema operativo, versin, tipo de ordenador desde el que se conecta el usuario, etctera.
logname logname Permite mostrar el contenido de la variable logname, que contiene el nombre del usuario conectado al ordenador, es
decir, el nombre de usuario con el que has conectado con el sistema Unix/Linux.
No tiene formato especfico basta con escribir el comando o pulsar Return para ver qu usuario est identificado ante
este ordenador.
id id [-aZGgnru] [user] Muestra el nmero de identificacin y el grupo al que pertenece el usuario.
Cada vez que se da de alta un usuario en el sistema, se le asigna de forma automtica o por decisin del administrador,
un nmero que lo identifica sobre el resto de usuarios. Adems, cada usuario se integra en un grupo de usuarios que
tambin estar identificado con un nombre.
Tabla 13.4.

13
376
13. Sistema operativo multiusuario Unix/Linux...
13.6 Estructura del sistema Unix/Linux

13.6 Estructura del sistema Unix/Linux


La estructura en Unix/Linux es jerrquica en forma de r- B. Tipos de archivos
bol invertido. Se parte de un directorio principal root, en Unix/Linux
representado por el carcter / (recuerda que en dos
era \). Este directorio puede contener, al igual que en En Unix/Linux existen, bsicamente, cuatro tipos de ar-
DOS, otros directorios o archivos que dependan de l. chivos. Son los siguientes:

La diferencia fundamental con DOS es que no existe un Archivos ordinarios. Contienen la informacin con
directorio raz por cada unidad lgica de almacena- la que trabaja cada usuario. Normalmente son archi-
miento. vos que contienen texto, programas escritos por el
usuario en lenguaje C, etc. Suelen contener caracte-
Los nombres de archivo y directorio en Unix/Linux si- res de tipo ASCII, y pueden ser modificados, crea-
guen reglas parecidas a los nombres en DOS. Concreta- dos, borrados, etctera.
mente ,un nombre de archivo puede ser casi cualquier
secuencia de caracteres, y se considera que dos nombres Enlaces fsicos (Vnculos fsicos). No es especfi-
de archivo son iguales si coinciden en los primeros ca- camente una clase de archivo. Es un segundo nom-
torce caracteres. bre asignado a un archivo. Supn que dos usuarios
necesitan compartir la informacin de un mismo ar-
chivo. Es evidente que si cada uno de ellos tiene una
A. Archivos y directorios copia, el problema se soluciona, en cierta medida.
Pero las modificaciones que realice un usuario, no
En cuanto a los caracteres para los nombres de archivo, podrn ser utilizadas por otro, ya que solamente se
se puede utilizar cualquiera, a excepcin del carcter /, modificar la copia de uno de los usuarios.
ya que tiene un significado especial. Es conveniente no
utilizar caracteres especiales, acentos, etc. No se pue- Si en vez de tener una copia cada usuario, cada uno
den incluir espacios en blanco ni es conveniente em- de ellos utiliza en archivo tipo enlace al archivo ori-
plear caracteres como los siguientes en los nombres de ginal, cada vez que uno modifique su archivo lo que
archivo: estar modificando es en realidad el archivo comn.
El vnculo es un segundo nombre que hace referen-
! # & ( ) ` '' ; | > < @ $ { } * ? \ Tab Spacebar cia a un archivo, pero no es en s el archivo. El vn-
Backspace + culo sirve para localizar el fichero en su ubicacin
actual, pero no es el archivo real. De esta forma, con
Lo ms importante es destacar que en Unix/Linux los tener un solo archivo real, ste se podr utilizar por
nombres de archivo son diferentes en mayscula y en todos los usuarios que lo necesiten, sin tener que
minscula. Se recomienda utilizar todos en minscula. duplicarlo o triplicarlo.

Los directorios en Unix/Linux son archivos especiales Enlaces simblicos (Vnculos simblicos). Se uti-
cuya funcin es la de almacenar archivos u otros direc- lizan para asignar ms de un nombre a un archivo.
torios. Tienen caractersticas especiales y, al igual que No sirven para directorios. Un vnculo simblico es
en DOS, cada directorio, a excepcin del raz, consta de un archivo que slo contiene el nombre de otro ar-
los directorios . y .., que indican directorio actual y di- chivo. Cuando el sistema operativo opera sobre un
rectorio padre, respectivamente. vnculo simblico, ste se dirige al archivo al que
apunta el vnculo simblico. A diferencia de los en-
Para entender mejor lo relacionado con los archivos, ha- laces fsicos, que existen dentro de la estructura de
blemos sobre el File System de Unix/Linux. El sistema de archivos, los enlaces simblicos solamente hacen re-
archivos de Unix/Linux es particular, respecto de los ferencia al nombre de otro archivo. Se utiliza el pa-
convencionales de Microsoft. rmetro -s.

Su estructura consta de tres partes fundamentales: su- Directorios. Son archivos especiales que contie-
perbloque, tabla de inodos y bloques de datos. Concreta- nen referencias a otros archivos. Cuentan con in-
mente, cada archivo o directorio tiene asociado un n- formacin sobre archivos ordinarios, subdirecto-
mero en la tabla de inodos. Este nmero identifica la rios, vnculos, vnculos simblicos, etctera.
ubicacin del archivo o directorio dentro de la zona de
datos.

13
377
13. Sistema operativo multiusuario Unix/Linux...
13.6 Estructura del sistema Unix/Linux

Archivos especiales. Suelen represen- etc., archivos. Al igual que en DOS, se utilizarn rutas o
tar dispositivos fsicos como unidades caminos para realizar las operaciones con los archivos.
de almacenamiento, impresoras, termi- Concretamente, en Unix no existe el prompt del sistema
nales, etc. Unix/Linux trata los archivos para que te indique la posicin actual dentro de la es-
especiales como archivos ordinarios. De tructura jerrquica. Linux s lo hace. De esta forma, cuan-
esta forma, un usuario puede abrir un do un usuario quiera saber dnde se encuentra, ejecuta-
archivo vinculado a una unidad de dis- r el comando pwd, y se mostrar por pantalla la ruta
quete, modificarlo, etc. Con ello consi- absoluta en la que est situado. Observa el siguiente
gue leer del disquete, escribir en el dis- ejemplo: #pwd home/org/compras/material.
quete, etc. Unix/Linux transforma las
Fig. 13.8. Estructura de directorios en Unix/Linux. operaciones bsicas y ordenes bsicas
de archivos ordinarios o regulares en D. Metacaracteres
comandos que interactan con el hard-
ware a travs de los archivos especiales. En muchas expresiones y comandos de Unix/Linux se uti-
liza un conjunto de caracteres con significado especial
para bsquedas.
C. Estructura jerrquica
de archivos y directorios Recuerda los caracteres comodn en DOS. Servan para
sustituir determinados caracteres cuando hacamos re-
En DOS existe una limitacin del nmero de archivos y ferencia a nombres de archivo o directorio.
directorios que se pueden crear dentro de un directorio.
Esta limitacin responde a la cantidad de caracteres con En Unix/Linux es lo mismo, pero se denominan metaca-
la que luego referenciars el archivo y que no tiene que racteres en vez de caracteres comodn. Los metacarac-
exceder de 63. teres son los que se muestran en la Tabla 13.5.

En Unix/Linux no hay lmite (conocido). Observa en la


Fig. 13.9. Estructura de directorios Figura 13.8 un ejemplo de una estructura tpica de di- E. Rutas en Unix/Linux
en forma grfica en Linux. rectorios en el sistema Unix/Linux.
Al igual que en DOS, dentro de una rama diferente de la
Para ver la estructura de archivos y directorios en entor- estructura jerrquica pueden existir directorios y archi-
no grfico, tendremos que pulsar el icono en Unix y vos con el mismo nombre. Esta caracterstica la deter-
en Linux, introduciendo el smbolo del directorio raz mina la ruta o camino en el que est situado un direc-
Carcter Accin
en el cuadro de Direccin o pulsando directamente en el torio o archivo.
? Al igual que en DOS, escritorio el dispositivo que referencia el disco duro,
sustituye a un solo ca- unidad de CD-ROM, etc. Es evidente que previamente han Evidentemente, no es lo mismo un archivo situado en la
rcter. ruta /home/org/ventas, llamado docs, que otro con el
tenido que ser montados, opcin que vers ms adelan-
* Sustituye a cualquier te; aunque por defecto, en entorno root estarn monta- mismo nombre situado en /home/org/compras.
carcter o conjunto de das normalmente en Linux las unidades de CD-ROM y la
caracteres. disquetera, y en entorno usuario en la versin 9.1 bas- Los nombres completos de los caminos absolutos van
[] Cuando se utilizan tar con pulsar el icono My Computer , que hace pa- desde el directorio raz hasta el propio archivo o direc-
como parte de nom- recidas funciones al de Mi PC en Windows. torio.
bres de archivo o di-
rectorio, representan Abriendo este objeto, aparecer, de forma similar a una En Unix/Linux tambin existen los caminos relativos.
un solo carcter de ventana de Windows, el contenido de toda la estructura Su utilizacin es igual que en DOS. Como has comenta-
los incluidos entre los de directorios que tenga tu sistema. Observa su aspecto do anteriormente, tambin existen los directorios . y ..
corchetes, que se sus-
en la Figura 13.9.
tituirn por el carc- El directorio . hace referencia al directorio activo, que
ter en el nombre de
Al igual que en DOS, siempre que ests trabajando sobre en Unix/Linux se denomina directorio actual. El directo-
archivo o directorio
en la posicin en la
la estructura jerrquica de archivos y directorios, el usua- rio .. hace referencia al directorio padre que existe en to-
que estn estos cor- rio estar situado en una unidad activa y en un directorio dos los directorios, a excepcin del directorio raz.
chetes. Pueden incluir activo. En Unix/Linux el concepto de unidad activa no
rangos separados por existe como tal, ya que el usuario siempre estar situado Te recomiendo repasar las rutas en DOS, ya que en Unix/
un guin. en el espacio fsico en el que est instalado Unix/Linux. Linux se manejan de la misma forma. Esto tiene su ex-
! Permite negar o ex- Sin embargo, s puede estar en un directorio o en otro. plicacin, y es que el DOS adopt esta forma de traba-
cluir caracteres. jar del Unix. Es por lo que si se entiende el manejo de
Como en DOS, esta posicin determinar la forma de tra- rutas y caminos en DOS, en Unix/Linux no tiene que su-
Tabla 13.5. bajar del usuario a la hora de copiar, borrar, modificar, poner ningn problema.

13
378
13. Sistema operativo multiusuario Unix/Linux...
13.7 Directorios en Unix/Linux

13.7. Directorios en Unix/Linux


A. Comandos de administracin La Tabla 13.7 muestra algunos ejemplos con el uso de
de directorios metacaracteres.

Esta orden es prcticamente igual que su equivalente en


DOS.
Sintasis Opciones
Comando
Para el manejo de esta orden, has de tener muy en cuen-
ls ls [opciones] [archivo] [-CFRacdilqrtu1] ta lo que significan dos de los archivos que componen
cada directorio, a excepcin del raz.
Tabla 13.6.
El fichero . hace referencia al directorio actual.
Orden que lista por la salida estndar los archivos con-
tenidos en el directorio en el que estamos situados. Los El fichero .. hace referencia al directorio padre.
archivos listados son archivos ordinarios, enlaces, o bien
subdirectorios del propio directorio. Para cambiar de directorio, puedes utilizar las rutas ab-
Al igual que en DOS, puedes obtener un listado de un di- solutas o relativas, al igual que en DOS. Recuerda que
rectorio que no sea el actual. Para ello basta con poner en Unix/Linux los directorios se representan con el
tras del comando la ruta en la que se encuentra el direc- smbolo /.
torio del que quieres obtener el listado. Ejemplo: ls
Si ejecutas cd sin ningn parmetro ni ruta especi-
/home/org/ventas.
fica, retornars automticamente al directorio HOME
Ejecuta man ls para ver los parmetros y su utilizacin. del usuario.

Comando ls con
Muestra los archivos y directorios que:
la expresin:
*[ab]* Contengan el carcter a y el b.
archi[A-P] Empiecen por archi y que, a continuacin, tengan cualquier carcter comprendido entre A (mayscula) y P (mayscula).
texto1[1-4] Se llamen texto1 y el siguiente carcter sea un nmero comprendido entre 1 y 4, ambos inclusive.
[1-3]???t* Su nombre empieza por un nmero comprendido entre 1 y 3, seguido de tres caracteres cualesquiera, una t y el resto que se quiera.
[123]???t* Igual que el anterior.
[dD]ocs Empiecen por D (mayscula) o d (minscula) y el resto del nombre sea ocs.
[0-9] No tengan un nmero como primer carcter. Slo se mostrarn los archivos que empiecen por una letra.
texto[123] Se llamen texto y que el siguiente carcter no sea un 1, 2 o 3.
le[ae]me Se llamen leame o leeme.
[a-z]asa.txt Empiecen por cualquier letra en minscula y las tres siguientes sean asa, y la extensin sea .txt: casa.txt, tasa.txt, rasa.txt.
[A-Z]asa.txt Igual que el ejemplo anterior, pero la primera letra en maysculas: Casa.txt, Tasa.txt, Rasa.txt.
[a-zA-Z]asa.txt Los dos ejemplos anteriores en conjunto: Casa.txt, Tasa.txt, Rasa.txt, casa.txt, tasa.txt, rasa.txt.

Tabla 13.7.

Sintaxis Sintaxis
Comando Comando
cd Cd [directorio] pwd pwd

Tabla 13.8. Tabla 13.9.


Esta orden se utiliza indicando tras cd la ruta a la que Esta orden indica cul es el directorio en el que estamos
quieres moverte. situados actualmente.
Ya sabes que en DOS, gracias al comando PROMPT $P$G,
Para movernos por la estructura de directorios mediante sabes en todo momento cul es tu directorio activo. En
la interfaz grfica, seguiremos los mismos pasos que muchas versiones de Unix/Linux esto no es posible, ya
conforme lo hacemos en Windows, respetando las op- que estemos donde estemos de la ruta de directorios, so-
ciones que ofrece Unix/Linux. lamente te aparecer el smbolo del sistema, $ o #.

13
379
13. Sistema operativo multiusuario Unix/Linux...
13.7 Directorios en Unix/Linux

En la actualidad algunas versiones de Unix/Linux, y so- nuevo. Pulsars con el botn derecho del ratn so-
bre todo de Linux, s te indican en qu directorio te en- bre cualquier zona de la ventana, que no sea un ico-
cuentras, dependiendo del tipo de shell cargada. no, y seleccionaras Crear nuevo, directorio. Introdu-
ces, el nombre en la casilla de texto que se muestra
Esta orden tiene su equivalente en DOS. Es el comando a tal efecto y pulsa Return.
CD sin ms.

El uso del comando pwd no tiene complicacin. Basta Sintaxis


con poner pwd tras el smbolo del sistema y te aparece- Comando
r el camino del directorio en el que estamos situados. rmdir rmdir [directorio]

Tabla 13.10.
Sintaxis
Comando Se trata de un comando que sirve para eliminar directo-
rios.
mkdir mkdir [directorio]

Tabla 13.10. El funcionamiento en cuanto a caractersticas es muy si-


milar al comando anterior.
Se trata de un comando que sirve para crear nuevos di-
rectorios. Permite eliminar directorios, teniendo en cuenta una ca-
racterstica fundamental: el directorio a ser eliminado
Es equivalente al comando MD de DOS, pero tiene ms tiene que estar en principio vaco, al igual que en DOS.
potencia, ya que, entre otras cosas, permite crear den-
tro de un directorio, varios a la vez, mientras que en DOS Pero esta orden permite eliminar directorios que tengan
hay que hacerlo de uno en uno. contenido, es decir, directorios que contengan archivos
u otros directorios.
Has de considerar que para el uso de esta orden debes
tener en cuenta las rutas o caminos. En DOS no es posible utilizar el comando RD para elimi-
nar directorios que no estn vacos. En DOS hay que uti-
En primer lugar, si ejecutas el comando mkdir seguido del lizar otra orden. ste, como ya sabes, es el comando
nombre de directorio que quieres crear, ste se crear so- DELTREE.
bre el directorio actual como un subdirectorio de ste.
En Unix (no en la versin SCO), puedes utilizar el co-
Por otro lado, al igual que en DOS, puedes crear directo- mando rmdir seguido del parmetro -r. En Linux lo ha-
rios desde el directorio actual en otros diferentes a ste. remos con el parmetro -p. Con ste, lo que haces es
Basta con indicar, tras el comando, la ruta en la que eliminar el directorio en cuestin y todo lo que ste con-
quieres crear el nuevo directorio. tiene, archivos y directorios, de una sola vez.

Tambin, como has dicho antes, permite la creacin de Recuerda que, al igual que en DOS, para eliminar un di-
varios directorios simultneamente, ejecutando el co- rectorio tienes que estar situado por encima de l en la
mando una sola vez. Para ello basta con indicar, tras el estructura, es decir, no puedes eliminar un directorio en
comando, los nombres de los subdirectorios que quieres el que ests situado. Tendrs que subir un nivel (cd..) y
crear, separados por espacios en blanco: posteriormente proceder a su eliminacin.

Como puedes ver, el manejo es el mismo que en DOS. Para borrar un directorio en entorno grfico, te
situaremos sobre el icono al que hace referencia,
Si utilizamos la interfaz grfica en Unix, pue- pulsaremos el botn derecho del ratn, y pulsaremos
des crear subdirectorios dentro de otros utilizando Discard. Si queremos eliminar un conjunto de direc-
una tcnica similar a la utilizada en Windows. Abri- torios, seleccionaremos varios de ellos, teniendo
remos el directorio sobre el que quieres crear uno pulsada la tecla Ctrl.
nuevo y a continuacin pulsaremos el botn File,
New Directory. Y se te pedir el nombre del nuevo di- En Linux la operacin se realiza de la misma
rectorio y pulsaremos Return. forma, si bien una vez seleccionado el directorio o
directorios a eliminar, pulsaremos el botn derecho
En Linux puedes realizar la misma operacin si- del ratn, y pulsaremos Eliminar, o Enviarlo a la pa-
tundote en el directorio en el que quieres crear otro pelera, de la que posteriormente podrs recuperarlos.

13
380
13. Sistema operativo multiusuario Unix/Linux...
13.8 Archivos en Unix/Linux

B. Consideraciones acerca Conviene indicar que esto es lo que suele ocurrir, pero el
de la administracin administrador puede crear el directorio de trabajo para cada
de directorios usuario en el lugar de la estructura que quiera y con el
nombre que quiera. Simplemente, se elige la ruta /usr por
En Unix/Linux es importante tener en cuenta que cada comodidad y por estructuracin lgica del propio sistema.
vez que se da de alta un usuario en el sistema, el propio
sistema operativo, a travs de las indicaciones del ad- Por otro lado, cuando damos de baja a un usuario en el
ministrador o superusuario, asigna un directorio de tra- sistema, ocurre que el directorio de trabajo que se le
bajo para ese nuevo usuario. Este directorio es de uso asign en su momento no se elimina. Es evidente que
particular, a menos que el administrador indique lo con- aunque a un usuario se le d de baja, ste puede tener
trario, para ese nuevo usuario. en su directorio de trabajo programas, archivos o infor-
macin que no tiene necesariamente que ser eliminada.
A estos directorios se les denominan HOME. Pero HOME
no es el nombre propiamente dicho del directorio, sino En Unix, si deseamos eliminar el directorio de trabajo asig-
una forma de llamar en Unix/Linux al directorio de tra- nado a ese usuario, tendremos que borrarlo manualmente
bajo de cada usuario. ejecutando la siguiente orden: $rmdir -r /usr/contable.

El lugar en el que se crean estos directorios de trabajo En Linux sera del siguiente modo: $rmdir -p /usr/con-
lo elige el superusuario o administrador del sistema. Nor- table.
malmente, estos directorios se crean encima del direc-
torio /usr seguido del nombre o login con el que usua- Se incluye este parmetro, ya que lo normal es que el di-
rio se identifica ante el sistema. rectorio tenga algn tipo de informacin.

Por ejemplo, el administrador del sistema crea un usua- El uso de las rdenes de manejo de directorios en DOS es
rio llamado contable. Pues bien, lo normal es que su di- muy similar al de las del Unix/Linux. Recuerda que el
rectorio HOME, es decir, el directorio en el que trabaja- DOS naci del Unix/Linux como sistema operativo para
r, estar en la ruta /usr y se llam contable. En ordenadores personales. Asimismo debes recordar que en
definitiva, el directorio de trabajo de este nuevo usua- Unix/Linux los nombres asignados a archivos y directo-
rio estar ubicado en la ruta /usr/contable. rios varan si se ponen en maysculas o minsculas.

13.8 Archivos en Unix/Linux


A continuacin vas a ver qu operaciones puedes reali- zar con archivos de texto, ya que cualquier otro tipo de
zar sobre aechivos de Unix/Linux, es decir, cmo crear- archivo contiene caracteres que, aunque se visualicen,
los, borrarlos, modificarlos, etctera. no podrs entender.

Para ver el contenido de un archivo en entorno


Sintaxis Opciones grfico, pulsaremos dos veces sobre el icono que lo
Comando representa o pulsaremos el botn derecho del ratn
cp cp [opciones] [-fipRr] en Edit.
[archivo] ruta
cp [opciones] En Linux, se procede de igual forma, con la po-
[archivo] [directorio] sibilidad aadida de elegir el tipo de aplicacin con
el que se quiere visualizar el arhivo, es decir, algo si-
Tabla 13.13.
milar a Windows con la opcin Abrir con, o de hacer
Con esta orden se puede visualizar en pantalla el conte- doble clic sobre el mismo si ste fue creado con al-
nido de un archivo. Esta orden es equivalente al coman- guno de los editores existentes, como Kwrite.
do TYPE de DOS.

Con esta orden se pueden visualizar archivos que estn Sintaxis Opciones
en el directorio activo, o archivos que se encuentran en Comando
otra ubicacin. Para ello es suficiente con indicar la ruta
cat cat [opciones] [archivo] [-AbeEnstTuv]
o camino en el que se encuentra el fichero a visualizar.
Hay que tener en cuenta, que esta orden se suele utili- Tabla 13.12.

13
381
13. Sistema operativo multiusuario Unix/Linux...
13.8 Archivos en Unix/Linux

Esta orden, que sirve para copiar archivos, es muy simi- Con esta orden puedes eliminar archivos. Es equivalen-
lar al comando COPY de DOS. te al comando DELETE o DEL de DOS.

Ejemplo: $cp doc1 doc2 El uso de esta orden no tiene mayor complicacin. Bas-
ta con especifica,r tras el comando, el nombre del ar-
Como se puede ver, se utiliza casi igual que el comando chivo a eliminar, y si fuese necesario, la ruta o ubicacin
COPY. En este caso, estamos copiando el archivo doc1 en del mismo dentro de la estructura de directorios.
el mismo directorio activo con el nombre doc2.
Ejemplo: $rm /usr/contable/doc1
Has de tener en cuenta que si en el directorio activo exis-
tiera un subdirectorio llamado doc2, el archivo doc1 se Con esta orden estamos eliminando el archivo doc1 que
copiara en el subdirectorio doc2 con el mismo nombre. no est situado en el directorio activo.

Al igual que el resto de rdenes de manejo de archivos, Para eliminar un archivo o conjunto de archivos en en-
para copiar un archivo de un sitio a otro, antes de los torno grfico, los seleccionaremos y pulsaremos el bo-
nombres de archivo en cuestin, puedes incluir la ruta tn derecho. A continuacin elegimos la opcin Discard.
en la que se encuentran stos. Los archivos eliminados, al igual que en Windows, pasan
a la papelera de Unix (Trash/Papelera), cuyo funciona-
Ejemplo: $cp /usr/contable/doc1 /dev/doc2 miento es parecido a la de Windows. En Linux dispone-
mos de la opcin de Eliminar o Mover a la papelera.
Con esta orden, lo que estamos haciendo es copiar el ar-
chivo doc1, que se encuentra en el directorio /usr/con- La papelera de Unix/Linux solamente funciona en en-
table, en el directorio /dev con el nombre doc2. torno grfico, no en entorno texto.
Si en esta orden no indicsemos el nombre destino de fi- Observa la papelera de Unix (vase la Figu-
chero, es decir, no pusiramos doc2, el archivo se copia- ra 13.10).
ra en el directorio /dev con el nombre del archivo ori-
ginal, igual que ocurre en DOS. Y en Linux (Figura 13.11).
Para copiar archivos en entorno grfico, selec- Las opciones son equivalentes a las de Windows, ya
cionars el archivo (o los archivos) y pulsa el botn que puede restaurar archivos eliminados, eliminar-
derecho del ratn y eligirs la opcin Copy to... los definitivamente, etctera.
A continuacin aparecer una ventana en la que se
te solicitar el destino de los archivos. Sintaxis Opciones
Comando
En este caso solamente te queda indicar la ruta ab-
rm rm [opciones] [archivo] [-fipRr]
soluta en la que quieres copiar el archivo o archivos
Fig. 13.10. Papelera en Unix SCO. seleccionados. Tabla 13.23.

Si quieres realizar una copia del archivo sobre el Orden equivalente a MOVE en DOS. Con esta orden pue-
mismo directorio, selecciona el archivo a copiar, pul- des cambiar el fichero de un directorio a otro. Ten en
sa el botn derecho y la opcin Duplicate. Se te so- cuenta que esta orden no copia el archivo, sino que lo
licitar el nombre con el que quieres copiar el archi- mueve de un sitio a otro. Solamente existir una copia del
vo, y la operacin finaliza. mismo, a diferencia del comando cp, que s lo duplica.

En Linux, el procedimiento es muy similar al Ejemplo: $mv /usr/contable/doc1 /dev/doc2


descrito anteriormente.
Esta orden pasa el archivo doc1, situado en la ruta
/usr/contable, a un nuevo directorio /dev con el nom-
Sintaxis Opciones bre doc2.
Comando
Si no se especifica nombre de destino, el archivo pasa al
mv mv [opciones] [origen] [-fi]
directorio con el mismo nombre.
[destino]
mv [opciones] [origen]
[destino] Al igual que el comando cp, si doc2 fuese un nombre de
directorio, el archivo doc1 pasara al directorio /dev/doc2
Fig. 13.11. Papelera en Linux SUSE. Tabla 13.16. con el nombre de doc1.

13
382
13. Sistema operativo multiusuario Unix/Linux...
13.8 Archivos en Unix/Linux

Si lo que quieres es cambiar el nombre de un archivo Si editamos el nuevo archivo, para el usuario que lo edi-
dentro del directorio activo, has de tener en cuenta que ta estar trabajando con ese archivo, pero en realidad lo
es obligatorio incluir el nuevo nombre, es decir, el nom- estar haciendo con el contenido del archivo original al
bre de destino. Solamente puedes omitir el nombre de que le aplicamos el comando ln.
archivo destino cuando lo mueves a una ruta diferente
del directorio activo. Ejemplo: $ln doc1 doc2

Ejemplo: $mv doc1 doc2 El archivo doc1 existir con dos nombres, lo que ocurre
es que doc2 no es realmente el archivo que contiene la
En este caso, el archivo doc1 pasa a llamarse doc2. Evi- informacin, sino doc1.
dentemente, doc1 desaparece.
El uso de esta orden es importante cuando quieres que
Adems, debes tener en cuenta que si doc2 fuese un di- varios usuarios tengan acceso al contenido de un archi-
rectorio, doc1 pasara al directorio doc2 con el nombre vo y que todos ellos puedan modificarlo, imprimirlo, etc.
doc1. Con esto se consigue que la informacin real del archivo
no se duplique o triplique, ya que lo que haces es asig-
La operacin en entorno grfico se realiza nar a cada usuario un nombre de archivo que en realidad
arrastrando el icono correspondiente de un directo- es un enlace al archivo original.
rio a otro, igual que en Windows, o pulsando el bo-
tn derecho sobre el icono o iconos seleccionados y PSe trata de un comando parecido al filtro MORE de DOS.
eligiendo la opcin Move to. A continuacin se in-
troduce la nueva ruta absoluta a la que ir el fiche- Se utiliza para visualizar el contenido del archivo, simi-
ro o ficheros seleccionados. lar al comando cat. La gran diferencia es que si el archi-
vo ocupa ms de una pantalla, con el comando cat no lo
De igual forma a como se hace en Windows, podrs visualizar desde el principio, es decir, las lneas
mediane las opciones de Cortar y Pegar. de archivo se te mostrarn por pantalla, pero solamente
se quedarn las ltimas.
Sintaxis Opciones
Comando
Sintaxis Opciones
ln ln [opciones] [origen] [-f] Comando
[destino]
ln [opciones] [origen] more more [opciones] [-num] [-dlfpcsu]
[directorio] [+/ modelo] [+ numlinea]
[archivo]
Tabla 13.16.
Tabla 13.17.
Con esta orden consigues algo que en DOS no es posible
hacer. Con more haces lo mismo, pero visualizando el conteni-
do del archivo pantalla a pantalla.
Lo que haces gracias al uso del comando es asignar a un
archivo existente un segundo nombre. Es decir, no es Al final de cada pantalla, puedes pulsar la barra espa-
como el comando mv ni el comando cp. Es una especie ciadora para ver otra nueva pantalla con el contenido del
de mezcla, ya que el archivo al que le aplicamos esta or- archivo. Si quieres salir de la visualizacin del archivo
den aparecer en realidad dos veces, es decir, el nombre antes de que realmente se haya completado la opera-
original y el nuevo que le acabamos de asignar. cin, en vez de pulsar la barra espaciadora, pulsa la
combinacin de teclas CTRL + D.
Lo caracterstico de esta orden es que el contenido del
archivo solamente existe una vez. Concretamente, es el Ejemplo: $more doc1
archivo original el que dispone de la informacin. El nue-
vo archivo creado solamente es un enlace hacia el archi- Te muestra el contenido del archivo doc1, pantalla a
vo original. pantalla. Es evidente que si el archivo se encuentra en
un directorio distinto al directorio activo, podrs incluir
Es lo que en algunas ocasiones en informtica denomi- la ruta en la que ste se encuentra sin ningn problema.
namos alias. El nuevo archivo existe como tal, pero el
contenido real del archivo est en el archivo primero, ya
que el nuevo solamente lo referencia.

13
383
13. Sistema operativo multiusuario Unix/Linux...
13.8 Archivos en Unix/Linux

Para ver la diferencia con el filtro MORE del DOS, te in- cuenta que hay diferencia entre caracteres en mayscu-
dico un ejemplo de cmo se produce en DOS la salida pa- la y minscula.
ginada de un archivo.
Evidentemente, existen parmetros como -r para realizar
C:\>TYPE DOC1MORE la ordenacin en orden inverso. Otro parmetro es poner
+n, es decir, un nmero entero positivo, lo que indica
En realidad, el resultado de esta orden es el mismo que que la ordenacin se realizar por el campo que ocupa la
la equivalente en Unix/Linux. Lo que s que tienes que posicin que acabamos de sealar.
tener claro que en DOS tienes que utilizar el comando
propia de visualizacin de archivos y pasarla por el filtro Es conveniente, en esta orden, recurrir a la ayuda de
MORE para obtener tal resultado. Unix/Linux para ver la potencia que tiene y la cantidad
de parmetros para realizar salidas de archivos ordena-
En Unix/Linux, el comando more es una orden propia o das de mltiples formas.
un filtro, igual que en DOS.
Ejemplo: $sort -r +2 doc1
Sintaxis Opciones Esta orden visualiza por pantalla el contenido ordenado
Comando
del fichero doc2 en orden descendente, tomando el se-
pg pg [-nmero [-p cadena] gundo campo como referencia para la ordenacin.
[+ numlinea] [+/ modelo]
[archivo]
Sintaxis Opciones
Tabla 13.18. Comando
tail tail [opciones] [archivo] [-cfFnqsv]
Sintasis Opciones [--mas] [--pid]
Comando
Tabla 13.21.
less less [opciones] [-b espacio] [-h lneas] [[-][+]
[-j lnea] [-k archivoClave] [-K conjuntoDeCaracteres] aABcCdeEfFgGiIJLmMnNq En este caso, la orden muestra por pantalla las ltimas
[-{oO} archivoDeRegistro] [-p modelo] [-P smboloDe QrRsSuUVwWX] lneas de un archivo concreto.
Comandos] [-t indicador] [-T archivoDeIndicadores]
[-x ficha,...] [-y lneas] [-[z] lneas] [archivo] Ejemplo: $tail doc1

Tabla 13.19. Esta orden muestra las ltimas 10 lneas del archivo doc1
por pantalla. Si quieres mostrar un nmero determinado
Se trata de una orden similar a la anterior, ya que en re-
de lneas, incluirs el parmetro -n; indica el nmero de
alidad hace lo mismo. La diferencia entre pg y more es
lneas a mostrar.
que pg solamente se utiliza con este fin, y more lo pue-
des utilizar, al igual que en DOS, como filtro. Si incluyes el parmetro +n, estars indicando al co-
mando que te muestre, a partir de la lnea n, todas has-
Ejemplo: $pg doc1, en Unix, o $less doc1, en Linux.
ta el final.
Hemos de insistir nuevamente en que si el archivo no se
Ejemplo: $tail -8 doc1
encuentra en el directorio actual, se puede indicar la
ruta en la que est. Te muestra por pantalla las ltimas 8 lneas del archivo
doc1 situado en el directorio activo.

Sintaxis Opciones
Comando Sintaxis Opciones
Comando
sort sort [opciones] [archivo] [-bdfgiMnrckm
osStTuz] nl nl [opciones] [archivo] [-bdfhilnpsvw]

Tabla 13.20. Tabla 13.22.

Esta orden tiene utilidad para los programadores de


Como el filtro sort en DOS, esta orden lo que hace es or- Unix/Linux. En realidad, lo que hace es mostrar por
denar alfabticamente las lneas que contiene un archivo. pantalla las lneas de un archivo numeradas secuen-
cialmente.
La ordenacin es de menor a mayor y se realiza por el
primer campo que contiene el archivo. Debes tener en Ejemplo: $nl doc1

13
384
13. Sistema operativo multiusuario Unix/Linux...
13.9 Permisos y derechos en Unix/Linux

Ejemplo: $grep pedro pablo doc1


Sintaxis Opciones
Comando Es importante tener en cuenta que los nombres de las
cadenas a buscar se introducen entre comillas simples o
wc wc [opciones] [archivo] [-cmlLw]
dobles.
Tabla 13.23.
Con esto lo que consigues es que se te muestren por
Esta orden suele utilizarse conjuntamente con las tube-
pantalla todas aquellas lneas que contengan el nombre
ras (caracteres pipe del DOS) y con los redirecciona-
pedro pablo.
mientos de entrada y salida para contabilizar las lneas
de un archivo concreto.
Si ejecutas lo siguiente: $grep pedro pablo doc1, se
Ejemplo: $ wc<doc1 buscara la palabra pedro en los archivos pablo y doc1.

Como se aprecia en el comando, lo que haces es que wc Recuerda la diferencia entre maysculas y minsculas.
tome como datos de entrada el resultado del comando
cat; por lo tanto, el nmero de lneas. Por ejemplo, para localizar una cadena de ca-
racteres dentro de un archivo, seleccionaremos la
opcin Search, Find, o el icono .
Sintaxis Opciones
Comando En esta ventana introduciremos la cadena de caracteres
grep grep [opciones] [-AaBdCbdEeF a buscar y las opciones adecuadas. Conviene insistir en
PATTERN [archivo] PfGHhIilLmno que todo esto se maneja de forma similar a como se
grep [opciones] qRsuUvVxXyZ] hace con cualquier editor de textos, a excepcin de vi
[-e PATTERN | -f archivo] en entorno texto.
[archivo]
En Linux basta con pulsar en el icono ,o
Tabla 13.24.
Editar, Buscar en la lnea de mens. En cualquiera de
Orden equivalente al comando FIND de DOS. Gracias a los dos casos, introduces la cadena de caracteres a
ella puedes buscar palabras y cadenas de caracteres en buscar dentro del documento y pulsas Aceptar.
un archivo especificado.

13.9 Permisos y derechos en Unix/Linux


Ya viste en DOS y Windows lo que eran los atributos de tendrn o podrn tener acceso a parte de los recursos
los archivos y directorios. software y hardware que estn gestionados en estos or-
denadores.
En DOS, al ser un sistema monousuario, monotarea y mo-
noprogramacin, los atributos se reducan a cuatro. Es Concretamente en Unix/Linux, los permisos o derechos
decir, la seguridad en un sistema DOS es casi nula, ya que los usuarios pueden tener sobre determinados ar-
que se supone que ser siempre el mismo usuario el que chivos contenidos en l o en los ordenadores principa-
utilizar un ordenador concreto y que ningn otro usua- les se establece en tres niveles claramente diferencia-
rio tendr acceso a la informacin almacenada en ste. dos. Estos tres niveles son los siguientes:

Esto obedece fundamentalmente a que el sistema DOS Permisos del propietario.


no est diseado para trabajar en red, de tal forma que
Permisos del grupo.
los usuarios no comparten informacin ni recursos hard-
ware de ningn tipo. No existe un ordenador principal Permisos del resto de usuarios.
que sea servidor de archivos, por lo que la seguridad de
la informacin almacenada en cada equipo no es priori-
taria. A. Usuarios del sistema
Unix/Linux
Pero en Unix/Linux, al ser un sistema diseado funda-
mentalmente para trabajo en red, la seguridad de la in- Para tener claros estos conceptos, has de recordar que
formacin que almacenemos en los ordenadores centra- en los sistemas en red siempre existe la figura del ad-
les o servidores es fundamental, ya que muchos usuarios ministrador o superusuario.

13
385
13. Sistema operativo multiusuario Unix/Linux...
13.9 Permisos y derechos en Unix/Linux

Este administrador es el encargado de crear usuarios, B. Tipos de permisos


dar de baja a usuarios y, fundamentalmente, de esta- en Unix/Linux
blecer los privilegios que cada uno de ellos tendr en
el sistema. Antes de indicar cmo se establecen los permisos en
Unix/Linux, tienes que saber cmo se pueden diferenciar
Estos privilegios se establecen tanto para el directorio los diferentes tipos de archivos que el sistema puede
HOME de cada usuario como para los directorios y archi- contener.
vos a los que el administrador decida que el usuario pue-
da acceder. Cada archivo en Unix/Linux queda identificado por 10 ca-
racteres. De estos 10 caracteres, el primero por la iz-
El propietario es aquel usuario que genera o crea un ar- quierda hace referencia al tipo de archivo. El resto, es de-
chivo dentro de su directorio de trabajo en un directorio cir, los 9 siguientes, de izquierda a derecha y en bloques
sobre el que tenga derechos. Cada usuario tiene la po- de 3, hacen referencia a los permisos que se le conceden,
testad de crear, por defecto, los archivos que quiera den- respectivamente, al propietario, al grupo y al resto.
tro de su directorio de trabajo. En principio, l y sola-
mente l ser el que tenga acceso a la informacin El primer carcter de los archivos puede ser el siguiente:
contenida en los archivos y directorios que hay en su di-
rectorio HOME. Permiso Identifica
- Sin permiso.
Adems, lo normal es que cada usuario pertenezca a un
grupo de trabajo. De esta forma, cuando se gestiona el r Permiso de lectura.
grupo, se gestionan todos los usuarios que pertenecen a w Permiso de escritura.
ste. Es decir, es ms fcil integrar varios usuarios en un
x Permiso de ejecucin.
grupo al que se le conceden determinados privilegios en
el sistema, que asignar los privilegios de forma inde- Tabla 13.26.
pendiente a cada usuario.
Estos tipos de archivos son los ms estandarizados en
Por ltimo, tambin los privilegios de archivos conteni- determinados sistemas. Hay versiones de Unix/Linux que
dos en cualquier directorio de la estructura, pueden te- no incluyen estos archivos, y por contra incluyen otros.
nerlos otros usuarios que no pertenezcan al grupo de tra- Se ha de tener en cuenta que, bsicamente, para cono-
bajo en el que est integrado el archivo en cuestin. Es cer la gestin de permisos es preciso centrarse en archi-
decir, a los usuarios que no pertenecen al grupo de tra- vos ordinarios y directorios.
bajo en el que est el archivo, pero que pertenecen a
otros grupos de trabajo, se les denomina resto de usua- Los siguientes nueve caracteres son los permisos que se
rios del sistema. les concede a los usuarios del sistema. Cada tres carac-
teres, se referencian los permisos de propietario, grupo
Evidentemente, un usuario que no pertenezca a nuestro y resto de usuarios.
grupo, ser considerado resto para nuestro grupo. Lgi-
camente, nosotros seremos considerados resto para su Los caracteres que definen estos permisos son los si-
grupo. guientes:

Recuerda que, en cada sistema de red, existir un super- Permiso Identifica


usuario o administrador del sistema que tendr privile-
gios sobre todos los archivos directorios, dispositivos, - Archivo.
etc., que existan en el sistema. ste ser el que d o qui- d Directorio.
te privilegios segn las necesidades de la organizacin
b Archivo de bloques especiales.
en la que estemos integrados.
c Archivo de caracteres especiales.
Por ejemplo, en Internet, es sabido que los usuarios de l Archivo de vinculo o enlace.
la red tienen acceso a la mayora de las pginas Web. p Archivo especial de cauce.
Pero claramente vemos que slo puedes leerlas, es decir,
visualizarlas. Ningn usuario puede modificar o borrar Tabla 13.25.
una pgina as como as. Solamente el que la disea de-
cide quin puede realizar esta operaciones. Que los permisos se asignen a archivos ordinarios o a di-
rectorios hace que su significado no sea exactamente el
mismo.

13
386
13. Sistema operativo multiusuario Unix/Linux...
13.9 Permisos y derechos en Unix/Linux

C. Permisos para archivos mostrar toda la informacin de los archivos del direc-
torio, a excepcin de los ocultos, con sus permisos. Si
Lectura: permite, fundamentalmente, visualizar el quieres visualizar incluso los ocultos, ejecutars el co-
contenido del archivo con rdenes como ls, cat, pg, mando ls -la.
more y cp.
A continuacin se muestran los privilegios de un archi-
Escritura: permite modificar el contenido del archi- vo en entorno grfico en Linux (vase la Figura 13.12).
vo. El archivo se puede editar, por ejemplo, con VI,
y puede modificarse su contenido sin ningn pro- Observa cmo se muestran los permisos. Para
blema. ello, selecciona el archivo o directorio y Propiedades
(vase la Figura 13.13).
Ejecucin: permite ejecutar el archivo como si de Fig. 13.12. Listado de archivos en
un programa ejecutable se tratase. Estos permisos En Linux, basta son seleccionar las Propiedades Linux.
se suelen asignar a archivos SHELL, es decir, a ar- del archivo o directorio y Permisos. Se mostrarn en-
chivos que realizan funciones propias del sistema tonces los permisos del archivo o directorio selec-
operativo, como copias de seguridad, anlisis de la cionado (Figura 13.14).
integridad del sistema, etctera.
Hay que tener en cuenta que cuando damos de alta un
usuario en el sistema, le concedemos de forma autom-
D. Permisos para directorios tica unos privilegios. Estos privilegios, por supuesto, no
sern totales, es decir, los usuarios no dispondrn, nor-
Lectura: Permite saber qu archivos y directorios malmente, de los mismos permisos y derechos del super-
contiene el directorio que tiene este permiso. Con- usuario.
cretamente, podrs utilizar rdenes como ls.
Cuando creas el usuario, el sistema genera por defecto los
Escritura: permite crear archivos en el directorio, privilegios del usuario para manejo de archivos y para ma-
bien sean archivos ordinarios o nuevos directorios. nejo de directorios. Evidentemente, stos pueden ser mo-
Se pueden borrar directorios, copiar archivos en el dificados por el administrador, pero el sistema genera unos
directorio, mover, cambiar el nombre, etctera. privilegios ms o menos vlidos para la mayora de las
Fig. 13.13. Propiedades de un ar-
operaciones que cada usuario realizar sobre su directorio,
chivo de Unix.
Ejecucin: permite situarse sobre el directorio para sus archivos y sobre los directorios y archivos del resto de
poder examinar su contenido, copiar archivos de l. usuarios.
Si adems se dispone de los permisos de escritura y
lectura, se podrn realizar todas las operaciones po- Los derechos, privilegios o autorizaciones que el siste-
sibles sobre archivos y directorios. ma genera por defecto varan segn las versiones de
Unix/Linux que utilices. En general, son los siguientes:
Si no se dispone del permiso de ejecucin, aunque utili-
cemos el comando cd para situarnos en el directorio, esta Para archivos: -rw- r-- r--
accin ser denegada. Permite delimitar el uso de un di-
rectorio como parte de una ruta. Si el permiso de ejecu- Para directorios: -rwx rwx rwx
cin de un directorio est desactivado, se podr ver su
contenido (si se cuenta con permiso de lectura), pero no Conviene insistir en que no son los mismos en todas las
se podr acceder a ninguno de los objetos contenidos en versiones de Unix/Linux. Son configurables por el admi-
l, pues para ello este directorio es parte del camino ne- nistrador.
cesario para resolver la ubicacin de sus objetos.
Estos privilegios te permiten crear archivos, copiar ar- Fig. 13.14. Permisos de archivo en
chivos, borrar archivos, crear nuevos directorios , etc. Linux.
E. Gestin de permisos Afectan a los objetos que se generen en las ubicaciones
en Unix/Linux en las que tienes derechos para ello.

Para poder examinar los permisos y derechos, se pueden La Tabla 13.27 muestra los comandos que el sistema tie-
utilizar diferentes comandos, pero en primer lugar tie- ne para poder modificar los privilegios y derechos sobre
nes que saber qu indica cada uno de ellos. archivos y directorios.

La forma ms grfica y clara de ver los permisos de cada A los 10 caracteres que acompaan a cada archivo y di-
fichero es utilizar el comando ls -l. Con su ejecucin se rectorio en Unix/Linux, se le suele denominar mscara.

13
387
13. Sistema operativo multiusuario Unix/Linux...
13.9 Permisos y derechos en Unix/Linux

La sintaxis de esta orden es muy similar al comando AT-


Sintaxis Opciones TRIB de DOS. Se especifica el comando, seguido del tipo de
Comando usuario sobre el que quieres actuar, el carcter +, o =,
tipo de permiso y archivo o directorio (vase la Tabla 13.30).
Chmod chmod [opciones] [-R]
(sintaxis no [modo] [archivo]
numrica) Ejemplos:

Tabla 13.27. Hay otra forma de utilizar el comando chmod que, para
muchos usuarios, resulta ms cmoda, aunque a priori
La orden chmod permite modificar esta mscara para sea algo ms compleja de entender.
que se puedan realizar ms o menos operaciones sobre
archivos o directorios. Esta orden es fcil de utilizar si Para ello has de tener en cuenta que cada uno de los tres
tienes claro que los bloques de 3 caracteres a partir del caracteres que representan los privilegios para cada tipo
segundo de la mscara corresponden, respectivamente, de usuarios se puede representar mediante la combina-
a su propietario, al grupo y al resto de usuarios (vae la cin de tres dgitos en octal.
Carcter Accin Tabla 13.27).
Elimina derechos. Recuerda que cuando viste los sistemas de numeracin,
La orden ATTRIB de DOS es la nica que tiene algo de los caracteres binarios tenan correspondencia directa
+ Agrega derechos. semejanza con la gestin de privilegios, aunque en DOS con dgitos octales y hexadecimales directamente.
= Asigna permisos es- solamente puedes otorgar a un archivo o directorio unos
pecificados. privilegios muy escasos. As que en base 8 los guarismos utilizados son desde el
Tabla 13.28.
0 al 7, ambos incluidos. Ten presente que un dgito oc-
Con esta orden DOS se aaden privilegios con el carc- tal lo puedes representar con sus correspondientes dgi-
ter + y se eliminan los privilegios o atributos con el ca- tos en binario.
rcter . Pues bien, en Unix/Linux se hace de la misma
forma, aunque con una pequea modificacin, vase la Recuerda que: 2 elevado a cero = 1, 2 elevado a uno = 2,
Carcter Acta sobre Tabla 13.28. y 2 elevado a dos = 4.
u Propietario.
Con el comando chmod puedes quitar o eliminar derechos Situados posicionalmente los dgitos binarios segn el
g Grupo al que perte-
nece el usuario. a cada tipo de usuarios. Para ello tienes que saber cmo exponente de menor a mayor, de derecha a izquierda
o hace referencia a cada usuario, vase la Tabla 13.29.
Resto de usuarios. y empezando por el exponente cero, puedes obtener la
correspondencia con los dgitos octales.
Tabla 13.29. Si no se especifica el tipo de usuario al que le quieres
quitar, poner o asignar privilegios, lo que hars ser rea- Recuerda la Tabla 13.32.
lizar la operacin a todos los usuarios simultneamente.
Dgito Dgitos binarios
Comando Resultado octal 2
2 21 20
$chmod g+x doc1 Concede privilegios de ejecucin al grupo al que pertenece el archivo
llamado doc1. 0 0 0 0

$chmod rwx doc1 Se asignan los privilegios de lectura, escritura y ejecucin a todos los 1 0 0 1
usuarios para el archivo doc1. 2 0 1 0
$chmod go-wx doc1 Se quitan los privilegios de escritura y ejecucin al grupo y al resto de 3 0 1 1
usuarios del archivo doc1.
4 1 0 0
$chmod =x doc1 Asigna a todos los usuarios el permiso de ejecucin. Este comando se
5 1 0 1
podra escribir $chmod ugo+x doc1, como es evidente.
6 1 1 0
$chmod = doc1 Quita todos los privilegios a todos los usuarios del archivo doc1.
7 1 1 1
Tabla 13.30.
Tabla 13.32.
Sintaxis Opciones
Comando As, por ejemplo, el dgito 3 en octal tiene una corres-
pondencia con el binario en la combinacin 010. Es decir,
Chmod chmod [opciones] [-R] los bits uno multiplican a la potencia a la que correspon-
(sintaxis [modo] [archivo] den posicionalmente, y los bits cero, no.
numrica)

Tabla 13.31. 0 * 20 + 1 * 21 + 0 * 22 = 3 (en octal)

13
388
13. Sistema operativo multiusuario Unix/Linux...
13.9 Permisos y derechos en Unix/Linux

Cabra pensar qu tiene que ver esto con los privile- En definitiva, el que asigna privilegios deber tener en Privilegios
gios. Pues bien sencillo. Imagina por un momento cuenta nucamente cules de ellos quiere asignar, y re- Dgito
octal r w x
que los dgitos binarios no tienen correspondencia alizar un pequeo anlisis de su equivalencia con el n-
con las potencias de 2. Supn ahora que la corres- mero en octal y el correspondiente desglose en binario.
0 0 0 0
pondencia es posicional con los privilegios de los ar- Nada ms.
chivos. Para ello, considera la siguiente tabla (vase 1 0 0 1
la Tabla 13.33). La forma de asignar o modificar privilegios a archivos y 2 0 1 0
directorios en entorno grfico es visualizar las Propieda- 3 0 1 1
Observa la correspondencia entre el dgito octal, con des del archivo o directorio y activar o no las casillas co-
4 1 0 0
sus caracteres binarios, y los privilegios que repre- rrespondientes a los permisos de propietario, grupo u
sentan. otros. 5 1 0 1
6 1 1 0
Al igual que en los sistemas de numeracin, cuando el
dgito binario es un 1, indica que esa potencia entra a 7 1 1 1
Sintaxis Opciones
formar parte del dgito octal, y cuando es un 0, indica Comando Tabla 13.33.
que no entra a formar parte.
umask umask [mscara] [-lpPvVsSfqurx]
De forma anloga, supn el nmero 5 en octal. ste se
Tabla 13.34.
corresponde posicionalmente con los bits 101. Numri-
camente hablando, este nmero sera la suma de las po- Con esta orden puedes cambiar la mscara de los privi-
tencias 1 * 22 + 0 * 21 + 1 * 20 = 5. legios que, por defecto, se asigna a un usuario para la
creacin de archivos y directorios.
Si utilizas el mismo nmero, puedes apreciar que el 5 se
correspondera con la siguiente combinacin de privile-
Esta orden es inversa a chmod. Concretamente, lo que
gios, es decir, 1 * r + 0 * w + 1 * x = r x.
hace no es asignar privilegios, sino restringirlos.
En cuanto a los privilegios de Unix/Linux, sabes que los
puedes otorgar a tres tipos diferentes de usuarios: al Esta orden solamente tiene formato numrico, no como
propietario, al grupo y al resto. Pues nada ms sencillo chmod, que tambin lo tiene no numrico.
que utilizar un dgito octal para cada uno de ellos. Es
decir, si utilizamos tres dgitos octales, posicionalmen- Su uso es sencillo: despus del comando se especifica un
te el primero servir para asignar privilegios al propie- nmero en octal de tres dgitos, que indica qu privile-
tario; el segundo, para asignar privilegios al grupo, y el gios se quitan y a quin. Parecido a chmod.
tercero, al resto de usuarios.
A diferencia de chmod, en donde puedes especificar un
Considera la siguiente cifra: 750. Si la descomponemos archivo o directorio concreto, con umask lo que haces
en bloques de 3 bits cada una, sera: 111 101 000. Si a es restringir, en general, los privilegios para la creacin
continuacin haces corresponder cada bit 1 con asigna- de archivos y directorios. Es decir, esta orden no puede
cin y cada bit 0 con eliminacin de privilegios, obten- aplicarse a un archivo o directorio en particular; se apli-
dramos el siguiente resultado: rwx r-x --- ca, en general, para un usuario concreto, aunque en ca-
sos determinados se puede aplicar especficamente a un
El propietario tendra todos lo privilegios el grupo de archivo o directorio.
usuarios, lectura y ejecucin, y el resto de usuarios,
nada. En esta orden has de tener en cuenta cules son los pri-
vilegios que por defecto asigna el sistema. Ya viste an-
Supn que quieres asignar al archivo doc1 la siguiente teriormente que los privilegios por defecto eran:
mscara: rx- r-- rwx
Para archivos: -r w - rw - rw -
Claramente puedes ver que el resultado intermedio sera
el siguiente: 110 100 111, que pasado a octal se corres- Para directorios: -rwx rwx rwx
pondera con 647.
y sus equivalentes numricos:
Por lo tanto, si ejecutas el comando chmod de la si-
guiente forma: $chmod 647 doc1, estars asignando los Para archivos: 666
privilegios de lectura y escritura al propietario, de lec-
tura al grupo y todos los privilegios al resto de usua- Para directorios: 777
rios.

13
389
13. Sistema operativo multiusuario Unix/Linux...
13.9 Permisos y derechos en Unix/Linux

En resumen, lo que hace esta orden es restar de la ms- Supn que en nuestro sistema tienes un archivo que per-
cara, por defecto, el valor que especifiquemos tras ella. tenece al usuario contable. Si visualizas sus propieda-
des con el comando ls -l, se te mostrar algo como lo si-
Ejemplo: $umask 022 guiente:

El resultado sera, para archivos, restar 022 a 666 obte- -rw-r--r-- 1 contable grupo 1000 Aug 12 12:00 doc1
niendo como resultado la mscara deseada: 644, que se
traduce en rw- r- - r- -. Supn que en el sistema existen ms usuarios, por ejem-
plo el usuario nomina, y quieres asignar a este usuario la
Es decir, es lo mismo que poner: $chmod 644 o $chmod propiedad del archivo doc1; ejecutaras la siguiente orden:
g+rw u+r o+r
$chown nomina doc1
Esta orden, al igual que el fichero AUTOEXEC.BAT en
DOS, se suele incluir en el fichero .profile de Unix/Linux lo que indica que el archivo doc1 pasa a pertenecer con
(habitualmente en /etc/profile), del que ms adelante todos los privilegios disponibles al usuario nomina, que
vers que es equivalente al AUTOEXEC.BAT de DOS. De desde ahora es su propietario. Contable se queda sin los
esta forma consigues que cada usuario solamente pueda privilegios que tena cuando cre el fichero.
hacer lo que el administrador del sistema desea de for-
ma automtica. En algunas versiones, el comando chown incluye el pa-
rmetro -R, que permite cambiar en modo recursivo (a la
La orden umask sin parmetros muestra cul es el valor vez) las propiedades de todos los archivos de un direc-
de la mscara a restar de los valores por defecto para torio:
gestin de archivos y directorios.
$chown -R nomina direct1
Con el comando umask solamente se utilizan tres dgi-
tos. Puede utilizarse un cuarto (el primero), con el que Esta orden da la propiedad de todos los archivos conte-
determinados si la mscara la asignamos al grupo o a los nidos en el directorio direct1 al usuario nomina.
usuarios.
Cuando se transfiere la propiedad de un archivo a otro
Este comando se ejecuta en entorno grfico, fundamen- usuario, es conveniente copiar o mover el archivo al di-
talmente cuando damos de alta a un usuario o grupo, y rectorio HOME del nuevo usuario, para que as el nuevo
definimos la mscara por defecto. propietario pueda tener los privilegios sobre ese archivo.

Sintaxis Opciones Sintaxis Opciones


Comando Comando

chown chown [opciones] [-R] chgrp chgrp [opciones] [-R]


user [:grupo] archivo archivo de grupos

Tabla 13.35. Tabla 13.36.

Como ya sabes, cada archivo tiene un propietario y sue- Es una orden muy similar a la anterior. La diferencia es
le coincidir con la persona que lo cre. El propietario que sirve para cambiar el grupo asociado a un archivo.
suele tener la mayora de los privilegios sobre ese archi-
vo para manipularlo a su gusto. Pero el resto de usuarios La sintaxis es igual que en el comando chown.
no disponen de tantos derechos, como es evidente.
Supn el mismo archivo de antes y sus caractersticas:
El propietario del archivo lo ser mientras no se indique
lo contrario. Si, por ejemplo, copiamos un archivo sobre -rw-r--r-- 1 contable grupo 1000 Aug 12 12:00 doc1
el directorio HOME de otro usuario, el propietario no
cambia, sigue siendo el creador del archivo, aunque este y la ejecucin de la siguiente orden: $chgrp grupo1
archivo se haya copiado en varios sitios. doc1.

Con el comando chown se puede cambiar el propietario El resultado es que el archivo doc1 pasa a pertenecer al
de un archivo, siempre y cuando tengas esa necesidad. grupo1 y deja de ser de grupo.

La operacin de cambio de propietario solamente la po- Tambin has de tener en cuenta que un usuario puede per-
dr hacer el administrador del sistema o el usuario que tenecer a varios grupos. Lo que es evidente es que en una
lo cre, es decir, su propietario actual. sesin de trabajo estar identificado ante uno de ellos.

13
390
13. Sistema operativo multiusuario Unix/Linux...
13.9 Permisos y derechos en Unix/Linux

y se identifica ante el sistema para realizar su sesin


Sintaxis Opciones de trabajo:
Comando
login: contable
newgrp newgrp [-l] [grupo] [-luv]
password: *******
Tabla 13.37.
Si el usuario contable ha llegado al final de su sesin de
Con esta orden lo que se puede hacer es cambiar de gru-
trabajo, y el terminal lo necesita el usuario nomina.
po de trabajo en una sesin de trabajo.
La operacin se podra hacer de dos formas: saliendo del
Sabes que cuando un usuario se identifica ante el siste-
sistema con: $exit, volviendo a realizar una nueva co-
ma, ste tiene definidas unas caractersticas concretas:
nexin o identificacin con el sistema:
permisos de los que dispone, grupo al que pertenece, di-
rectorio HOME, etctera.
login: nomina
En algunos casos puede resultar interesante o necesario password: ********
que un usuario pertenezca temporalmente a otro grupo
de trabajo. o bien utilizando el comando su.

Es ms fcil, entonces, integrar al usuario en el nuevo La diferencia es clara. Si el usuario contable tena lan-
grupo al que pertenece que crear otro usuario que per- zado algn proceso, o alguien esta utilizando sus archi-
tenezca al nuevo grupo. Para ello se utiliza el comando vos, todo ello desaparecer de memoria, se perder el
newgrp. tiempo de conexin, la hora a la que se conecto, etc., ya
que se ha realizado una desconexin fsica al poner exit
Su uso es sencillo. Desde el smbolo del sistema se es- en el smbolo del sistema.
pecifica el comando y el nuevo grupo al que quieres que
pertenezca el usuario. Para ello se usa el comando su. Con , simplemente, den-
tro de la misma sesin de trabajo, puedes cambiar de usua-
$newgrp grupo1 rio sin necesidad de salir y volver a entrar en el sistema.

Desde entonces el usuario pertenece al grupo1. Supn que quieres cambiar del usuario contable al usua-
rio nomina; la operacin sera la siguiente: $su nomina.
Un usuario puede estar asignado a ms de un grupo.
Cuando se conecta al sistema (abre una sesin), figura A partir de este momento, nomina ser el nuevo usuario
como perteneciente a uno de ellos (tiene un gid que lo ante el sistema.
representa a la hora de otorgar derechos). Si el usuario
desea cambiar su gid (el grupo en el que est actuando), La orden su, sin ningn argumento, permite que te iden-
utilizar el comando newgrp, y su gid cambiar. tifiquemos como superusuario del sistema, siempre y
cuando conozcamos su clave de acceso.

Sintaxis Opciones Siempre que ejecutas el comando su ests iniciando una


Comando nueva sesin sin cerrar la anterior, es decir, es como si
tuvisemos dos sesiones abiertas pero solamente una ac-
su su [opciones [-] [user [-lcfmps]
[arg]
tiva. Cada vez que ejecutas el comando su, puedes vol-
ver a la anterior sesin tecleando exit.
Tabla 13.38.
Con el comando su solamente cambias tu identificacin
Con esta orden puedes cambiar el identificador de usua- ante el sistema, pero no el directorio de trabajo.
rio con el que no has conectado al sistema.
Esta orden solamente se puede utilizar con los grupos a
Supn que tienes un terminal conectado a un servidor los que pertenezca el usuario y que se definieron al crear
Unix/Linux. En primer lugar, llega el usuario contable el mismo.

13
391
13. Sistema operativo multiusuario Unix/Linux...
13.10 Impresin de archivos

13.10. Impresin de archivos


Todas las versiones de Unix/Linux contienen una serie La diferencia en cuanto a la impresin de archivos, con
de programas y utilidades para la impresin de archivos. respecto a DOS, radica en que, al disponer de un spool
de impresin, una vez lanzado el trabajo a imprimir, el
Estos programas se aglutinan en el denominado sistema usuario tiene de nuevo control sobre el sistema. El tra-
lp, que dispone de la mayora de las utilidades para lan- bajo pasa al spool, que es el que lo gestiona. Se pueden
zar trabajos de impresin, cancelarlos, controlar el spo- enviar varios trabajos seguidos, sin necesidad de espe-
ol de impresora, asignar prioridades de impresin, etc- rar a que finalice la impresin de cada uno de ellos. Bas-
tera. ta con esperar a que el spool los gestione.

Con el parmetro -m el spool de impresin lanza un aviso


Sintaxis Opciones al usuario cuando el trabajo se ha finalizado con xito.
Comando
$lp -m -d epson doc1
lp lp [-E] [-c] [-d destino] [-h servidor] [-m] [-EcdhimnoqstuHP]
[-n num-copias] [-o opcin] [-q prioridad] [-s]
Has de tener en cuenta que cuando envas un trabajo a
[-t ttulo] [-H manejo] [-P listadoDePginas] [archivos]
lp [-E] [-c] [-h servidor] [-i idDeTarea] [-n num-copias]
imprimir, el spool sabe quin enva el trabajo y qu ar-
[-o opcin] [-q prioridad] [-t ttulo] [-H manejo] chivo tiene que imprimir. Pero desde que envas el co-
[-P listadoDePginas] cancelar [-a] [-h servidor] mando hasta que el trabajo se imprime pueden transcurrir
[-u nombreDesuario] [id ] [destino] [destino] minutos e incluso horas.

Tabla 13.39. Si en este intervalo de tiempo el archivo que mandamos


a imprimir es modificado, lo que se imprimir ser el nue-
Esta orden es la que se utiliza para imprimir archivos. vo archivo, y no el que nosotros en principio lanzamos.

Es evidente que para poder utilizar la impresora, tienes Para ello existe el parmetro -c, que enva una copia del
que haber instalado previamente la misma y haber con- archivo al spool de impresin de tal forma que tarde lo
figurado el spool. Recuerda que el spool de impresoras que tarde en imprimirse el archivo, lo que se imprimir
se utiliza en la mayora de los sistemas multiusuario. ser lo que nosotros queramos, y aunque modifiquemos
posteriormente el archivo, las modificaciones no se im-
Por defecto, cuando imprimimos un archivo: $lp doc1, primirn.
Fig. 13.15. Imprimir en Unix.
el sistema no pregunta en qu impresora quieres impri-
mir. Si tienes ms de una conectada, el archivo se im- Esto tiene el inconveniente de cargar al sistema con ms
prime en la impresora por defecto. trabajo, usar mas espacio en disco, ms memoria, etc.
En definitiva, se pierde algo de rendimiento en el siste-
Lo que s se puede hacer es imprimir por otra que no sea ma, pero se gana en seguridad y fiabilidad.
la que tienes instalada por defecto. Para ello es necesa-
rio utilizar el parmetro -d seguido del nombre de la im- En entorno grfico bastar con seleccionar el
presora en la que quieres imprimir. archivo a imprimir, abrirlo, y una vez abierto selec-
cionar la opcin File, Print. Aparecer la siguiente
$lp -d epson doc1 pantalla y confirmars la impresin (vase la Figu-
ra 13.15).
De esta forma, el documento o archivo doc1 se imprime
Si haces clic en el botn Setup, podrs modificar las op-
por una impresora que no es la predeterminada, ya que
Fig. 13.16. Imprimir en Linux. ciones de impresin.
se imprime en la impresora que denominamos epson.
Si quieres imprimir por la impresora determinada, ser
Si, para un usuario concreto, quieres cambiar siempre la suficiente con pulsar el icono: .
impresora por defecto, ya que, por ejemplo, necesita im-
primir en color, puedes atacar al fichero .profile indi- En Linux, se hace de forma similar, y al selec-
cando cul ser la impresora predeterminada para ese cionar la opcin de Imprimir se abrir una ventana
usuario. Se incluir una orden similar a sta: parecida a las que se muestran en Windows (vase
la Figura 13.16).
LPDEST=epson export LPDEST
Para imprimir por la impresora predeterminada, pulsars
Ya vers ms adelante lo que significa esta lnea. el icono .

13
392
13. Sistema operativo multiusuario Unix/Linux...
Actividades

Actividades

1 Ejecuta una sesin TELNET para conectarse al sistema. g) Situado en el directorio programa, borra el directorio ejercici.
Utiliza para todo este punto la trayectoria absoluta.
2 Entra en el sistema con el nombre de usuario asignado por el ad- h) Sitate en el directorio home, y crea dos archivos: c.dat y
ministrador. c.bak.
i) En el directorio home, crea el fichero texto, cuyo contenido sea
3 Averigua qu usuarios estn identificados ante el sistema. la sintaxis del comando cp.
j) En el directorio programa, crea tres ficheros: texto.txt, tex-
4 Envia un mensaje a uno de los usuarios. to.bak y texto1.bas. El contenido de cada uno de ellos respec-
tivamente, ser el de la sintaxis de las rdenes cd, md y rd.
5 Conversa con el usuario al que se le ha enviado el mensaje anterior. k) Copia el contenido del directorio programa al directorio result,
situado en el directorio datos, los archivos cuyo nombre em-
6 Desactiva la opcin de recibir mensajes. Vuelve a activarla. pieza por tex y cuyos dos primeros caracteres de la extensin
sea ba.
l) Renombra en result el fichero texto1.bas por texto1.bak.
7 Enva un mensaje a todos los usuarios identificados ante el sistema.
m) Situado en el directorio home, cambia el nombre del directorio
datos por el de datos.dat.
8 Cambia la clave de acceso al sistema del usuario con el que nos
n) Sitate en el directorio home. Renombra el fichero texto.txt del
hemos conectado.
directorio programa como texto.bas. Realiza esta operacin con
la orden correspondiente y, posteriormente, copia en el mismo
9 Comprueba que el cambio es correcto. directorio el fichero texto.bas con el nombre texto.nue, utili-
zando para ello el redireccionamiento y no la orden cp.
10 Identifica el sistema en el que estamos trabajando. o) Cambia en el directorio result la extensin de todos los archi-
vos por la extensin dat.
11 Realiza las siguientes cuestiones: p) Visualiza por pantalla el contenido del fichero texto.dat del di-
a) Sitate en tu directorio personal de trabajo (home). rectorio result, pero paginado.
b) Crea la siguiente estructura de directorios. q) Mueve el fichero texto.dat del directorio result al directorio da-
tos.dat con el nombre texto1.dat.
r) Borra todos los archivos del directorio programa cuya primera
letra de la extensin sea b.
s) Crea en result tres ficheros: fich1, fich2 y fich3. El contenido
de estos ficheros puede ser cualquier cosa.
t) Borra desde el directorio programa todo el directorio result.

12 Muestra por pantalla las ltimas dos lneas de este fichero.

13 Ordena el fichero por marcas y visualzalo.

14 Ordena el fichero por modelos y visualzalo.

15 Busca en el fichero anterior aquellas lneas en el que el color sea


c) Crea los directorios princip, datos, c y result desde el directo- BLANCO.
rio home.
d) Cambia al directorio princip. 17 Asigna a este fichero todos los privilegios posibles. Utiliza la sin-
e) Utilizando la trayectoria absoluta, crea los directorios progra- taxis numrica.
ma y ejercici. Sigues situado en princip.
f) Sitate en el directorio ejercici utilizando la trayectoria relati- 18 Elimina todos los privilegios de grupo y resto de usuarios.
va y crea los dems directorios; examina la estructura de di-
rectorios. 19 Asigna todos los privilegios con la sintaxis no numrica.

13
393

You might also like