Sie sind auf Seite 1von 7

Practicas A.S.O./A.S.O.P.

- Boletn L01
Introducci
on, paquetes y herramientas b
asicas u
tiles para la
administraci
on

Nota:

Los boletines asumen conocimientos basicos para desenvolverse en un entorno de shell, (pwd,
cd, ls, cp, rm, mkdir, rmdir, mv, comodines y redireccion de shell, etc. . . )
Accede al sistema como superusuario, root (el profesor te proporcionara la contrase
na), y crea
un nuevo usuario con las siguientes ordenes:
adduser aso //Anade un nuevo usuario aso
passwd aso //Le cambia la clave a aso
Para trabajar puedes usar tanto los terminales graficos como los de modo texto. Hay un terminal
grafico y 6 en modo texto. En Fedora Core 11, la siguiente combinacion de teclas permiten
cambiar de uno a otro:
Ctrl + Alt + F2 (. . . F6) para cambiar a uno de los 6 terminales de modo texto.
Ctrl + Alt + F1 para cambiar al terminal grafico.
En versiones anteriores, o en otras distribuciones, es probable que dicha combinacion sea:
Ctrl + Alt + F1 (. . . F6) para cambiar a uno de los 6 terminales de modo texto.
Ctrl + Alt + F7 para cambiar al terminal grafico.
Se recomienda el uso de las paginas del manual o ayuda usando la orden man.

El superusuario
La orden su
La orden /bin/su ejecuta un nuevo shell, con los identificadores de usuario (UID) y grupo (GID)
del nuevo usuario indicado. Se operara con estos nuevos identificadores hasta terminar con la orden
exit. Por defecto, se utilizara el usuario root. Por ejemplo, si pilar ejecuta las siguientes ordenes:

su se convertira en el usuario root


su antonio se convertira en el usuario antonio

Algunos parametros de la orden su son:

Si es ejecutado sin opciones el valor de la mayora de las variables de entorno no vara, excepto
las variables HOME y SHELL. En caso de haber cambiado a un usuario distinto del root
tambien cambian las variables USER y LOGNAME.
-l (ele de login): se cambian todas las variables de entorno, como si se hubiera hecho
un login de nuevo. (En algunas versiones esta opcion ha sido eliminada y han dejado solo la
siguiente).
- (signo menos): equivalente a -l
-c: ejecuta la orden indicada. (OJO! La orden tiene que delimitarse entre comillas dobles).
[pilar@colon DOCENCIA]$ su -c "/usr/sbin/adduser antonio"
Password:

Indicando un nombre de usuario el cambio se realiza al nuevo usuario:

1
[pilar@colon DOCENCIA]$ whoami
pilar
[pilar@colon DOCENCIA]$ su antonio
Password:
[antonio@colon DOCENCIA]$ whoami
antonio

Al administrador del sistema, nunca se le pide la contrase


na al ejecutar esta orden.

Ejercicios

1. Como usuario aso, usando la orden su cambia al usuario root y comprueba el efecto de ejecutar
su root (sin parametros) y su -l root. (Puedes utilizar echo $variable y ps antes y
despues de ejecutar la orden).
1.1 Que procesos se crean?
1.2 De las siguientes variables HOME, USER, UID y GROUPS. cuales cambian y cuales no?

2. Para probar la orden su en modo orden ejecuta, como usuario aso, las siguientes ordenes:

2.1 Crea un fichero en tu directorio: touch prueba.txt


2.2 Con su, cambia el usuario propietario de dicho fichero usando la orden: chown root
prueba.txt
2.3 Comprueba, con la orden ls -l si se ha realizado el cambio.

La orden who
La orden who muestra las sesiones abiertas, asociando el nombre del usuario a la terminal. Pero,
la verdadera identidad de un usuario depende de su UID, que se puede obtener con la orden id.

Ejercicios

3. Si cambiamos de usuario con la orden su, lo aprecia la orden who? Por que?
4. Que diferencia hay entre ejecutar whoami y who am i?

Ficheros
En los siguientes ejercicios vamos a practicar con los permisos especiales t y s. Cuando los apliques,
observa donde aparece la letra correspondiente al usar ls.

5. Crea tu propio directorio temporal en /pruebas: todos los usuarios pueden escribir en el y
borrar sus ficheros, pero no pueden borrar los ficheros de otros usuarios.
6. Al ejecutar la siguiente secuencia de instrucciones, funciona la u
ltima instruccion? Como se
podra conseguir que funcionase utilizando el bit s? Las primeras instrucciones las tienes que
ejecutar como root.

