Beruflich Dokumente
Kultur Dokumente
- 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:
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:
1
[pilar@colon DOCENCIA]$ whoami
pilar
[pilar@colon DOCENCIA]$ su antonio
Password:
[antonio@colon DOCENCIA]$ whoami
antonio
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:
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:
Ejercicios:
3
13. Usa la herramienta konqueror para navegar por la ayuda del sistema:
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:
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.
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:
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:
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:
-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.
La orden awk sirve para manipular selectivamente la salida de otras ordenes. Por ejemplo:
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.
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):
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: