Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Linux Comandos 1
Linux Comandos 1
Linux Comandos 1
Quinto Crculo
LINUX
DISTRIBUCIN UBUNTU
Comandos I
Quinto Crculo
(Grupo de estudios e investigacin)
Angelzero
Linux Comandos I
Quinto Crculo
________________________________________________________
El triunfo no esta en vencer siempre; sino, en nunca desanimase
Napolen
________________________________________________________
Angelzero
Linux Comandos I
Quinto Crculo
INTRODUCCION
A travs de este documento se tratar de explicar las caractersticas, importancia, y
desarrollo de LINUX en la distribucin UBUNTU; sin embargo en prximas ediciones
se tocara otras distros como Deban, Fedora, UNIX, etc.
Citando un ejemplo:
Pepe dice: sabes cual es el comando para editar la lista de repositorios?
Jos dice: Ah si es gedit /etc/apt/sources.list
Pepe dice: y porque?
Jos dice: ah pues no se, tu solo copia y punto.
Este es un ejemplo tpico que sucede con la mayora de estudiantes, la idea de estudiar
no es memorizar, y aceptar las cosas sin saber porque; es estudiar, comprender,
analizar y saber porque sucede.
Angelzero
Linux Comandos I
Quinto Crculo
LINUX
Distribucin Ubuntu
Objetivos:
Conocer los conceptos bsicos de Linux.
Conocer la estructura bsica de Linux.
Crear usuarios, grupos y permisos.
Incentivar la investigacin en seguridad informtica en Linux.
SOFTWARE LIBRE
En 1984, surge el Movimiento de Software Libre con el proyecto GNU, liderado por
Richard Stallman que inicialmente trabajaba en el MIT, para desarrollar un completo
sistema operativo tipo UNIX, bajo la filosofa del software libre.
Software Libre' se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir,
estudiar, cambiar y mejorar el software.
El Software Libre'' es un asunto de LIBERTAD, que va mas all, del solo aspecto del
precio.
El proyecto GNU en su propsito de crear un sistema operativo, creo herramientas
como editores, compiladores, shell, depuradores, con licencias Libre GPL.
Al sistema operativo de GNU solo le faltaba el ncleo, pues el ncleo de GNU
denominado Hurd, busca tener muchas funcionalidades avanzadas. Resultando
complejo lento su desarrollo, depuracin y sobre el cual se sigue trabajando.
Afortunadamente, est disponible otro ncleo.
LINUX
En 1991, Linus Torvalds desarroll un ncleo compatible con Unix y lo denomin
Linux. Cerca de 1992, al combinar Linux con el sistema no tan completo de GNU,
result en un sistema operativo libre completo. (La combinacin en s misma di un
considerable trabajo.) Es gracias a Linux que podemos ver funcionar un sistema GNU
en la actualidad.
Denominamos a esta versin GNU/Linux, para expresar su composicin como
combinacin de un sistema GNU con Linux como ncleo.
Angelzero
Linux Comandos I
Quinto Crculo
Sistema de ficheros
Angelzero
Quinto Crculo
Linux Comandos I
Angelzero
Quinto Crculo
Linux Comandos I
/tmp, es un directorio temporal usado generalmente por las aplicaciones para
almacenar algunos ficheros en tiempo de ejecucin.
/media Cuando montamos un CDRom, una memoria usb o un disquete se crea aqu
automticamente un subdirectorio
/media/cdrom0 para la primera unidad de cdrom
/media/usbdisk para la memoria usb
/media/floppy para el disquete
Angelzero
Quinto Crculo
Linux Comandos I
Reiniciar el Sistema
Para reiniciar el sistema usaremos los siguientes comandos:
# reboot
# shutdown - r now
# shutdown - r - t time 5 (Se reinicia en 5 minuto)
# init 6
date : Este comandos nos permite saber la hora y el dia, tomando como referencia el
reloj del sistema.
FECHA
# date
sb oct 21 05:53:19 PET 2006
CALENDARIO
cal : Comando que nos muestra el calendario.
# cal
Octubre 2006
do lu ma mi ju vi s
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Variantes
# cal 2006 (nos permitir ver el calendario de todos los meses del ao 2006)
# cal 10 1982 (nos permitir ver el calendario del mes de Octubre de 1982) October
1982
who
El comando who muestra los usuarios conectados al sistema ya sea local o
remotamente.
Angelzero
Quinto Crculo
Linux Comandos I
# who
last
El comando last nos permite ver la informacin de los usuarios que han usado el host.
La informacin que proporciona este comando es, el nombre del usuario, mediante que
servicio ingreso, el ip del host desde donde ingreso (si lo hizo desde otra PC), la fecha
de ingreso y la hora de inicio y fin del acceso al host. La forma de usarlo es de la
siguiente manera:
# last usuario
Un ejemplo seria:
# last root
clear : Borra todo el contenido de la pantalla.
# clear
tambien teclear : Ctrl + L
history: Historial. Comando que permite ver en lista todos los comandos que hemos
utilizado hasta el momento.
# history
Variante:
# history 5 (muestra los 5 ltimos comandos)
# !n
whatis
Comando que informa sobre la funcin o funciones que realiza el comando que se le
pasa como parmetro.
Funciona de la siguiente manera
# whatis comando
Ejemplo de uso:
# whatis mkdir
#whatis nmap
# mc
Angelzero
Linux Comandos I
Quinto Crculo
#ls
Opciones
# ls -l
Permite ver los archivos y directorios en lista, informndonos sobre sus permisos,
dueos de los archivos, tamao, fecha y hora de creacin y su nombre respectivo.
# ls - a
Permite ver los archivos y carpetas ocultas que contiene el directorio actual.
# ls -lh
# ls -la
#lspci --------------- Ver dispositivos conectados a la placa madre mediante un bus PCI.
#lsusb --------------- Ver los buses USB y los dispositivos conectados a los mismos.
#lsmod -------------- Ver los modulos del kernel
CAMBIO DE DIRECTORIO
cd : Comando que nos permite movernos a travs del rbol de directorios.
# cd
Escribiendo solo cd y luego dndole enter, esto nos ubicara en el directorio del
usuario con el cual estoy logeado.
Opciones
# cd /
# cd ..
# cd ../directorio2
# cd directorio
Angelzero
10
Linux Comandos I
Quinto Crculo
# cd -
pwd
El comando pwd indica el camino absoluto del directorio en el cual nos encontramos
actualmente.
Este comando se usa de la siguiente manera:
# pwd
Un ejemplo seria:
# cd
/usr/src/
movernos a la carpeta
/usr/src/
Angelzero
11
Quinto Crculo
Linux Comandos I
En Linux existe una forma muy sencilla de crear directorios. Para ello, simplemente has
de escribir:
# mkdir directorio
Observacin: Un punto importante es recordar te que Linux es sensible a las
maysculas y no es lo mismo escribir 'mkdir directorio' que 'mkdir DIRECTORIO'.
Estos son directorios diferentes, y, por tanto, para acceder a ellos habrs de escribirlo tal
y como los llamaste.
Algunas veces nos vamos a encontrar con la tarea de crear un directorio y luego dentro
de este otro y dentro del siguiente talvez otro. Una posibilidad seria crear un directorio,
luego acceder a este y luego estando dentro de este crear el otro directorio y as
sucesivamente; pero esto no es necesario ya que tenemos la posibilidad de crear toda
una rama de directorios con el comando mkdir - p; esto seria de la siguiente manera:
# mkdir - p /home/ciencias/practicas/laboratorio/2004/ programacin
# rm archivo
Borra un archivo.
# rm archivo1 archivo2 archivon Borrar varios archivos a la vez.
# rm *
Borrar todos los archivos que se encuentran en la
carpeta desde donde es ejecutado el comandos. (CUIDADO...!)
# rm carpeta/*
Borra todos los archivos que se encuentran en carpeta, si
encuentra directorios dentro de esta, no los puede borrar.
Angelzero
12
Linux Comandos I
Quinto Crculo
COPIAR ARCHIVO O DIRECTORIO
cp
Copiar archivos y/o directorios.
Con este comando puedo copiar un archivo en una ruta especfica.
# cp archivo /ruta/directorio
# cp arch1 arch2 arch3
# cp archivo1
nombre
Copiar archivo en
/ruta
/ruta/directorio/.
archivocopia
# cp *
/ruta/directorio
Copiar todo el contenido de la carpeta
donde nos encontramos al momento de ejecutar el comando en
/ruta/directorio
/ruta
MOVER, RENOMBRAR
mv Comando con el cual puedo borra archivos y/o directorios, tambin permite
renombrarlos.
# mv archivo
/ruta
/ruta/
# mv * /ruta
mover todos los archivos y carpetas que se encuentran en la
carpeta actual en el directorio /ruta
# mv
archivo
arch_renombrado .
# mv directorio
nuevo_directorio
arch _renombrado
nuevo _directorio
Angelzero
13
Quinto Crculo
Linux Comandos I
Comando que permite conocer el tamao de un directorio y su respectiva jerarqua de
directorios
# du -h
Visualiza los tamaos de los directorios en forma representativa (M para
Megabytes y K para kilobytes)
# du -h directorio
directorio .
# du -ah
contiene la carpeta actual.
# du -ah directorio
encuentre en directorio
# du -sh
# du -sh directorio
fdisk
En Linux el particionador estndar es el fdisk. Este posee una interfaz texto que permite
crear, modificar y borrar particiones de diversos tipos (Linux, FAT12/16 / 3 2, NTFS,
minix, Linux Swap, HPFS, Novell, etc). Funciona en modo interactivo y para ejecutarlo
se le pasa como argumento el disco duro a particionar a travs del dispositivo
correspondiente.
# fdisk - l
listar particiones
Disk /dev /h d a: 255 heads, 63 sectors, 9729 cylinders
Angelzero
14
Quinto Crculo
Linux Comandos I
tamao, el espacio empleado, que por cierto significa este, as como el directorio donde
se ha montado.
# df - h
Ver particiones montadas actualmente en Mb y Gb.
Filesystem Size Used Avail Use% Mounted on
/dev /h d a11 3.9G 2.0G 1.7G 53% /
/dev /h d a8 9.2G 7.5G 1.2G 86% /home
/dev /h d a7 17G 17G 410M 98% /win
# df -Th Ver particiones montadas con su respectivo formato de
archivos
Filesystem Type Size Used Avail Use% Mounted on
/dev /h d a11 ext3 3.9G 2.0G 1.7G 53% /
/dev /h d a8 ext3 9.2G 7.5G 1.2G 86% /home
/dev /h d a7 vfat 17G 17G 410M 98% /win
ENLACE SIMBOLICO
ln : Este comando sirve para establecer enlaces entre archivos. Un enlace puede ser
rgido o simblico, el primer tipo es simplemente una forma de dar otro nombre a un
archivo. El segundo tipo es parecido al primero, pero se pueden enlazar directorios, y
adems de diferentes sistemas de archivos.
# ln -s
/ruta1 /archivo
/ruta2/enlace
/home/claves
# ln - sf /etc/shadow /home/clave_encriptada
si existiera igual enlace destino.
Angelzero
15
Linux Comandos I
Quinto Crculo
MONTAJE
# mount /dev /fd0
/floppy
montar disquete
/dev/hda1
/mnt/windows
DESMONTAJE
Obs: Antes de retirar un dispositivo montado hay que desmontarlo.
# umount
/floppy
desmontar disquete
# umount
/cdrom
# umount
/mnt /windows
#umount
/mnt/usb
# umount - a
EDITAR EL GRUB
$sudo vi /boot/grub/menu.lst
CONFIGURAR EL TECLADO
#dpkg-reconfigure console-data
$sudo vi /etc/X11/xorg.conf
CONFIGURAR LA TARJETA DE VIDEO (RESOLUCION)
#dpkg-reconfigure xserver-xorg
$sudo vi /etc/X11/xorg.conf
CONFIGURAR LA RED
Angelzero
16
Quinto Crculo
Linux Comandos I
#vi /etc/network/interfaces
CONFIGURAR DNS
#vi /etc/resolv.conf
Debemos saber de qu manera nombra Linux a los discos duros que tenemos
conectados a nuestra mquina y sobre todo a sus particiones. Todos los discos duros
(IDE) comienzan su nombre como hd.
Un ejemplo de nombre completo de disco duro sera hda y de la primera particin de ese
disco duro sera hda1.
La a significa que ese disco duro est conectado al IDE1 como maestro. Si fuera
esclavo tendra la b, y si estuviera conectado al IDE2 como maestro, la c, y si
estuviera al IDE2 como esclavo, la d.
Si en caso tuvisemos un disco duro SATA se representara con la letra s como sda.
El nmero 1 indica que es la primera particin (primaria y no lgica) del disco duro en
cuestin. La segunda geomtricamente hablando (primaria) sera la 2 y as
sucesivamente. La primera particin lgica de un disco duro se nombra con el nmero
5, independientemente de si pertenece a la primaria 1, 2, 3 4. La segunda se nombrara
con un 6 y as sucesivamente.
Con saber lo que significa hda1 o hdd2 o hdc5 es suficiente de momento
ADMINISTRACION DE USUARIOS, GRUPOS Y PERMISOS
Introduccin
GNU/Linux es un sistema operativo con muchas caractersticas y una de estas es el estar
diseado para ser utilizado por mltiples usuarios. An cuando se tenga una PC con un
nico usuario, es importante recordar que no es conveniente realizar el trabajo diario
desde la cuenta de root, misma que solo debe utilizarse para la administracin del
sistema.
Una cuenta de usuario contiene las restricciones necesarias para impedir que se
ejecuten mandatos que puedan daar el sistema -programas troyanos como el Bliss-, se
alteren accidentalmente la configuracin del sistema, los servicios que trabajan en el
trasfondo, los permisos y ubicacin de los archivos y directorios de sistema, etc.
Usuarios
Linux es un sistema multiusuario por lo que es necesario la administracin (segura) de
los distintos usuarios que van a hacer uso de los recursos del sistema.
Dentro de un sistema existen al menos 3 tipos de usuarios.
Angelzero
17
Quinto Crculo
Linux Comandos I
Usuarios normales con ms o menos privilegios que harn uso de los recursos
del sistema. Son generalmente inexpertos y propensos a causar problemas.
Simplemente deben poder usar algunos programas y disponer de un directorio de
trabajo.
Usuarios de Sistema son aquellos encargados de los demonios del sistema,
recordemos que para Linux todo es un fichero, el cual tiene un dueo y ese
dueo tiene privilegios sobre l. As, es necesario que algn usuario del sistema
posea los procesos de los demonios.
ROOT Este es dios. l lo puede todo, en principio no hay restricciones para L
(aunque algunos programas nos avisarn de que estamos haciendo una autntica
burrada desde el punto de vista de la seguridad).
Administracin de Usuarios
La administracin de usuarios se realiza en todas las distribuciones de manera muy
parecida, dada
La herencia UNIX, aunque en el fondo todas hacen lo mismo. Segn la poltica que
lleven lo pueden realizar de una manera u otra.
$sudo vi /etc/passwd - Archivo que mantiene la base de datos de los usuarios del
sistema y tiene la siguiente forma:
nombre_de_usuario:password:UID:GID:comentario:home_del_usuario:shell
Estos campos son:
o
o
o
o
o
o
o
Angelzero
18
Quinto Crculo
o
o
o
o
Linux Comandos I
Nombre del Grupo - Por defecto con los comandos habituales se crea un grupo
con el mismo nombre que el usuario creado, aunque pueden existir otros grupos con
nombres especficos.
password - Se usa para dar a una serie de individuos un mismo directorio con una
cuenta comn.
GID - (Group ID) Nmero de Identificacin en el Sistema del grupo.
lista de usuarios que pertenecen al grupo, separados por comas.
$sudo vi /etc/shadow - Para sistemas que usen shadow, que no es ms que una
medida de seguridad. Los sistemas que no usan shadow guardan el password en
/etc/passwd pero este archivo tiene la peculiaridad de que debe ser legible por todo
el mundo, si no, no podra ni hacerse un ls. Este archivo podra caer en manos de un
usario ilegtimo y este ejercer tcnicas de crackeo sobre las claves. Como solucin
del problema lo que se hace es almacenar todos los datos de los usuarios en el
/etc/password menos sus contraseas; que se almacenan en /etc/shadow, el cual s
tiene restringidos los permisos y no es accesible por los usuarios normales.
usuario:password:das del ltimo cambio: dias antes del cambio:Dias
despues del cambio: tiempo de aviso:dias antes de la inhabilitacion: perido
que lleva caducado:reservado:
o
o
o
o
o
o
o
o
o
Por razones de seguridad son vipw para el archivo /etc/passwd y vigr para editar /etc/group;
Ejemplo:
$sudo vipw
Y nos mostrara /etc/passwd
Angelzero
19
Quinto Crculo
Linux Comandos I
2.- Antes de nada, el comando su se explica al final de este captulo. Ya estamos
editando el fichero /etc/passwd, ah estarn las lineas de otros usuarios que ya estn
creados. Esto que sigue es un ejemplo.
Bueno lo peor ser calcular la fecha de creacin pero sino randomized() :-). Notad que
en el campo password le hemos puesto ! porque ahora le daremos un password con
passwd.
7.- Copiamos los archivos de inicio desde /etc/skel , que contiene principalmente
archivos de configuracin por defecto.
Angelzero
20
Quinto Crculo
Linux Comandos I
8.- Y por ltimo, hay que hacer que tome posesin de lo que es suyo:
Tambin, en vez de usar su, podemos hacer login en el shell directamente con el nuevo
usuario creado para comprobar que lo hemos hecho correctamente.
Esto es lo que hace cualquier Linux para crear una cuenta. La forma de borrar un
usuario es igual de fcil, borrndolo en /etc/passwd, /etc/group y en /etc/shadow.
Cualquier rastro del usuario debera tambin ser eliminado, adems de que sera
bastante recomendable (si no necesario) hacer una busqueda de los archivos que el
usuario mantiene. Esta bsqueda podra ser:
De esta manera los podemos guardar, revisar y hacer lo conveniente con los archivos.
Ms sobre find en secciones posteriores.
A continuacin veremos los comandos que hacen esto mismo y alguna diferencia entre
las distintas distribuciones.
Comandos de Administracin
Estos comandos nos permitirn crear, borrar y modificar las cuentas de usuarios en el
sistema.
adduser y useradd son dos comandos que hacen prcticamente lo mismo. Nota que el
estndar es useradd, adduser puede, en algunas distribuciones ser un simple enlace a
useradd, o simplemente no existir. El comportamiento por defecto de useradd es muy
subjetivo dependiendo de la distribucin de Linux que estemos usando. As, mientras
que en algunas distribuciones har casi todos los pasos anteriores por nosotros, en otras
slo aadir el usuario a /etc/password y /etc/shadow, teniendo que realizar
nosotros los pasos restantes. Aun as, las opciones que recibe useradd responden igual
en todas las distros. Como ya hemos hecho con algn otro comando, puedes ver las
opciones de useradd mediante man useradd, moverte con las teclas de direccin y
volver al shell pulsando la tecla Q.
Las opciones ms comunes para useradd son:
Angelzero
21
Quinto Crculo
Linux Comandos I
Angelzero
22
Quinto Crculo
Linux Comandos I
Grupos
En la administracin de grupos no vamos a gastar muchas energas ya que no es, en un
nivel bsico, algo excesivamente complejo.
Los grupos es una manera en los sistemas multiusuario como Linux de otorgar una serie
de privilegios a un conjunto de usuarios sin tener que drselo de forma indivial a cada
uno.
El fichero encargado de mantener los grupos del sistema es /etc/group y tambin
hemos visto su estructura. Por lo que veremos los comandos que aaden, quitan y
modifican los grupos; as como notas generales en la gestin de grupos.
Hemos dicho que todo usuario tiene siempre un grupo principal al que pertenece. Hay
dos posibilidades para los usuarios normales: que todos tengan el mismo grupo
principal (generalmente users) o que cada usuario tenga un grupo principal especfico
(casi siempre del mismo nombre que el usuario). Esto responde a las necesidades de
cada sistema. En el primer caso, los directorios de trabajo de los usuarios suelen ser
accesibles por el resto de usuarios (no es lo ms comn); mientras que en el caso de que
cada usuario tenga un grupo principal, lo normal es que los directorios de trabajo de
cada usuario sean slo accesibles por ese usuario (que s es lo ms comn).
La utilidad del grupo principal de un usuario se entender mejor cuando lleguemos a los
permisos.
Adems, en el sistema hay ms grupos que los principales de cada usuario. La misin de
estos otros grupos es la de otorgar unos permisos similares al conjunto de usuarios que
forman parte de l ante un directorio, un archivo, un dispositivo, etc.
Es muy comn la necesidad de dar a unos cuantos usuarios permisos para que puedan,
por ejemplo, leer los documentos de un directorio determinado (por ejemplo, informes
de una empresa), al tiempo que al resto de usuarios no. As, podramos crear un grupo
llamado contables, y agregar los usuarios que son contables a este grupo. Despus,
haramos pertenecer (como veremos en Permisos) el directorio mencionado a este
grupo, y le daramos permisos de lectura para el grupo.
Adems de para compartir archivos o directorios entre varios usuarios, existen grupos
como audio, cdrom, y similares. Dispositivos como la tarjeta de sonido, el grabador de
CDs, etc. tienen como usuario "dueo" a root, y como grupo "dueo" a uno de estos
grupos. As, para cada usuario que queramos que pueda usar la tarjeta de sonido,
debemos aadirlo al grupo audio.
Administracin de grupos
Ya hemos aprendido cmo establecer el grupo principal de un usuario, y cmo hacer a
la hora de su creacin que pertenezca a otros grupos adicionales; as como el fichero
/etc/group. As que ya no queda mucho en este aspecto.
Angelzero
23
Quinto Crculo
Linux Comandos I
Para aadir un usuario a un grupo de forma manual, todo lo que hay que hacer es editar
/etc/group y aadir al usuario a la lista del ltimo campo. Si ya hay usuarios, stos se
separan con comas.
Si lo que queremos es crear un nuevo grupo de forma manual, la cosa es igual de
sencilla. Al igual que ya hicimos agregando el usuario prueba de forma manual,
aadiremos otra entrada a este fichero con el nombre del grupo, la x en el password, un
GID que no est siendo usado y la lista de usuarios detrs.
Tambin tenemos comandos que hacen esto mismo: groupadd , groupdel y groupmod.
groupadd sirve para crear un nuevo grupo:
Permisos y dueos
Todos y cada uno de los elementos del sistema / de Linux tienen dueo, ya sean
ficheros, directorios, o enlaces a dispositivos. Por un lado, tienen un usuario dueo, y
por otro, un grupo dueo. El usuario y el grupo que son dueos de un elemento no
tienen por qu guardar una relacin del tipo que el usuario debera estar dentro del
grupo o cosas por el estilo. Son totalmente independientes. As, puede existir un fichero
que tenga como usuario propietario a username, un usuario normal, y tener como grupo
propietario al grupo root.
Cuando se trabaja en el sistema, los programas "hacen dueos" de los ficheros creados
durante la sesin al usuario de esta sesin y a su grupo principal por defecto; aunque
esto puede cambiarse. Es lgico, que los ficheros que estn bajo el directorio de trabajo
de un usuario le pertenezcan.
Siempre que tratemos con permisos y con dueos de elementos, debemos tener siempre
presente el hecho de que el sistema de ficheros de Linux es jerrquico; esto implica que
los cambios que hagamos, por ejemplo, en un directorio, pueden influir en el resto de
elementos que estn contenidos en un nivel inferior a ste (los archivos que contiene,
Angelzero
24
Quinto Crculo
Linux Comandos I
los directorios que contiene, lo que contienen esos otros directorios, y as
sucesivamente).
Con un simple ls -l en cualquier parte del sistema, podemos ver en la forma usuario
grupo los dueos de cada elemento que sale en el listado largo. Entonces ya sabemos
cmo comprobar esto.
El comando chown (CHange OWNer - cambiar propietario) permite cambiar el
propietario de los elementos del sistema de archivos. Pero es lgico que si somos un
usuario normal no podremos cambiar de propietario los elementos que pertenecen a root
o a otros usuarios. En cambio, como root podremos cambiar el propietario de cualquier
cosa. Aqu describimos las opciones ms usadas de este comando, pero puedes ir
mirando su pgina del manual del sistema.
Elemento(s) puede ser una lista de archivos y directorios, o simplemente uno de ellos.
Podemos usar los wildcards conocidos (como por ejemplo el asterisco: * para indicar
varios archivos con una sola expresin. La importante opcin -R permite cambiar
dueos de directorios y de todo lo que tengan debajo, es decir, recursivamente:
Este comando cambiar el usuario y grupo dueos tanto de directorio/ como de todo lo
que contenga hasta cualquier nivel, es decir, todo lo que est "debajo" de directorio, y el
directorio mismo cambiarn de dueo.
Y para qu todo esto de los dueos de archivos y directorios? Para poder asignar
permisos adecuadamente.
Un archivo tiene distintos niveles de permisos: lectura, escritura y ejecucin. Los
permisos sobre un archivo (o directorio) pueden ser distintos para el usuario dueo, para
los usuarios pertenecientes al grupo dueo, y por ltimo para el resto de los usuarios del
sistema. As, podemos hacer que el usuario dueo puede leer, escribir, y ejecutar un
fichero; que el grupo dueo solo pueda leerlo, y que el resto de usuarios del sistema no
tengan ningn permiso sobre l, por ejemplo.
Angelzero
25
Quinto Crculo
Linux Comandos I
Una buena asignacin de dueos de elementos junto con una poltica adecuada de
permisos sobre estos elementos, permiten obtener dos cosas: un sistema multiusuario, y
un sistema seguro.
Si haces un ls -l en un directorio que tenga algunas cosas vers algo como:
Fjate en el campo de ms a la izquierda del listado. Podemos ver como cuatro grupos.
El primero es de un caracter solamente. Este caracter es una d si el elemento listado es
un directorio, una l si el elemento es un enlace, y un guin - si el elemento es un
archivo normal.
A continuacin hay tres grupos. Cada uno de estos grupos tiene tres letras, pudiendo ser
estas rwx o pudiendo ser sustituidas en algn caso por un guin. El primero de estos
grupos indica los permisos que tiene sobre el elemento listado su usuario dueo; el
segundo grupo indica los permisos que tienen sobre el elemento los usuarios que
pertenezcan al grupo dueo, y el tercer grupo indica los permisos que tienen sobre el
elemento el resto de usuarios del sistema.
En el caso de un archivo o un enlace (sobre los que hablaremos posteriormente), la r en
cualquiera de estos "grupos" indica que se tienen permisos de lectura sobre el elemento.
La w indica que se tienen permisos de escritura sobre el elemento, y la x indica que se
tienen permisos de ejecucin sobre el elemento. Un guin sustituyendo a cualquiera de
estas letras indica que no se tiene el permiso al que est sustituyendo. As, veamos algn
ejemplo del listado anterior:
Angelzero
26
Quinto Crculo
Linux Comandos I
Lo ms comn es que los directorios que deban poder ser "examinados" por todos los
usuarios tengan permisos r-x en el tercer grupo de permisos. Pero con estos permisos
no podrn colocar nada dentro de ese directorio, aunque s podrn hacerlo dentro de un
directorio de nivel inferior en el que s tengan permisos de escritura. Ten en cuenta que
si tenemos por ejemplo un directorio llamado superior/ y dentro de ste tenemos un
directorio llamado personal/, y que un usuario tienen permisos de escritura en este
segundo directorio, que es de nivel inferior, para poder acceder a l y escribir, debe este
usuario poseer, como mnimo, permisos r-x en el de nivel superior, esto es, en
superior/. Por otra parte, esto es absolutamente lgico: cmo va a poder escribir un
usuario en un directorio si no puede llegar hasta l? Esto mismo tambin se aplica para
la lectura. Por ejemplo, el servidor web no podr servir un directorio a la Internet si no
dispone de permisos r-x para los directorios superiores a l.
Para cambiar los permisos de los elementos del sistema de ficheros, usamos el comando
chmod.
El 4 en binario es 100, por tanto, los permisos que otorga son r--, esto es, slo
lectura.
El 5 en binario es 101, por tanto, los permisos que otorga son r-x, lectura y
ejecucin.
El 6 en binario es 110, por tanto, los permisos que otorga son rw-, lectura y
escritura.
El 7 en binario es 111, por tanto, los permisos que otorga son rwx, lectura,
escritura y ejecucin.
Los permisos de ejecucin slo se otorgarn a programas o scripts (con los que
trataremos despus); ya que hacerlo a los archivos normales carece por completo de
sentido. As, un comando de ejemplo podra ser:
Angelzero
27
Quinto Crculo
Linux Comandos I
podras darle esos permisos mediante el nmero 7. Con la opcin -R puedes hacer que
los permisos se asignen de modo recursivo a un directorio y a todo lo que hay debajo de
l.
Un modo muy comn para los directorios que deban ser accesibles por todo el mundo es
755, de forma que el usuario dueo pueda adems escribir. Los directorios
/home/usuario suelen tener permisos 750 para que el resto de usuarios no puedan
acceder al directorio de trabajo de un usuario.
Aviso
Una mala asignacin de permisos puede dar lugar a ataques locales, si dejamos a
algunos usuarios permisos para modificar partes importantes del sistema de ficheros.
Ten cuidado cuando cambies permisos, sobre todo si eres root.
Un modo muy comn de aadir permisos de ejecucin a un archivo (generalmente un
script) para todos los usuarios del sistema, sin tener que estar recordando qu nmeros
otorgan permisos de ejecucin, es usar la opcin +x de chmod, por ejemplo:
Esta forma de asignar permisos es extensible, y segn los casos, ms sencilla que la de
los nmeros. En general es as:
El primer comando otorga permisos de escritura sobre fichero a los usuarios del grupo
al que el fichero pertenece.
El segundo comando elimina los permisos de lectura sobre fichero a todo el mundo.
El tercer comando da al usuario dueo de fichero permisos de ejecucin.
Angelzero
28
Quinto Crculo
Linux Comandos I
El comando su
El comando su (Set User) est relacionado con el login en el sistema y con los
permisos. El uso principal de este comando es que un usuario normal adquiera los
permisos de otro usuario del sistema (incluido root) siempre y cuando sepa su password.
Es muy comn que, si somos nosotros el "dueo" de la contrasea de root, y por tanto la
persona encargada de la administracin del sistema, trabajemos normalmente como
usuario normal por motivos de seguridad. Pero podemos necesitar convertirnos en root
para alguna tarea especfica: reiniciar el servidor web, modificar la configuracin del
sistema... para despus volver a "ser" nuestro usuario normal.
su llamado "a secas" como en el ejemplo anterior asume que el usuario actual quiere
tengamos su password:
Angelzero
29
Quinto Crculo
Linux Comandos I
La diferencia entre su usuario y su - usuario es, que mientras que con el primer
comando simplemente adquirimos los permisos de usuario, con el segundo comando es
como si estuvisemos haciendo login desde el principio con usuario, as, todas las
variables de entorno y dems sern cargadas igual que si hubisemos hecho login
realmente. Esto tambin se aplica para root (su -). La shell que se arranca mediante la
segunda forma se llama shell de login, y como puedes comprobar, no se puede
suspender como hicimos anteriormente. Salimos de ellas tambin con exit.
El usuario root puede usar su o bien su - sin necesidad de introducir ningn password
para adquirir en un shell los permisos de cualquier usuario del sistema.
sudo
sudo (SUperuser DO) es una herramieta que permite otorgar a un usuario o grupos de
usuarios normales, permisos para ejecutar algunos comandos como root (o como otros
usuarios) sin necesidad de conocer su password. Es posible que no est instalado en tu
distribucin de Linux y tengas que instalarlo t. En captulos posteriores tienes
informacin sobre cmo instalar software adicional en el sistema.
El fundamento de sudo reside en su fichero de configuracin, el fichero /etc/sudoers.
Este fichero tiene, en los casos ms sencillos, dos partes: una parte de alias y otra parte
de reglas. La parte de alias, lo que hace es "agrupar" de alguna manera listas de usuarios
y listas de aplicaciones (incluso listas de mquinas de una red, pero esto es ms
especfico y no lo explicaremos aqu). La parte de reglas define qu grupos de usuarios
pueden usar qu grupos de programas con permisos distintos de los suyos y en qu
condiciones pueden hacerlo. Un fichero sencillo que nos podra servir podra ser como:
Angelzero
30
Quinto Crculo
Linux Comandos I
Esto con respecto al fichero /etc/sudoers. En la parte de alias, Cmnd_Alias indica una
lista de comandos (programas) que sern luego referidos mediante el nombre que le
demos (asginar alias aqu tiene similitud con asignar variables de entorno en el shell).
User_Alias agrupa a una lista de usuarios bajo un mismo nombre (en nuestro caso
USERSGRAB).
En cuanto a la parte de reglas, primero se especifican los usuarios (puede ser un alias
definido anteriormente como en el primer caso, o bien puede ser un grupo de usuarios
del sistema, precediendo su nombre por %), el ALL que sigue hace referencia a en qu
mquinas podrn hacer esto, y el NOPASSWD: indica que lo harn con permisos de root y
sin necesidad de teclear su password. Despus viene el alias con los comandos que
podrn ejecutar en las condiciones que hemos dado.
Recuerda que el fichero /etc/sudoers se edita con el comando visudo, por razones de
seguridad, y como root. sudo no altera la estructura de permisos del sistema de ficheros
de Linux, es decir, por muchos cambios que hagamos en el fichero de configuracin de
sudo, los permisos de los programas seguirn siendo los mismos. La diferencia est en
que estos "permisos especiales" que estamos otorgando a algunos usuarios se aplican
cuando el programa que se quiere ejecutar se llama mediante sudo; as, un usuario que
quiera ejectar el programa cdrdao con estos permisos especiales deber hacerlo as:
Esto es lo ms bsico que necesitas saber sobre sudo para ejecutar algunos comandos
cmodamente como usuario normal al tiempo que mantienes la seguridad del sistema.
sudo es una herramienta que permite configuraciones mucho ms complejas que las que
hemos visto aqu; siempre puedes leer sus pginas del manual del sistema (man sudo y
man sudoers).
PROCESOS EN EL SISTEMA
Proceso es un programa en ejecucin.
Proceso padre ==> init
PID=1
Angelzero
31
Quinto Crculo
#kill -9 PID
Linux Comandos I
Ejemplo
#kill -9 200
#killall nombre_proceso
#killall xmms
#pstree
#pstree -au (Muestra una jerarquizacin en forma de rbol de los procesos presentes
en el sistema)
# fg
Angelzero
32
Quinto Crculo
Linux Comandos I
Angelzero
33
Quinto Crculo
Linux Comandos I
servidor grfico XWindow y un entorno de ventanas, y en el otro los distintos demonios
servidores: servidor web, servidor DNS...
Cada uno de estos runlevels tendra un nmero distinto. Si durante una poca
determinada la mquina slo va a funcionar como servidor, la configuraramos para usar
el runlevel correspondiente, que slo cargara al inicio los demonios de los servidores, y
no cargara el servidor grfico de ventanas XWindow puesto que no lo necesita. Si
durante otra poca va a funcionar como PC de escritorio, la configuraramos para usar el
otro runlevel y nos evitaramos tener que estar deteniendo los demonios que no
necesitamos.
El runlevel 0 es para apagar la mquina, y el runlevel 6 es para reiniciarla. Es obvio que
no debemos poner el nmero de runlevel por defecto a ninguno de estos dos; de hacerlo,
el sistema no llegara a arrancar. Otros runlevels tpicos son el 3 y el 5 (generalmente
significan arrancar el sistema en modo multiusuario; a veces pueden ser equivalentes, o
el 5 arrancar el servidor grfico X y el 3 no hacerlo -- el equivalente en Debian suele ser
el 2). El nivel 1 queda reservado para el modo monousuario que nos servir para
administrar la mquina; normalmente este modo no tendr red y pedir la password de
root antes de permitir ejecutar ningn comando.
En /etc/init.d residen unos scripts, uno por cada servicio, que aceptan siempre un
primer argumento, que puede ser "start" o "stop" (arrancar o detener el servicio). En
cada runlevel podremos decidir cules de estos scripts se ejecutarn y cules no.
Para hacer esto, cada runlevel tiene un directorio asociado, /etc/rcS.d o bien
/etc/rc.d/rcS.d dependiendo de la distribucin de Linux usada ( En este caso
usamos UBUNTU la letra es S), donde S es el nmero de runlevel correspondiente.
Dentro de cada uno de ellos, hay una serie de enlaces simblicos que apuntan hacia los
scripts de los servicios en /etc/init.d. Para un runlevel determinado, slo habr
enlaces para los servicios que se quieran ejecutar en ese runlevel.
Los nombres de esos enlaces son ANNservicio, donde A es una letra, y NN es un
nmero. El objetivo de esta forma de nombrarlos es que en un runlevel determinado se
ejecutan en orden alfabtico. As, para una misma letra, un nmero bajo indica que ser
ejecutado antes.
Angelzero
34
Quinto Crculo
Linux Comandos I
necesarias; inicializar el teclado, los puertos serie, resolver las dependencias de los
mdulos, sincronizar el reloj del sistema con el reloj del hardware, definir el nombre del
host... y cosas similares.
A continuacin, init recurre a los enlaces simblicos de /etc/rcS.d (o equivalente),
ejecutando cada uno de ellos con un primer argumento, en este caso, "start".
Esto arranca todos los servicios correspondientes del runlevel (creando los nuevos
procesos correspondientes). Seguidamente ejecuta varios terminales que esperan el
login de los usuarios (las terminales a las que accedemos con Ctrl+Alt+F1...). Esto
tambin est descrito en el fichero /etc/inittab.
El sistema ya ha arrancado y ahora es usable.
Donde:
superior a 4 caracteres.
runlevels es una lista de runlevels (todos seguidos) para los cuales esta lnea se
tendr en cuenta.
accin indica de qu forma o bajo qu condiciones se ejecuta el comando del
campo siguiente.
orden_a_ejecutar es el comando que se ejecuta para esta entrada en los
runlevels especificados.
De los campos anteriores, el campo accin merece especial inters, sobre todo porque
algunos valores de este campo hacen que se ignore el campo runlevels.
Lo mejor es ver algn ejemplo tpico de un fichero /etc/inittab para ver cmo se
combinan las diversas opciones. Este fichero suele tener comentarios que clarifican
cmo estn dispuestos los scripts de inicio por la distribucin de Linux que estemos
usando. En el ejemplo, los nmeros indicados representan puntos que se comentan a
continuacin.
Angelzero
35
Quinto Crculo
Linux Comandos I
Angelzero
36
Quinto Crculo
Linux Comandos I
En RedHat y similares, es este fichero el que contiene los comandos a ejecutar
directamente. En Debian, el script ejecuta todos los scripts que haya dentro del
directorio /etc/rcS.d por orden alfabtico, lo cual resulta ciertamente ms ordenado.
Para cada runlevel se ejecuta el comando rc (cuya localizacin puede variar
segn la distribucin) con un argumento, el nmero de runlevel en cuestin. As, este
comando se encarga de ejecutar los scripts enlazados en el directorio rcN.d, donde N es
el nmero de runlevel, pasndoles generalmente el argumento "start" para iniciar estos
servicios.
La accin "wait" indica a init que debe esperar a que la ejecucin de rc termine, esto es,
a que se hayan iniciado los servicios.
Esta lnea asocia el evento de la pulsacin de la combinacin de teclas
Ctrl+Alt+DEL con el comando especificado, en este caso, reiniciar la mquina mediante
shutdown.
Estas lneas inician las terminales en los runlevels indicados. El comando que lo
hace puede ser getty o alguno similar. tty1 a tty6 son las terminales locales accesibles
mediante Ctrl+Alt+F1 a F6. tty7 suele estar reservado para utilizar el servidor grfico
X-Window. Estas terminales esperan a que les sea introducido un nombre de usuario y
despus llaman a login para autentificar al usuario y devolverle una shell vlida en caso
de xito. Algunos comandos similares a getty permiten lanzar terminales en los puertos
serie (incluso permitiran un inicio de sesin remoto a travs de la lnea telefnica
mediante un mdem).
La accin "respawn" indica que si el proceso de la terminal se detiene (por ejemplo, el
usuario termina la sesin en una terminal), se debe volver a iniciar pidiendo un nombre
de usuario de nuevo.
Cambio de runlevel
Con el sistema en marcha, es posible cambiar de runlevel en un momento determinado.
Esto causar la detencin de los procesos del runlevel actual e iniciar los del nuevo
runlevel (si alguno de los procesos actuales es comn a ambos runlevels no ser parado
y luego iniciado de nuevo). Si un proceso de los que deben detenerse no lo hace, ser
matado por init.
En un momento determinado puede interesar ms detener un slo proceso que efectuar
un Cambio de runlevel.
Para cambiar de runlevel se utilizar:
Angelzero
37
Quinto Crculo
Linux Comandos I
SEC es el nmero de segundos que esperar init a que un proceso se detenga antes de
matarlo. Si no se especifica esta opcin, el nmero de segundos por defecto es 5.
NUM es el nmero de runlevel o nivel de ejecucin al que se quiere cambiar.
Modo monousuario
Como caba esperar, init tambin est relacionado con el establecimiento de la jerarqua
de permisos al inicio del sistema. Normalmente se iniciar la mquina en modo
multiusuario con todas las ventajas y caractersticas que ya hemos visto. Sin embargo,
existe la posibilidad de iniciar la mquina Linux en modo monousuario.
Qu pasar o qu servicios se inicializarn en modo monousuario depende de cada
distribucin de Linux. En algunas incluso es posible que se muestre un prompt con
permisos de root sin ni si quiera pedir un login.
En principio, poner un sistema en modo monousuario carece de utilidad prctica;
aunque no est dems saber que esta posibilidad existe, y tambin, que no es segura.
Ms informacin
Cada sistema puede tener una configuracin ligeramente distinta en este aspecto.
Nuestro papel, si administramos una mquina, es conocer cmo est configurado el
arranque para poder modificarlo segn nuestras necesidades.
Una buena fuente de informacin al respecto son los comentarios que hay en los
ficheros de /etc/init.d (o equivalente) y /etc/initab, que en la mayora de las
ocasiones explican cmo se ha personalizado el arranque por los creadores de la
distribucin.
Las pginas man de init e inittab son tambin referencia obligada para un chico de
Quinto Crculo para profundizar ms en estos aspectos.
Angelzero
38
Quinto Crculo
Linux Comandos I
Servicios, demonios
Servicios y demonios guardan una estrecha relacin con los niveles de ejecucin.
Descubrmoslo.
Qu son
El nombre de "servicio" es un poco ambiguo pero generalmente se refiere a un demonio
del sistema. El glosario define el trmino Demonio.
Cada uno de ellos tiene un archivo asociado en /etc/init.d que como ya se vi es un
script bash que acepta un argumento (podra ser, al menos, "start" o "stop", aunque
pueden ser otros complementarios para proveer al usuario de opciones adicionales, por
ejemplo "restart", "status"...).
Este script asociado ejecutar el comando que inicializa el demonio con las opciones
adecuadas si se le pasa "start" como argumento.
Si observas cualquier script de un servicio que haya instalado tu distribucin podrs
entender el esquema general que siguen todos ellos.
Angelzero
39
Quinto Crculo
Fichero correspondinete en /etc/init.d
Linux Comandos I
Angelzero
40
Quinto Crculo
Linux Comandos I
Cuando no se usa la segunda opcin, para terminar el proceso se usa el comando killall
para enviarle una seal indicando slo el nombre del proceso.
Servicios que instala nuestra distribucin
Estos ya tienen su fichero en /etc/init.d. Se iniciarn en los runlevels en los que
tengan enlace simblico en el directorio correspondiente a su nmero de runlevel. Por
ejemplo, aadamos el servidor web Apache para que se inicie en el runlevel 3:
"S80" es arbitrario (recuerda que se ejecutan por orden), pero debe ser lo
suficientemente "alto" para que los servicios de red ya estn iniciados.
Para hacer que un servicio no se ejecute en el runlevel 3, borraremos su enlace en
/etc/rc3.d
Servicios nuevos
Con esto nos referimos a los demonios que, por ejemplo, instalemos compilando el
cdigo fuente. Este procedimiento de instalacin, al contrario que los paquetes de las
distribuciones, no crea un fichero adecuado en /etc/init.d.
Es nuestro turno: miraremos la documentacin del paquete para ver con qu comando se
inicia y con cul se detiene, y crearemos un fichero en /etc/init.d con la misma
estructura que el que hemos visto arriba. Le daremos permisos de ejecucin y lo
llamaremos con un nombre que nos permita identificarlo posteriormente con el demonio
que iniciar.
A continuacin se procede exactamente igual que en el apartado anterior.
Ver los servicios que se iniciarn en un runlevel
Es tan sencillo como listar los enlaces que hay en /etc/rcS.d donde S es el nmero de
runlevel.
Angelzero
41
Quinto Crculo
Linux Comandos I
As, podramos iniciar, por ejemplo, el servidor de bases de datos MySQL con:
Crond, ejecucin
comandos
programada
peridica
de
Qu es?
Cron es una utilidad, presente en la mayora de sistemas Linux y Unix, que permite
ejecutar comandos o procesos con una frecuencia determinada.
Esto se puede aplicar, por ejemplo, a hacer backups de una carpeta del sistema todos los
das a las 12 de la noche, comprobar el tamao de un directorio o el espacio libre en
disco de los usuarios del sistema y avisar cuando est a punto de agotarse, ejecutar un
revisor de correo como fetchmail y mil usos ms: todo queda limitado por tu
imaginacin ;)
Angelzero
42
Quinto Crculo
Y estos son los posibles valores para cada elemento:
Linux Comandos I
Valores de etc/crontab
Si no quieres especificar un valor concreto para alguna de las variables, se debe colocar
el signo * el cual significa algo as como "todos" los valores. Si lo que quieres es
especificar un rango, has de usar el signo - de este modo: 0-5 6-9 o similar. Si por el
contrario deseas indicar varios valores por separado puedes hacer uso de las comas:
4,7,9,15 . Y si quieres excluir algn valor se usa / : 0-5/4 de modo que se ejecutar de 0
a 5 excepto el 4 (depende de si te refieres a minutos, horas, dias de la semana...). El
signo / tambin puede ser usado para determinar intervalos, por ejemplo cada 15
minutos: */15.
Otro aspecto a tener en cuenta es que si el comando no est en el PATH deber ser
especificado con su ruta completa. Veamos algunos ejemplos:
En estos ejemplos, se ejecutar el programa fetchmail todos los das del mes, todos los
das de la semana, todos los meses, cada hora, cada 5 minutos.
Con esta lnea, el computador se apagar todos los mircoles a las 12 del medioda.
Angelzero
43
Quinto Crculo
Linux Comandos I
Los campos que describen el instante de ejecucin son por orden:
minuto 0-59
hora 0-23
da del mes 0-31
mes 0-12 (o su nombre con las tres primeras letras en ingls)
da semana 0-7 (0 o 7 indica domingo, o su nombre con las tres primeras letras en
ingls)
Un campo puede contener:
Un asterisco (*) para indicar todos los posibles valores.
Un valor fijo para indicar un minuto, hora, da o mes.
Un rango de valores, dos nmeros separados por guiones. Un rango puede terminar en
/numero para indicar el incremento.
Una lista de valores separados por comas.
Un valor */numero para indicar todos los valores con incremento de "nmero".
Ejemplos
Vemos diversas formas de configurar la ejecucin de la orden /usr/bin/fetchmail:
Ejecutarlo a las 12 de la noche cada da
Angelzero
44
Quinto Crculo
Ejecutarlo cada dos das a las 6:30
Linux Comandos I
.prxima edicin
Angelzero
/usr/bin/fetchmail
Shell scripting
45
Quinto Crculo
Linux Comandos I
Glosario de trminos
A
Adduser
El comando adduser lo utiliza root, o alguien que tenga autoridad para ello, con el fin
de crear un nuevo usuario. Al comando adduser le sigue el nombre de cuenta que se va
a crear. Cabe destacar que en algunas distribuciones este comando a cambiado su
nombre por useradd.La sintaxis de este comando vendra a ser por ejemplo:
adduser nombre_usuario
Alias
El comando alias se usa para crear alias o nombres alternativos para comandos.
Generalmente, estos alias son abreviaturas del verdadero comando. Dichos alias se
situan en el .bashrc de cada usuario, por ejemplo alias rmd="rm -Rf" hara que al
teclear el comando rmd nos borrara lo que indiquemos en modo recursivo.
Apropos
El comando apropos significa literalmente apropiado o relativo (a otros). Cuando le
sigue un parmetro, buscar en las pginas man entradas que incluyan el parmetro.
Bsicamente, con esto se realiza una bsqueda de palabras clave en todas las pginas
man. Es el equivalente del comando man -k parametro.
B
Bash
(Bourne Again SHell) Intrprete de comandos. Es el shell por defecto en la mayora de
las distribuciones de GNU/Linux de hoy en da. Se encarga de interpretar los comandos
del usuario para llamar a los programas que estn en los directorios de la variable
$PATH o en los alias, a parte de ejecutar sus propios comandos: asignacin de
variables, bucles, etc.
Buffer
Segn el diccionario, "memoria intermedia". Es una memoria que ciertos programas
usan para diversas funciones, normalmente para guardar datos en memoria para su uso
en un plazo corto de tiempo.
BIOS
Sigla de Basic Input/Output System (sistema de entrada/salida bsico). Se utiliza para
realizar todas las funciones necesarias para colocar en estado inicial el hardware del
sistema cuando se conecta a la alimentacin de energa. El BIOS controla el proceso de
arranque, proporciona rutinas de entrada/salida de bajo nivel (de aqu su nombre) y
(usualmente) permite que el usuario modifique los detalles de la configuracin del
hardware del sistema.
Angelzero
46
Quinto Crculo
Linux Comandos I
C
Cat
cat le indica al sistema que "concatene" el contenido de un archivo con la salida
estndar, normalmente la pantalla. Si ese archivo es binario, el comando cat se puede
confundir y la salida puede no ser muy sugerente. Generalmente, este proceso tambin
es muy ruidoso. Lo que en realidad ocurre es que el comando cat est desplazndose
por los caracteres del archivo, y el terminal est haciendo todo lo que puede para
interpretar y mostrar los datos del archivo. Tendra bsicamente un formato del tipo cat
fichero.
Cdigo fuente
El formato entendible por las personas de las instrucciones que conforman un programa.
Tambin se le conoce como fuentes o source code.
Comando
Medio por el cual se le ordena una accin determinada al sistema operativo a travs de
un intrprete de comandos, tal y como puede ser Bash.
Compilar
Proceso por el cual se "traduce" un programa escrito en un lenguaje de programacin a
lo que realmente entiende el ordenador.
D
Demonio
Aparte del significado que todos conocemos, en Unix/Linux se conoce como un
programa que permanece en segundo plano ejecutandose continuamente para dar algun
tipo de servicio. Ejemplos de demonio, son los servidores de correo, impresora,
sistemas de conexion con redes, etc.
Dependencias
Cuando se refiere a paquetes, las dependencias son requerimientos que existen entre
paquetes.
Por ejemplo, el paquete "foo" puede requerir ficheros que son instalados por el paquete
"bar".
En este ejemplo, "bar" debe estar instalado, pues sino "foo" tendr dependencias sin
resolver.
Normalmente, RPM no permitir que se instalen paquetes con dependencias sin
resolver.
Distribucin
Un sistema operativo (en general Linux), que se ha empaquetado para facilitar su
instalacin.
Distro
Viene a se una distribucin de un Sistema Operativo (UNIX/LINUX).
Angelzero
47
Quinto Crculo
Linux Comandos I
DNS
Domain Name Server. Servidor de nombres de dominio. Servicio de red que nos facilita
la bsqueda de ordenadores por su nombre de dominio. Se encarga tanto de traducir
nombres a direcciones IP como del paso contrario.
E
Entrada/Salida estndar
Por defecto la entrada de datos estndar se establece en el teclado y la salida de datos
estndar en la pantalla del monitor, esto lo podemos variar a travs de tuberas. Por
ejemplo, podemos hacer que la entrada sea el ratn y la salida la impresora.
Expresin Regular
Conjunto de caracteres que forman una plantilla para buscar y reemplazar cadenas de
texto dentro de textos ms largos.
F
FSF
Free Software Foundation. Fundacin que pretende el desarrollo de un sistema
operativo libre tipo UNIX. Fundada por Richard Stallman, empez creando las
herramientas necesarias para su proposito, de modo que no tuviera que depender de
ninguna compaia comercial. Despus vino la creacin del ncleo, que todava se
encuentra en desarrollo.
G
GNU
Gnu is Not Unix. Proyecto de la FSF para crear un sistema UNIX libre.
GNU/Linux
Sistema operativo compuesto de las herramientas GNU de la FSF y el ncleo
desarrollado por Linus Torvalds y sus colaboradores.
GPL
General Public License. Una de las mejores aportaciones de la FSF. Es una licencia que
protege la creacin y distribucin de software libre.
H
Hardware
El hardware es el soporte fsico de una computadora, se compone de diferentes
dispositivos de hardware que pueden estar dentro o fuera de la caja de la computadora.
Dentro del hardware entran la placa base, la cpu, la memoria, el teclado, el ratn...
Host
Un host es una computadora que se encuentra dentro de una red, y que ofrece algn tipo
de servicio o recurso al resto.
Angelzero
48
Quinto Crculo
Linux Comandos I
I
Intrprete de comandos
El intrprete de comandos (SHELL) es el programa que recibe lo que se escribe en la
terminal y lo convierte en instrucciones para el sistema operativo. (Ejemplos, bash, Sh,
Tcsh, etc)
IP
Las direcciones IP (Internet Protocol) son el mtodo mediante el cual se identifican los
ordenadores individuales (o, en una interpretacin ms estricta, las interfaces de red de
dichos ordenadores) dentro de una red TCP/IP. Todas las direcciones IP (versin 4, la
ms utilizada actualmente) consisten en cuatro nmeros separados por puntos, donde
cada nmero est entre 0 y 255.
A veces, la abreviatura IP puede significar "Intelectual Property", o lo que es lo mismo,
Propiedad Intelectual.
ISP
Siglas de Internet Service Provider. Empresa u organizacin que ofrece acceso a
Internet a usuarios finales y corporativos.
K
Kernel
Parte principal de un sistema operativo, encargado del manejo de los dispositivos, la
gestin de la memoria, del acceso a disco y en general de casi todas las operaciones del
sistema que permanecen invisibles para nosotros.
L
Libreras
Se refiere al conjunto de rutinas que realizan las operaciones usualmente requeridas por
los programas.
Las libreras pueden ser compartidas, lo que quiere decir que las rutinas de la librera
residen en un fichero distinto de los programas que las utilizan. Las rutinas de libreria
pueden enlazarse estticamente al programa, en cuyo caso se agregan fsicamente las
copias de las rutinas que el programa necesita. Estos binarios enlazados estticamente
no requieren de la existencia de ningn fichero de biblioteca para poder funcionar. Los
programas enlazados con bibliotecas compartidas no funcionarn a menos que se
instalen las librerias necesarias.
Login
Programa encargado de la validacin de un usuario a la entrada al sistema. Primero pide
el nombre del usuario y despues comprueba que el password sea el asignado a este.
Logout
logout se utiliza para salir de un sistema como usuario en curso. Si es el nico usuario
que est registrado, se desconectar del sistema.
Angelzero
49
Quinto Crculo
Linux Comandos I
M
Mdulos
Un mdulo es un conjunto de rutinas que realizan funciones a nivel de sistema, y que
pueden cargarse y descargarse dinmicamente desde el ncleo cuando sea requerido.
Los mdulos con frecuencia contienen controladores de dispositivos, y estn
fuertemente ligados a la versin del ncleo; la mayora de los mdulos construidos con
una versin dada de ncleo, no se cargarn de manera apropiada en un sistema que corra
un ncleo con versin distinta.
Multitarea
Capacidad de un sistema para el trabajo con varias aplicaciones al mismo tiempo.
Multiusuario
Capacidad de algunos sistemas para ofrecer sus recursos a diversos usuarios conectados
a travs de terminales.
N
Ncleo
Nucleo o kernel.
P
Paquete
Fichero que contiene software; est escrito en un cierto formato que permite la fcil
instalacin y borrado del software.
Particin
El segmento del espacio de almacenamiento de una unidad de disco que puede
accederse como si fuese un disco entero.
PATH
Variable del entorno, cuyo valor contiene los directorios donde el sistema buscar
cuando intente encontrar un comando o aplicacin. Viene definida en los ficheros
.bashrc o .bash_profile de nuestro directorio home.
PPP
Point to Point Protocol. Protocolo de transmisin de datos, utilizado en la mayoria de
las conexiones a internet domsticas.
Proceso
Programa en ejecuccin dentro de un sistema informtico.
Angelzero
50
Quinto Crculo
Linux Comandos I
Pipe
Un pipe relaciona la salida estndar de un comando con la entrada estndar de otro
comando.
Password
Palabra clave personal, que nos permite el acceso al sistema una vez autentificada con la
que posee el sistema en el fichero passwd.
POSIX
POSIX es el acrnimo de Portable operating system interface, una familia de estndares
de llamadas al sistema definidos por el IEEE, intenta estandarizar las interfaces de los
sistemas operativos para que las aplicaciones corran en distintas plataformas. Estos
estndares surgieron de un proyecto de estandarizacin de APIs y describen un conjunto
de interfaces de aplicacin aplicables a una gran variedad de implementaciones de
sistemas operativos. El trmino POSIX fue sugerido por Richard Stallman en respuesta
a la demanda de la IEEE que requera un nombre facilmente memorizable.
Prompt
El prompt es lo siguiente que vemos al entrar al sistema, una linea desde donde el
sistema nos indica que esta listo para recibir ordenes, que puede ser tan sencilla como:
$autoconf o algo mas compleja como: amphora:1505200:home/israel:$ En la mayora
de las shells (incluida bash), es personalizable.
R
root
Persona o personas encargadas de la administracin del sistema Tiene TODO el
privilegio para hacer y deshacer, por lo que su uso para tareas que no sean
absolutamente necesarias es muy peligroso.
S
Sistema Operativo (S.O.)
Un Sistema Operativo (S.O.) es un programa (o conjunto de programas) de control que
tiene por fin facilitar el uso de la computadora y conseguir que sta se utilice
eficientemente. As, tambin rene un conjunto de funciones o programas que hacen la
vida del programador ms fcil, y sirve como plataforma en la que basarse, para no
tener que reinventar la rueda con cada programa que se cree.
Shell
Traducido del ingls concha o caparazn. El shell es el intrprete de comandos que se
establece entre nosotros y el kernel. Hay muchos tipos de shell cada uno con sus propias
Angelzero
51
Quinto Crculo
Linux Comandos I
caractersticas, sin embargo el estndar en GNU/Linux es el shell bash ya que es el que
forma parte del proyecto
GNU.
Script
Un script es un fichero de texto que contiene un conjunto de comandos/instrucciones
escritos en un lenguaje interpretado cualquiera que sea, como puede ser Bash. La
peculiaridad de los scripts es que son programas que no estn compilados, sino que
contienen el cdigo fuente del programa, que es interpretado y pasado a un lenguaje que
la computadora pueda comprender cada vez que se mandan ejecutar.
Shell scripting
El shell scripting es el arte de programar script en una shell.
Shell scripts o scripts de shell
Programa escrito para ser interpretado por una shell de un SO, especialmente Unix.
Swap
Espacio de disco duro que utiliza el kernel en caso de necesitar mas memoria de la que
tengamos instalada en nuestro ordenador.
T
Tubera
Las tuberas son como conexiones entre procesos. La salida de un proceso la
encadenamos con la entrada de otro, con lo que podemos procesar unos datos en una
sola linea de comando.
Terminal
Una terminal es un teclado y una pantalla conectados por cable u otro medio a un
sistema UNIX/Linux, haciendo uso de los recursos del sistema conectado.
U
UNIX
Sistema Operativo creado por AT&T a mediados de los 70.
W
Wildcards
Las wildcards son unos caracteres especiales usados comnmente dentro de bsquedas
de ficheros por su nombre con comodines. Por ejemplo, si buscamos por un archivo
nombrado como r?te en un Sistema Operativo tipo Unix, nos puede encontrar archivos
de nombre rute, rote,rzte, etc. El asterisco en Unix se utiliza para substituir
"cualquier cosa", por ejemplo archivo_*_inet puede encontrarnos cualquier archivo
que empiece por archivo_ y termine por _inet (como por ejemplo archivo_de_inet,
archivo_sdsfhy_inet o archivo__inet)
Angelzero
52
Linux Comandos I
Quinto Crculo
BIBLIOGRAFIA
http://www.guia-ubuntu.org
http://formacion.cnice.mec.es
http://www.kriptopolis.org
http://zonasiete.org
Angelzero
53