$ cp /bin/cat /tmp/micat
$ echo na na na > /tmp/fichero
$ chmod go-rwx /tmp/fichero
$ su -l aso
# /tmp/micat /tmp/fichero

7. Al ejecutar las siguientes instrucciones, con que usuario y grupo se crea el fichero hola?

$ su root
# mkdir /practicas

2
# chgrp mail /practicas
# cd /practicas
# touch hola

8. Que habra que hacer para que el fichero hola perteneciese al grupo mail sin tener que ejecutar
la orden chgrp despues de crear el fichero? Solucionalo y crea el fichero propietario para
comprobar que ahora tiene el grupo deseado.
9. Crea un fichero y hazle un enlace fsico dentro del mismo directorio. Con la orden ls -il
comprueba los datos de los ficheros y verifica que son enlaces fsicos. A continuacion borra el
fichero inicial. Comprueba si puedes trabajar con el enlace fsico. Por que sucede esto? Recuerda
que la orden ln permite crear enlaces fsicos y simbolicos.
10. Crea un fichero y hazle un enlace simbolico dentro del mismo directorio. A continuacion borra
el fichero inicial. Puedes trabajar con el enlace simbolico?, puedes leer el fichero?, puedes
editarlo y modifcarlo? Para cada caso, indica que sucede y por que?

Las p
aginas de manual
La orden man se utiliza para conseguir ayuda de una orden. Las paginas de manual estan ordenadas
en secciones (existe una seccion para programacion, otra para administracion del sistema, etc.). Tam-
bien existen para funciones de biblioteca (como las que se utilizan en un programa en C), para ficheros
de configuracion, etc. La busqueda la realiza en un orden establecido mediante la variable MANSECT,
definida en su fichero de configuracion. El fichero /etc/man.config es su fichero de configuracion
y en el, ademas, se puede especificar los directorios donde encontrar las paginas de ayuda.
Modos tpicos de uso:

man <tema>: cuando el tema que queremos consultar suele aparecer en una u
nica seccion.
Ejemplos: man ls; man man.config; man strcpy; man stdio.
man -a <tema>: mostrara todas las paginas que hay sobre ese tema. Para avanzar de una a
otra hay que pulsar la tecla q. Por ejemplo, man -a mount mostrara todas las paginas de
manual existentes de la orden mount.
man -S<secci on> <tema>: para consultar la pagina de manual de un tema y una seccion
concreta. El n
umero de seccion aparece en la primera lnea de la pagina entre parentesis:

MOUNT(8) Linux Programmers Manual MOUNT(8)

Un ejemplo de uso sera man -S8 mount.


man cp ls man: visualiza las paginas de manual de varios temas al mismo tiempo, utilizando
q para avanzar de una a otra.
man -k orden: sirve para buscar todas las entradas que contienen la cadena orden.
man -f orden (o /usr/bin/whatis orden): muestra un listado de todas las paginas de
manual que hay para esa orden, indicando la seccion en la que esta y una breve descripcion de
la misma.

Nota: otra orden para obtener informacion es info.

Ejercicios:

11. Que muestra la orden man man?


12. Que informacion muestran las siguientes ordenes y cual es la diferencia entre ambas?

man -k mount (es lo mismo que ejecutar /usr/bin/apropos mount)


man -f mount (es lo mismo que ejecutar /usr/bin/whatis mount)

3
13. Usa la herramienta konqueror para navegar por la ayuda del sistema:

13.1 Ejecuta la orden konqueror man:ls


13.2 Ejecuta la orden konqueror info:bash. En este caso podras usar el sistema de ayuda
info de una manera mucho mas comoda de lo habitual.

Si tienes seleccionado Gnome como entorno de escritorio, puedes usar la herramienta gnome-help.

Mensajes
Ejercicios:

14. Edita los ficheros /etc/motd y /etc/issue y cambia los mensajes que tienen. (Recuerda que
estos mensajes solo se visualizan en los terminales en modo texto).

Administraci
on de paquetes
El sistema de paquetes utilizado por Fedora Core es RPM (Red Hat Package Manager), sistema
que hereda de Red Hat.
Normalmente el formato de los paquetes es: nombre-version-revision.[ arquitectura | src | noarch].rpm.
Entre las arquitectura tenemos paquetes i386.rpm ya est an compilados para procesadores Intel x86
y compatibles y preparados para ser instalados. Tambien es posible encontrar i586.rpm para Pen-
tiums o i686.rpm para Pentiums II. Los paquetes x86 64 estan compilados plataformas de 64 bits.
Los paquetes src.rpm son los fuentes, que habra que compilar para poder hacer uso de los mismos
(utilizando para la compilacion la orden rpmbuild). Los paquetes noarch.rpm no son especficos
de ningun tipo de maquina. El sistema gestiona una base de datos de los paquetes instalados que se
puede usar para obtener informacion de su estado y sus ficheros.
Ten en cuenta que al guardar un paquete en la base de datos, el nombre del fichero .rpm suele
cambiar, normalmente la forma de indicar la version. Una vez que un paquete esta instalado podremos
referenciarlo usando simplemente su nombre, ya no sera necesario indicar la version. Por ejemplo, el
paquete coreutils-7.2-1.fc11.i586.rpm pasara a llamarse coreutils.
Pueden existir dependencias entre paquetes, de forma que para instalar un paquete sea necesario
instalar antes otros paquetes, o que al querer desinstalar un paquete no deje porque haya dependencias
con otros que hay instalados (al eliminar el paquete los otros no funcionaran correctamente). Estas
dependencias son controladas por el sistema RPM.
A continuacion se presentan algunos modos basicos de uso:

Instalacion: rpm -i <paquete rpm>.


Actualizacion: rpm -U <paquete rpm>. En caso de que exista un fichero de configuracion
modificado de la version anterior lo guarda como nombre fichero.rpmsave. En ocasiones,
si un fichero de configuracion fue modificado, y el nuevo fichero de configuracion ha cambiado
de formato y no puede ser adaptado, se deja el fichero antiguo y se crea uno nuevo que se
llamara nombre fichero.rpmnew. El administrador es el responsable de adaptar el fichero
antiguo de configuracion al nuevo formato.
Eliminacion: rpm -e <paquete>.
Consultas: rpm -q[li] <paquete> ; rpm -qp[li] <paquete rpm>.
Verificacion del estado del paquete: rpm -V <paquete>.

Ejercicios:

15. Cuantos paquetes hay instalados en el sistema? (Usa la orden wc para contar los paquetes).
16. A que paquete pertenece el fichero de configuracion /etc/passwd?

4
a) Cuales son las caractersticas de ese paquete?
b) Que ficheros pertenecen a ese paquete?
c) Ha sido modificado el paquete o alguno de sus ficheros desde que se instalo en el sistema?

17. Descargate el paquete sudo de la pagina web de la asignatura, instalalo, comprueba que se ha
instalado, y despues borralo.

Yum - Yellowdog Updater Modified


yum es una herramienta que permite actualizar de forma automatica o interactiva paquetes. Puede
ser usada para mantener actualizados los sistemas que usen paquetes rpm, de una manera comoda y
sencilla.
Esta herramienta permite varias formas de uso, para instalar o actualizar paquetes, borrarlos, etc.
A continuacion se lista un breve resumen de las mismas:

yum check-update: avisa de los paquetes pendientes de actualizar.


yum update paquete: para actualizar un paquete.
yum update: para actualizar todos los paquetes.
yum install paquete1 [paquete2 ...]: instala la u
ltima version del paquete o paquetes
indicados.
yum remove | erase paquete1 [paquete2 ...]: elimina el paquete que se le indica.
yum clean [ packages | headers | all ]: permite limpiar los ficheros que se acumulan en
el directorio cache de yum.
yum -h: para otener mas informacion.

Tambien es posible configurarlo para que de forma automatica, cada noche, realice la actualizacion
del sistema. Para ello, bastara con activar un demonio para ser lanzado durante el arranque.

Ejercicios:

18. Utilizando la herramienta yum, instala el paquete fortune-mod. Comprueba que se ha realizado
la instalacion de forma correcta, ejecuta para ello la orden /usr/bin/fortune.
19. Con yum, comprueba las actualizaciones que hay pendientes para los paquetes instalados en el
sistema.
20. Elimina el paquete fortune-mod haciendo uso de la herramienta yum.

Otros m
etodos para instalar paquetes
Existen otras herramientas que nos permiten actualizar o instalar automaticamente paquetes,
realizando b
usquedas para localizarlos. Entre otros podemos destacar:

up2date y pirut (RH y Fedora),


apt, synaptic y adept (Debian y Ubuntu).

Algunas veces, sin embargo, no dispondremos de la version adecuada del software en rpm y ne-
cesitaremos instalar directamente el paquete desde su formato .tgz. Los pasos comunes en este caso
son:

Para ver el contenido: tar tvzf <paquete.tar.gz>.


Para desempaquetar: tar xvzf <paquete.tar.gz>.
Luego se siguen las instrucciones concretas (readme, configure, setup, install, etc.).

Ejercicios complementarios

5
Herramientas b
asicas u
tiles para la administraci
on
La orden find es una orden muy potente que se utiliza para buscar ficheros y directorios
que cumplan ciertos criterios; la b
usqueda se realiza recursivamente. Ademas, permite indicar
operaciones a realizar sobre cada uno de los ficheros y directorios encontrados. El formato de
esta orden es:

find <lista de caminos> <expresiones>

Se busca por defecto en el directorio (o directorios) indicado y en todos sus subdirectorios, de


forma recursiva. Algunos de los criterios que se pueden utilizar para realizar la b
usqueda son:

-name <nombre>: nombre del fichero a buscar (se pueden utilizar comodines).
-iname <nombre>: idem a la anterior, pero sin distinguir may usculas y minusculas.
-user <usuario>: propietario al que debe pertenecer el fichero.
-group <grupo>: grupo al que debe pertenecer el fichero.
-type <c|b|d|l|f>: tipo del fichero a buscar (caracter, bloque, directorio, enlace simboli-
co o fichero regular).
-mtime [+|-]n: modificado hace mas de, menos de o exactamente n das.
-atime [+|-]n: utilizado hace mas de, menos de o exactamente n das.
-size [+|-]n: con un tama no de mas, menos o exactamente 512*n bytes.
!: delante de un criterio, lo niega.
-o: o logico de criterios.
-a: y logico de criterios (esta es la opcion por defecto cuando se indican varios criterios).

Los criterios se pueden agrupar con parentesis y hacer operaciones logicas entre ellos. La u
nica
precaucion a tomar es que los parentesis se especifican como \( y \).

Ejemplos:

find /usr -type f -size +2 -o ! -user antonio -print: busca, a partir del
directorio /usr, aquellos ficheros regulares cuyo tama
no sea superior a 1KB o no pertenezcan
al usuario antonio. Muestra los nombres de aquellos ficheros que cumplan el criterio.
find . -group proyecto -exec chmod a+r+w {} \;: busca, a partir del directo-
rio actual, todos los ficheros y directorios que pertenezcan al grupo proyecto, y sobre cada
uno que encuentres ejecuta la orden especificada con -exec. Nota: es importante destacar
el espacio que hay entre } y \. La expresion {}sera sustituida por el nombre de cada
uno de los ficheros que se encuentren. Por otro lado, la expresion \; indica el final de la
orden a ejecutar con exec.

La orden grep busca un patron determinado en un fichero. Normalmente solo se usa para realizar
b
usquedas en ficheros, pero puede ser muy u
til para algunas ordenes administrativas.

Que hacen las siguientes ordenes?:


ps aux | grep pilar
ls -la | grep d

La orden awk sirve para manipular selectivamente la salida de otras ordenes. Por ejemplo:

ps aux | grep bash | awk { print $1 }

Sabes hacer lo mismo con cut?

6
La orden xargs opera sobre una serie de objetos sin importarle de que tipo son (el exec de
find siempre opera sobre ficheros encontrados). Esta orden se utiliza bastante como salida final
de una tubera.

ps aux | grep bash | awk {print $2 } | xargs renice +10

Se le puede especificar el no de argumentos que debe ir tomando (finger se ejecuta una vez
para cada usuario devuelto por la tubera anterior):

ps aux | grep bash | awk {print $1 } | xargs -n 1 finger

Te permite colocar los argumentos que se le pasa a la funcion en el lugar deseado

ps aux | grep bash | awk {print $2 } | xargs -i kill -15 {}

Ejercicios:

21. Consigue un grep recursivo, pero que solamente busque en los ficheros de menos de 2KB, y que
pertenezcan al root, y tengan como grupo propietario el grupo root.
22. Como superusuario borra todos los ficheros del subdirectorio /tmp que no pertenezcan ni al
superusuario ni al usuario creado al inicio de las practicas. Utiliza la orden find y que te
pregunte cada vez que vaya a ejecutar la accion.
23. Busca todos los ficheros regulares que pertenezcan al propietario bin y al grupo bin, que existan
a partir del directorio /, que tengan un tamano mayor a 2KB, y que no descienda por los sistemas
de ficheros montados a partir del /. Si hubiese salida de error debes dirigirla a una fichero llamado
$HOME/error. De los ficheros encontrados se tiene que hacer un ls -l.
24. Muestra el contenido del directorio /usr/bin donde cada lnea debe tener el siguiente formato:

gzip - > Modificado el Wed, 08 de Jul de 1998

El nombre del da de la semana y el mes pueden aparecer en ingles o espa


nol. (Pista: orden find
con opcion printf).
25. Realiza una b usqueda de todos los ficheros que tengan una tama no superior a 2KB, sean de
tipo fichero, ordena la salida, y que te haga de todos ellos un ls -la. El ls -la debe quedar
ordenado.

Das könnte Ihnen auch gefallen