Nota: Esta unidad no tiene ejercicios. Esta pgina simplemente asegurar que la numeracin de los ejercicios se mantenga sincronizada.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Ejercicio 2: Instalacin del sistema operativo
De qu se trata este ejercicio Este ejercicio trata de la instalacin del sistema operativo Linux.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. tendr la capacidad de hacer lo siguiente: Preparar un sistema para la instalacin de Linux Particionar un sistema Instalar Linux
Materiales requeridos Una estacin por estudiante. Conjunto de medios (CDs o DVDs) de instalacin.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Nota: Los Los ejercicios en este material de curso han sido diseados y probados en las siguientes distribuciones: Centos 5.2 Si Ud. est usando esta distribucin siga las instrucciones que vienen. Si usa otra distribucin u otra versin, su instructor le podr dar informacin adicional. Dependiendo de las circunstancias su instructor le proveer de un conjunto de medios de instalacin en CD o DVD o compartir estos medios en red, de modo que pueda realizar el proceso de instalacin. Si Ud. instala a travs de red, el instructor le dar informacin adicional respecto a lo siguiente: El mtodo de instalacin: NFS, FTP, HTTP. La direccin IP que ser utilizada por su estacin de trabajo, si se est utilizando DHCP, no es necesario. El nombre o direccin IP del servidor de instalacin. El path de las imgenes de instalacin en el servidor de instalacin.
Instalando CentOS 5.2 (Instalacin basada en DVD) 1. Configurar el BIOS del sistema para que arranque desde el CD ROM. 2. Insertar el (primer) CD o DVD de instalacin de CentOs 5.2 en el DVD ROM. 3. Encender o reiniciar el sistema. 4. Ud. puede observar que el sistema arranca desde el CD. 5. Para iniciar la instalacin grfica presionamos la tecla Enter. 6. Aparece una opcin para revisar los medios (CD/DVD) de instalacin. Si Ud. Est seguro de que estos medios funcionan adecuadamente, puede prescindir (Skip) de la verificacin. 7. En la pantalla inicial de instalacin grfica de Centos 5.2, se da clic en Next. 8. Escoja el lenguaje para el proceso de instalacin (Recomendado: Ingls) y presione Next. 9. Escoja el idioma en el que trabaja su teclado (Espaol) y clic en Next. 10. Al aceptar la configuracin de teclado, obtiene una advertencia en referencia a que la informacin que Ud. Tendra en el disco podra ser borrada en el paso que viene que es el de particionamiento. Acepte la advertencia y siga adelante. 11. En la seccin de particionamiento, en el primer men, seleccione la opcin que le permite crear un esquema personalizado de particionamiento (Custom Layout) y continue. 12. En la nueva pantalla y de ser posible cree tres particiones una para /boot de 100 MB, una para swap de 2GB, una para el sistema de archivos / que ocupe 10 GB, una para /home de 1 GB, dejando libre al menos 1 GB. Permita a su instructor revisar el esquema de particionamiento antes de guardarlo. 13. Luego clic en Next. 14. Escoja la instalacin de GRUB para el arranque. Clic en Next. 15. En la seccin de dispositivos de red, configrelos, su instructor le dir si usar DHCP o no. Si no, l le proveer de una Direccin IP, Mscara de Red, Red y direccin de Broadcast, Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo as como el Hostname, Gateway y direcciones de DNS. Ingrese estos valores, revselos y de Clic en Next. 16. Escoja la opcin correspondiente de Huso Horario de acuerdo a su situacin geogrfica en el mapa que se le presenta. Clic en Next. 17. Designe una contrasea para el usuario root (sta ser lpic2009), confrmela y clic en Next. 18. Ahora seleccione los paquetes de instalacin de acuerdo a lo recomendado por su instructor. Adems asegrese de anotar claramente estas indicaciones.
19. Clic en Next para que de inicio la instalacin del sistema operativo. Este proceso tomar alrededor de 30 minutos, dependiendo de las caractersticas tcnicas de los equipos. 20. En el momento en que aparece la pantalla de instalacin completa retire el CD/DVD del CD ROM y de clic en Reboot, para reiniciar el sistema. 21. Ahora es necesario completar algunos pasos post-instalacin, de Clic en Next. Entre los pasos de instalacin se mencionarn herramientas como la de Firewall (iptables) y SELinux, por favor deshabiltelas. As mismo se le solicitar configurar la hora del equipo. Finalmente deber reiniciar el equipo nuevamente.
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 3: Utilizacin Bsica del Sistema
De qu se trata este ejercicio El propsito de este ejercicio es la familiarizacin con el sistema operativo Linux, la sintaxis y algunos comandos bsicos. El ejercicio muestra tambin algunos conceptos en referencia a la caracterstica de multiusuario.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. tendr la capacidad de hacer lo siguiente: Conmutar entre terminales virtuales Hacer login en un sistema Linux y cambiar su password. Ejecutar comandos bsicos- Usar los comandos write y wall para comunicarse con otros usuarios. Usar las teclas de control del teclado para controlar la salida de la lnea de comandos. Usar el historial de comandos.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Haciendo Login en una Terminal virtual En esta seccin va a hacer login en el sistema utilizando las terminales virtuales tanto de texto como grficas. 1. Si la instalacin no dio problemas, debera ver un prompt de login grfico. Si este no es el caso, pregunte a su instructor para arreglarlo. 2. Verifique que Ud. tenga 7 terminales virtuales diferentes. Presione cclicamente Alt-Fn, donde n es el nmero de Terminal al que Ud. Desea acceder. Use Ctrl-Alt-Fn cuando Ud. est en una Terminal grfica. 3. En su primera Terminal virtual (tty1), haga login en el sistema con su propio nombre de usuario que configur cuando se instal el sistema. Si no cre el usuario, consulte a su instructor sobre cmo hacerlo. 4. En su segunda Terminal virtual (tty2), haga login en el sistema como root. Despus de haberlo hecho, mire el command prompt. Nota algo diferente con el command prompt de las otras terminales virtuales? 5. En su sptima Terminal virtual (tty7), haga login en el sistema con su propio nombre de usuario y password. 6. Abra una ventana Terminal. Eche un vistazo al command prompt. Difiere este del command promt tty1? Por qu? Por qu no?
Comandos Bsicos En esta seccin vamos a ejecutar algunos comandos bsicos, para que se familiarice con la sintaxis de comandos de Linux, y el hecho de que Ud. est en un sistema multiusuario y multitarea. Todos los comandos en esta seccin se ejecutan en la Terminal virtual 7 (el promtp de login grfico donde est logueado), usando la ventana Terminal que abri, a menos que se especifique otra instruccin. 7. Cambie su password. Memorice este password porque nadie podr recuperarlo si lo olvida. 8. Muestre la fecha del sistema. 9. Muestre el calendario completo del ao 2006. 10. Muestre el mes de mayo del ao 2001 y 01. Son los aos 2001 y 01 los mismos? 11. Genere una lista de todos los usuarios presentes en el sistema. 12. Muestre su nombre de login. 13. Muestre la informacin de login de su propia cuenta de usuario y de la de root. 14. Limpie su pantalla. 15. Imprima el texto Estoy ocupado en su pantalla. 16. Escriba el mensaje Estoy ocupado a la pantalla de root. Revise si root recibi el mensaje. 17. Escriba el mensaje Estoy ocupado a la pantalla de todos los usuarios. Revise si todos recibieron el mensaje.
Tips de Teclado 18. El bash shell tiene una funcin de historial de comandos. Mire algunos de los comandos que ha ingresado. Intente alterar alguno de estos comandos, luego ejecute el comando de Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo nuevo. 19. Su Terminal tiene un buffer que lleva la cuenta de la salida de sus comandos. Mire la salida de los comandos previos. 20. Bash soporta el auto completado de comandos y nombres de archivos con el caracter TAB. Intente utilizar esta caracterstica, tanto en comandos como en nombres de archivos.
Usando el historial 21. Use el comando history para ver los ltimos 20 comandos que escribi. 22. Ejecute uno de los comandos de la lista del historial. 23. Ejecute de nuevo el comando echo, esta vez reemplazando ocupado por disponible. 24. Bash soporta tambin la bsqueda dentro del historial. Intente esta caracterstica.
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 4: Archivos y Directorios
De qu se trata este ejercicio Este ejercicio les da a los estudiantes la oportunidad de empezar su trabajo con directorios y los archivos que estos contienen.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. tendr la capacidad de hacer lo siguiente: Trabajar con directorios Trabajar con archivos Trabajar con archivos y directorios de manera recursiva Trabajar con archivos binarios
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio Trabajando con directorios 1. Si Ud. no est logueado con su nombre de usuario en la tty7, hgalo ahora. Asegrese de tener una ventana Terminal abierta. 2. Revise el directorio en el que est ubicado. Qu directorio es? _________________ 3. Cmbiese de directorio al directorio raz (/). 4. Verifique que se encuentra en el directorio raz y ejecute un listado simple y uno largo de los archivos en este directorio. 5. Liste todos los archivos dentro del directorio actual y liste todos los archivos en el directorio actual y dentro de los directorios que posee. Nota: Este comando provee salida extensiva. Una vez que haya visto suficiente, termine el comando con la secuencia <Ctrl> adecuada. 6. Regrese a su directorio home y liste sus contenidos incluyendo los archivos ocultos. 7. Cree un directorio en su directorio home y que se llame mydir. Luego, ejecute el comando para ver una lista larga dentro de su directorio home y el directorio mydir. 8. Cmbiese al directorio mydir. Cree dos archivos de longitud cero llamados myfile1 y myfile2. 9. Ejecute el comando para ver un listado largo de los contenidos del directorio mydir. Cules son los tamaos de myfile1 y myfile2? _____________________ 10. Regrese a su directorio home y use el comando ls -R para ver su rbol de directorios. 11. Intente remover el directorio mydir. Funciona? 12. Vaya al directorio mydir una vez ms y borre los dos archivos en ese directorio. Luego regrese a su directorio home y borre el directorio mydir.
Trabajando con archivos 13. Mire el contenido del archivo /etc/passwd. El archivo /etc/passwd contiene una lista de todos los usuarios autorizados a usar el sistema. 14. Copie el archivo /etc/passwd a su directorio home y renmbrelo a usersfile. 15. Divida el archivo usersfile en archivos ms pequeos, de 200 bytes cada uno. 16. Haga un listado largo de todos los archivos en su directorio home.
Trabajando con archivos y directorios recursivamente 17. Cree un directorio sub1 y un directorio sub2 dentro de sub1. Haga todo esto utilizando un solo comando. 18. Vaya al directorio sub2 y cree un archivo llamado myfile. 19. Regrese a su directorio home. Luego haga una copia del rbol de directorio sub1 con el nombre de tree1. Haga una lista recursiva de todos los archivos y directorios en sub1 y en tree1. 20. Ahora Ud tiene dos rboles de directorios, llamados sub1 y tree1. Mueva el rbol de directorio tree1 dentro del subdirectorio sub1. 21. Liste los contenidos de su directorio home. Haga un listado recursivo de todos los archivos Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo y directorios en el directorio sub1.
Trabajando con archivos binarios 22. Liste el contenido del archivo /bin/ls usando el comando od.
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 5: Permisos de Acceso al Sistema de Archivos
De qu se trata este ejercicio Este ejercicio les da a los estudiantes la oportunidad de trabajar con permisos de archivos y directorios.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. tendr la capacidad de aplicar permisos en archivos y directorios.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Creando cuentas de usuario Con el objetivo de demostrar el uso de permisos en su totalidad, Ud necesita crear unos pocos usuarios adicionales tux1 y tux2, quienes son miembros del grupo penguins. Para esto, necesita ejecutar algunos comandos que no se han cubierto an en el curso y que normalmente no se necesitan ejecutar como usuarios comunes. 1. En una terminal loguese como root. 2. Ejecute la siguiente serie de comandos: # groupadd penguins # useradd -m -g penguins -c Tux el Pinguino (1) tux1 # useradd -m -g penguins -c Tux el Pinguino (2) tux2 # passwd tux1 New password: pinguino1 Retype new password: pinguino1 # passwd tux2 New password: pinguino2 Retype new password: pinguino2
3. En otra terminal, loguese como tux1 con el password pinguino1 y en otra loguese como tux2 con el password pinguino2.
Permisos en archivos y directorios 4. Cmbiese a la terminal donde est como el usuario tux1 y observe sus permisos sobre su directorio home. 5. Cmbiese a la terminal donde Ud est como tux2. Intente cambiarse al directorio home de tux1, o leer el contenido del directorio home de tux1. Funciona? En un sistema Fedora, CentOS o Reh Hat, ambos comandos fallan, pues los permisos por defecto sobre los directorios home de los usuarios estn seteados a rwx------. 6. Cmbiese a la terminal donde est como el usuario tux1 y cambie los permisos sobre el directorio home de tux1 de modo que otros usuarios estn permitidos de leer y acceder en l. Luego intente acceder al directorio nuevamente como tux2. Funciona? 7. Como tux2, intente crear y borrar archivos en el directorio home de tux1. Funciona? 8. De nuevo regrese a la Terminal donde est como tux1. Cree un directorio bin y copie el archivo /bin/ls en este directorio, renombrndolo a my_ls en el proceso. 9. Configure los permisos en my_ls a rw-r------, luego intente ejecutarlo, tanto como tux1 y como tux2. Funciona? Por qu no? 10. Ahora configure los permisos a rwxr-xr-x, entonces intente ejecutar el archivo my_ls una vez ms, tanto como tux1 como tux2. Funciona ahora? 11. Intente ejecutar my_ls como tux1 y tux2, y como Ud mismo, pero ahora con los permisos: rw-------, rw-rw----, rwx------, rwx--x--- y rwx--x--x. Qu permisos se requieren, los mnimos, para que tux1 pueda ejecutar my_ls? Cules son los permisos mnimos que se requieren para tux2? Qu permisos requiere su propia cuenta de usuario? FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 6: Fuentes de Documentacin de Linux
De qu se trata este ejercicio El propsito de este ejercicio es dar a los estudiantes la oportunidad de explorar y experimentar con los comandos man e info. Los estudiantes tambin leern documentacin FAQ y HOWTO.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Usar el comando man Usar el comando info Localizar y usar otro tipo de documentacin Linux
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Pginas man 1. Si Ud no est ya logueado en el sistema, hgalo como tux1 en una Terminal virtual. 2. Abra las pginas man para el comando man. Lea el texto que sigue para obtener un mejor entendimiento de la funcionalidad del comando man. 3. Busque el string PAGER en la pgina manual del comando man. 4. Use la tecla <q>para finalizar el comando man. 5. Abra la pgina man del comando ls Muvase a travs de las pginas manuales: a. Vaya a la ltima pgina b. Vaya a la pgina anterior c. Vaya a la primera pgina Tipee esos comandos mientras observa la pgina man de ls. 6. Cierre el comando man. 7. Encuentre qu pginas manuales tienen que ver con passwd. Luego vea cada pgina, pasando el nmero de seccin correspondiente. Nota: Si el comando man -k o apropos no funcionan, entonces necesita ejecutar el comando makewhatis como root. Normalmente, el comando makewhatis es ejecutado automticamente cada noche, pero ya que su sistema est recin instalado, podra no haberse ejecutado todava.
Comando info 8. Vea la documentacin de info del comando finger. Est Ud leyendo documentacin info ahora? 9. Muvase a travs de esta pgina usando la barra espaciadora <space> o la tecla <backspace>. 10. Lea la ayuda para el comando info. Use la tecla <l>para regresar a la informacin de finger. 11. Termine el comando info. 12. Lea la documentacin info del comando info. Use el men utilizando las teclas <tab>y <m>.
Documentacin adicional 13. Haga un listado de todos los directorios en el directorio /usr/share/doc. Abra algunos de estos directorios para observar el tipo de informacin que est disponible. 14. Si los sistemas del aula de clase tienen una conexin a Internet, entonces eche un vistazo a la pgina http://www.tldp.org. Este es el principal site de documentacin de Linux. Note que en algunos casos se requiere algn tipo de configuracin adicional de su web browser pues el aula de clase est detrs de algn tipo de firewall basado en Proxy. En este caso, su instructor le dar ayuda adicional.
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo . Ejercicio 7: Estructura del sistema de archivos de Linux
De qu se trata este ejercicio El propsito de este ejercicio es dar a los estudiantes una idea clara acerca de la estructura del sistema de archivos comn en la mayora de los sistemas Linux.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Describir la forma en la que el filesystem de Linux est configurado Montar y desmontar sistemas de archivos Crear y manipular dispositivos de disco Localizar archivos y directorios en el sistema de archivos de Linux.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Descubriendo el filesystem 1. En una Terminal virtual loguese como root. 2. Haga un listado de los directorios presentes en la raz de su filesystem y ejecute los pasos 3. y 4. para cada uno de estos directorios. 3. Ejecute el comando du en cada directorio. El comando du muestra la cantidad de espacio en disco que el directorio y todos sus subdirectorios utilizan (en kilobytes). Qu directorio contiene la mayor cantidad de informacin? Por qu? 4. Haga cd a cada directorio y liste sus contenidos. Si hay subdirectorios importantes, liste sus contenidos tambin. No intente, sin embargo, listar todo. Intente descubrir qu clase de archivos encuentra en cada directorio. Accediendo al CD ROM 5. Observe el contenido del archivo /etc/fstab. En qu ubicacin se montar su CD ROM? 6. Liste los contenidos de los directorios que va a ser usado como punto de montaje para su CD ROM. 7. Inserte un CD en su drive de CD ROM y mntelo, luego mire los contenidos del punto de montaje nuevamente. Nota: En algunas situaciones, el CD ROM es automticamente montado. Esto debido a que algunas distribuciones estn configuradas para correr el servicio autorun cuando un usuario se loguea en un ambiente grfico. Este servicio imita el comportamiento de MS Windows: Chequea el drive de CD ROM cada segundo, monta el CD si uno es encontrado, e intenta correr el ejecutable autorun si est presente en el CD. 8. Intente expulsar el CD ROM. Funcional? Desmonte el CD ROM, luego intente expulsarlo de nuevo. Funciona ahora? 9. En otra Terminal virtual loguse como tux1 si no lo est ya. Intente montar el CD ROM desde ah. Funciona? Por qu? Finalmente desmonte, expulse y remueva el CD. Particionamiento 10. En una Terminal virtual, logueado como root, liste todas las particiones que se encuentran formando parte de su disco. Identifique el tipo de disco y el nmero de particin, as como su correspondiente punto de montaje en el sistema. 11. Loguese como root y desmonte la particin donde est alojado el sistema de archivos de home y haga un chequeo del filsystem con la herramienta fsck. Luego monte la particin nuevamente en el punto de montaje correspondiente. Localizacin de archivos 12. Como usuario root, haga una bsqueda con el comando find para encontrar todos los archivos que contengan en su nombre el string csh, dentro del directorio /usr. 13. Igualmente como usuario root, determine la ubicacin exacta en las estructura de archivos, del comando ls. 14. Ahora localice el patrn csh utilizando el comando locate. Realice si fuera necesario la actualizacin de la base de datos mediante el comando updatedb. 15. Busque todas las correspondencias de cat utilizando el comando whatis. Asimismo utiliza para ello el comando apropos.
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 8: Herramientas para el manejo de Filesystems
De qu se trata este ejercicio El propsito de este ejercicio es introducir a los estudiantes en las herramientas de manejo de espacio en los sistemas de archivos, a travs del establecimiento de cuotas de disco, el control y monitoreo de las mismas y el uso de hard y symbolic links.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Utilizar los comandos esenciales para la implementacin de cuotas de disco Habilitar y monitorear el uso de cuotas de disco en un sistema de usuarios Manejar y crear Hard y Symbolic Links
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio Creacin de cuotas de disco de usuario 1. Abra el archivo /etc/fstab y asegrese de que las cuotas de disco estn habilitadas en /home, para usuarios. (opcin usrquota). Desmonte y monte nuevamente el filesystem de modo que los cambios realizados tomen efecto. 2. Cree el archivo vaco aquota.user dentro del directorio raz del sistema de archivos (/home) (touch /home/aquota.user) 3. Active el chequeo de cuotas en el sistema de archivos. (quotacheck /home) 4. Active las cuotas de disco en el sistema de archivos. (quotaon) 5. Configure el softlimit de los usuarios tux1 y tux2 en 4 MB y el hardlimit en 5MB. (edquota -u tux1) 6. Loguese como usuario tux1 en otra Terminal virtual y cree 5 archivos de 1 MB cada uno. Observe lo que sucede. Utilice el siguiente comando para la creacin de cada archivo de 1 MB: dd if=/dev/zero of=one bs=1M count=1 7. An logueado como tux1, revise el estado de la cuota, (quota) 8. En una sesin de root cheque las cuotas de todos los usuarios (repquota /home)
Hard y Symbolic Links 9. Dentro del directorio /etc/rc.d/ liste el contenido de cada uno de sus subdirectorios y observe los links existentes. (comando ls -l) 10. Loguese como tux1 y cree un archivo llamado myfile 11. Cree un symbolic link hacia myfile y que se llame myslink (ln s myfile myslink) 12. Cree un hard link hacia myfile llamado myhlink (ln myfile myhlink) 13. Utilizando el comando ls liste el contenido del directorio donde est trabajando y verifique la creacin de los links. 14. Utilizando el comando stat y como argumento a myfile y myhlink, verifique que estos dos hacen referencia al mismo inode. 15. Utilizando en comando ls -li myslink verifique que este link posee su propio inode.
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 9: Edicin de Archivos
De qu se trata este ejercicio El propsito de este ejercicio es dar a los estudiantes la oportunidad de crear y editar archivos usando el editor de UNIX ms popular, vi, y para probar otros editores tambin disponibles.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Usar vi para crear y editar archivos. Listar algunos otros editores tambin disponibles en el sistema.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Trabajando con vi 1. Loguese como tux1 en una Terminal virtual. 2. Asegrese de encontrarse en su directorio home. Cree un archivo llamado vitest usando vi. Escriba el siguiente texto y el alfabeto marino en el archivo vitest. Agregar el alfabeto es una manera fcil de llenar un par de pantallas de informacin necesaria para un uso posterior. Esta es una sesin de entrenamiento para el uso de vi.
A alfa B bravo C charlie D delta E eco F fox G golf H hotel I indian J july K kilo L lima M mike N november O oskar P papa Q quebec R romeo S sierra T tango U uniforme V victor W whisky X xerox Y yanky Z zolu
3. Regrese al modo comando. Guarde y salga del archivo. Note que tan pronto presione los dos puntos (:), estos aparecen bajo la ltima lnea de su rea de entrada. Una vez que el bfer est vaco y el archivo cerrado, Ud ve un mensaje con el nmero de lneas y caracteres en el archivo. Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Teclas de movimiento del cursor 4. Abra de nuevo el archivo vitest. Note que la ltima lnea en la pantalla muestra el nombre del archivo y el nmero de caracteres. 5. Utilizando las teclas <h>, <j>, <k> y <l>, practique movindose a travs del archivo. 6. Usando los comandos vi apropiados para moverse a travs del texto: a. Muvase una pgina adelante <Ctrl-f> b. Muvase una pgina atrs <Ctrl-b> c. Mueva al cursor a la primera lnea en la pantalla H d. Mueva al cursor a la ltima lnea en el archivo G e. Mueva el cursor a la primera lnea en el archivo :1 <enter> f. Mueva el cursor a la lnea 5 del archivo :5 <enter> g. Mueva el cursor al final de la lnea $ h. Mueva el cursor al final de la lnea 0
7. Cambie el archivo vitest de manera que despus de cada letra del alfabeto, un primer nombre comn sea agregado y que inicie con esa letra. Asegrese de usar distintos mtodos para conmutar del modo de comandos al modo de edicin (insert). El archivo debera verse ms o menos as: A alfa Ani B bravo Ben C charlie Carlos
8. Practique algo ms con los comandos que se encuentran en la hoja de resumen. 9. Guarde el archivo pero no salga de vi.
Bsqueda global y reemplazo 10. Reemplace todos los espacios en el archivo vitest con tabs (:%s / / <TAB>/g) 11. Guarde su archivo (:wq, :x o ZZ)
Trabajando con otros editores 12. Su sistema tiene otros editores en modo texto y grfico que estn disponibles. Inicie alguno de ellos. gedit vitest kedit vitest hexedit vitest
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 10: Conceptos Bsicos de Shell
De qu se trata este ejercicio El propsito de este ejercicio es dar a los estudiantes la oportunidad de conocer las caractersticas bsicas del shell de Linux.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Usar wildcards para expansin de nombres de archivos. Re-direccionar stdin, stdout y stderr. Usar pipes para proveer la salida de un proceso como entrada de otro. Ejecutar agrupamiento de comandos.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Wildcards 1. Loguese como tux1 2. Vaya al directorio /etc y haga una lista de todos los archivos aqu. 3. Use ls con wildcards para listar nombres de archivos - Que terminen en conf. (ls -d *conf) - Que empiecen con d o D (ls -d [dD]*) - Que tengan una o en la quinta posicin (?????o*) - Que contengan la palabra tab (en cualquier combinacin con caracteres maysculas y minsculas) (ls -d *[tT][aA][bB]*) - Que terminen con un nmero (ls -d *[0-9]) - Que no terminen en un nmero (ls -d [!0-9]) 4. Qu sucede si ejecuta el comando ls -d ?[!y]*[e-f]? Cul ser el nombre de archivo ms corto que podra corresponder? Ejecute este comando para verificar su respuesta. 5. Regrese a su directorio home. Redireccin 6. Use el comando cat y redireccin para crear un archivo llamado junk que contengan unas pocas lneas de texto. Cuando Ud haya escrito unas pocas lneas, termine su entrada al comando y retorne al prompt de shell. Luego vea los contenidos del archivo que ha creado. $ cat > junk Escriba algunas lneas de informacin <Ctrl-D> $ cat junk 7. Agregue algunas lneas ms al archivo junk usando redireccin. Luego vea los contenidos del archivo junk y cheque si todas las lneas que guard en este archivo estn ah. $ cat >> junk Escriba algunas lneas de informacin <Ctrl-D> $ cat junk
Pipes, Tees y Filtros 8. Cuente el nmero de archivos en su directorio actual. Use un pipe. No cuente los archivos manualmente. $ ls | wc -l 9. Hacen ls > tempfile; wc -l tempfile; rm tempfile lo mismo que el comando anterior?, Por qu? O Por qu no? 10. Use el comando ls y guarde la salida en un archivo llamado tempfile2 antes de contar los archivos. $ ls | tee tempfile2 | wc -l 11. Use el comando sed para alterar la salida del comando ls -l /etc, de modo que se vea como si Ud poseyera todos los archivos en /etc. Ejecute esto con y sin la opcin global. Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Cul es la diferencia? $ ls -l /etc | sed s/root/tux1/ $ ls -l /etc | sed s/root/tux1/g 12. Use el comando awk para mostrar la primera y novena columna de la salida del comando ls -l /etc. $ ls -l /etc | awk {print $1 $9} 13. Use el comando tac para mostrar la salida del comando ls en orden reverso. $ ls | tac 14. Use el comando nl para numerar las lneas del archivo tempfile $ nl tempfile
Agrupamiento de comandos 15. En la misma lnea de comandos, muestre la fecha actual del sistema y todos los usuarios que estn logueados en el sistema y guarde todo esto a un archivo, luego de numerar sus lneas. Cheque su salida. $ ( date ; who ) | nl > users $ cat users
Ambiente de proceso 16. Muestre todas las variables que estn definidas en su ambiente de proceso actual. Tambin muestre las variables actualmente exportadas. $ set | less $ env | less
17. Cree una variable x y setee su valor a 10. Revise el valor de la variable. Muestre nuevamente todas sus variables actuales. $ x=10 $ echo $x $ set | less $ env | less 18. Cree un subshell. Cheque el valor que x mantiene en l. Cul es el valor de x? Liste las variables actuales del subshell. Ve alguna entrada para x? $ bash $ echo $x $ set | less 19. Setee el valor de x a 500 y regrese al proceso padre.Cul es el valor actual de x? Por qu? $ x=500 $ exit $ echo $x 20. Asegrese de que los procesos hijos hereden la variable x. Verifique esto creando un Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo subshell y chequeando el valor de la variable x. Luego de esto salga del subshell. $ export x $ env | less $ bash $ echo $x $ exit
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 11: Procesos del Sistema
De qu se trata este ejercicio Este ejercicio familiariza a los estudiantes con la manipulacin y control de procesos.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Monitorear procesos Cambiar y entender el ambiente de procesos Controlar jobs (trabajos del sistema) Terminar procesos
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Listando Procesos 1. Haga login como usuario tux1 en una Terminal virtual. 2. Revise el PID de su ambiente de login y luego cree un subshell digitando el comando bash, Cul es el PID del subshell? Es diferente de su proceso de login? __________________________________________________________________ __________________________________________________________________ 3. Ingrese el comando ls -R / > outfile 2> /dev/null & y luego muestre los procesos que estn corriendo en el sistema. Qu procesos estn corriendo? __________________________________________________________________ __________________________________________________________________ 4. Mientras el comando ls est todava corriendo, ejecute el comando pstree. (Podra ser necesario reiniciar el comando ls). 5. Haga login como tux2 en otra Terminal virtual y ejecute el comando vi tux2_file. 6. Regrese a la Terminal de tux1 y muestre todos los procesos de su sistema. Si es necesario, revise las pginas man e info para encontrar las opciones correctas que muestren todos los procesos corriendo en el sistema. Busque sus propios procesos, as como los procesos de tux2. 7. Ejecute nuevamente el comando ls -R / > outfile 2> /dev/null & y luego salga de su Terminal, con el comando exit. En una nueva Terminal virtual liste los procesos que estn corriendo. Qu pasa con los procesos si mata a sus procesos padre?
Control de Jobs 8. Usando vi u otro editor, cree un archivo llamado myclock en su directorio bin con los siguientes contenidos: whi l e t r ue do dat e sl eep 10 done Haga el script ejecutable. 9. Corra el script myclock. 10. Suspenda el job que inici. 11. Liste todos los jobs que Ud. est corriendo en el sistema y reinicie el job anterior en el background. 12. Liste todos los usuarios que han hecho login. Traiga de nuevo al job hacia el foreground, espere hasta recibir una marca de tiempo y luego salga del job.
Terminando un proceso 13. Ejecute el script myclock nuevamente, esta vez en el background. Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo 14. Liste todos sus procesos y mate el proceso sleep. Qu sucede? 15. Ahora detenga el script de shell myclock.
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 12: Utilitarios del Sistema Operativo
De qu se trata este ejercicio El propsito de este ejercicio es familiarizar a los estudiantes con algunas herramientas tiles disponibles en Linux.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Listar columnas especficas de un archivo Buscar lneas que correspondan a un patrn dentro de archivos de texto Ordenar las lneas de un archivo Mostrar las primeras o ltimas lneas de un archivo Encontrar la ubicacin de ejecutables Comprimir y descomprimir archivos
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Trabajando con cut 1. Muestre el contenido del archivo /etc/passwd $ cat /etc/passwd 2. Muestre nicamente el nombre de usuario y el directorio home de los usuarios listados en /etc/passwd. $ cut f1,6 -d: /etc/passwd 3. Muestre el nombre y los miembros de todos los grupos listados en /etc/group $ cut -f1,4 -d: /etc/group 4. Liste nicamente el tipo, tamao y nombre de los archivos en el directorio actual. $ ls -l | cut -c1-1,31-45,52-
Trabajando con grep 5. Encuentre todas las lneas que empiecen con la letra s en el archivo /etc/passwd. $ grep ^s /etc/passwd 6. Repita la bsqueda anterior, pero esta vez solamente muestre el nmero de lneas que contienen el patrn. $ grep c ^s /etc/passwd 7. Encuentre todos los procesos corriendo en el sistema cuyos dueos son tux1 y tux2. $ ps aux | egrep tux1|tux2
Trabajando con sort 8. Muestre los contenidos del archivo /etc/passwd en orden alfabtico. $ sort /etc/passwd 9. Muestre los contenidos del archivo /etc/passwd nuevamente, pero ahora ordenados por el campo de directorio home. $ sort -t: +5 /etc/passwd
Trabajando con head y tail 10. Muestre las primeras lneas del archivo /etc/passwd $ head /etc/passwd 11. Muestre las ltimas 6 lneas del archivo /etc/passwd $ tail -6 /etc/passwd 12. El comando tail es tambin muy til para mostrar informacin correspondiente a la salida en tiempo real de un comando. Primero, liste los procesos que estn corriendo actualmente en el sistema, note las cabeceras. Luego, muestre los procesos corriendo en su sistema excluyendo la informacin de cabecera. $ ps $ ps | tail +2
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Trabajando con los comandos type, which y whereis 13. Encuentre donde est almacenado el comando passwd. Localice las pginas manuales para este comando. $ type passwd $ which passwd $ whereis passwd
Trabajando con gzip, gunzip y zcat 14. Cree un archivo grande llamado big en su directorio home, por ejemplo capturando la salida del comando ls -lR /. Cul es el tamao de big? $ ls -lR / > big 2>&1 $ ls -l big 15. Haga el archivo dos veces su tamao. $ cp big big2 $ cat big2 >> big $ rm big2 16. Anote el tamao de big _______ Comprima el archivo big. Cul es el nuevo tamao del archivo y cul es su nuevo nombre? _________________ $ ls -l big $ gzip big $ ls -l big* El nuevo nombre es big.gz 17. Mire los contenidos del archivo big.gz $ zcat big 18. Restaure el viejo archivo big. $ gunzip big $ ls l big* El nombre es big nuevamente.
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 13: Programacin Bsica de Shell
De qu se trata este ejercicio Luego de utilizar Linux por un tiempo, Ud encuentra ciertas caractersticas de su ambiente que le gustara adaptar a algunas tareas que ejecuta regularmente y que quisiera automatizar. Este ejercicio le introduce a algunas de las ms comunes construcciones utilizadas para ayudarle escribiendo scripts de shell para personalizar y automatizar su ambiente computacional.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Listar construcciones comunes usadas para escribir scripts de shell Crear y ejecutar scripts de shell simples
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Trabajando con parmetros posicionales 1. Loguese como tux1 en una Terminal virtual. 2. Cree un script de shell llamado parameters que devuelva los cinco parmetros que siguen, usando variables especiales predefinidas seteadas por el shell, para llenar los espacios en blanco. Ejecute el script usando los argumentos: 10 100 1000. $ vi parameters echo El nombr e de est e scr i pt es $0. echo El pr i mer par met r o pasado es el nmer o: $1. echo El segundo par met r o pasado es el nmer o: $2. echo El t er cer par met r o pasado es el nmer o: $3. Echo En t ot al f uer on $# par met r os pasados. $ chmod +x parameters $ ./parameters 10 100 1000
Ejecucin Condicional 3. Usando la ejecucin condicional, cree un script llamado checkfile que confirme si el archivo llamado parameters existe en su directorio. Si existe, use un comando para mostrar su contenido. Ejecute el script. $ vi checkfile [ - f par amet er s ] && cat par amet er s $ chmod +x checkfile $ ./checkfile 4. Modifique el script checkfile y cambie el nombre del archivo de parameters a noname (revise que no tenga un archivo con ese nombre en su directorio). Asimismo, usando ejecucin condicional, si el comando ls no fue exitoso, muestre el mensaje de error, El archivo no fue encontrado. Ejecute el script. $ vi checkfile [ - f nof i l e ] && cat nof i l e | | echo El ar chi vo no f ue encont r ado $ ./checkfile 5. Modifique el script checkfile para aceptar un parmetro nico como entrada de la lnea de comandos a los comandos ls y cat. Ejecute el script dos veces, una vez usando el archivo parameters y una vez ms usando el archivo llamado noname. $ vi checkfile [ - f $1] && cat $1 | | echo $1 no f ue encont r ado $ ./checkfile parameters $ ./checkfile noname 6. Ejecute el script checkfile nuevamente, pero esta vez sin parmetros. Qu sucede? Modifique el script de manera que esto no aparezca nuevamente. $ ./checkfile $ vi checkfile Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo [ - f $1 ] && cat $1 | | echo $1 no f ue encont r ado $ ./checkfile
Loops 7. Usando el lazo for, modifique el script checkfile para aceptar mltiples archivos como entrada desde la lnea de comandos, en lugar de slo uno. Si los archivos son encontrados, mustrelos. Si no son encontrados muestre un mensaje de error mostrando todos los nombres de los archivos que no fueron encontrados. Mire en su directorio y note unos pocos nombres de archivos vlidos que pueda usar como entrada. Ejecute el script usando nombres de archivos vlidos e invlidos. $ vi checkfile f or x i n $* do [ - f $x ] && cat $x | | echo $x no f ue encont r ado done $ ls $ ./checkfile filename filename filename (Donde filename es reemplazado por nombres de archivos vlidos e invlidos de su directorio) 8. Ahora haga lo mismo, pero use un lazo while en combinacin con el comando shift. $ vi checkfile whi l e [ ! - z $1 ] do [ - f $1 ] && cat $1 | | echo $1 no f ue encont r ado shi f t done
Aritmtica 9. De la lnea de comandos, muestre el resultado de multiplicar 5 por 6. $ echo $((5 * 6)) 10. Ahora cree un script llamado math para multiplicar cualquier par de nmero cuando se ingresen como parmetros en la lnea de comandos. Ejecute el script multiplicando 5 por 6. Experimente con otros dos nmeros. $ vi math echo $( ( $1 * $2 ) ) $ chmod +x math $ ./math 5 6
Ejercicio de integracin (opcional) 11. Use el conocimiento que gan en este curso para escribir un script que acepte un nombre directorio como parmetro y calcule el tamao total de los archivos en ese directorio. Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo $ vi sum i f [ - d $1 ] t hen sum=0 f or i i n $( l s - l $1 | cut - c32- 42 ) do sum=`expr $sum + $i ` done echo El t amao t ot al de l os ar chi vos en $1 es $sum. f i $ ./sum /tmp
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 14: La interfaz grfica en Linux
De qu se trata este ejercicio Este ejercicio nos da la oportunidad de tomar contacto con los dos ambientes de escritorio principales en Linux: KDE y GNOME.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Iniciar X Trabajar con GNOME Trabajar con KDE Listar y configurar varias aplicaciones en GNOME y KDE
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Iniciando el GUI 1. Loguese como root en una Terminal virtual. 2. Edite el archivo /etc/inittab y asegrese que el runlevel por defecto sea 3. 3. Reinicie el sistema. El ambiente grfico inicia? 4. Loguese como tux1 e inicie X con en comando startx. 5. Finalice el ambiente X, haga logout y loguese como root. 6. Edite el archivo /etc/inittab nuevamente y configure nuevamente el runlevel 5 por defecto. Reinicie el sistema nuevamente. Inici el ambiente grfico?
Trabajando con GNOME y KDE 7. Haga login en el ambiente grfico usando su propio nombre. 8. Tanto GNOME como KDE tienen sus propias aplicaciones como procesadores de palabras, manejadores de archivos, editores de texto, etc, como una parte estndar del cdigo base. Estas aplicaciones son tpicamente competidores directos de sus aplicaciones correspondientes en una plataforma MS Windows. Una instalacin Linux por defecto instala muchas de estas aplicaciones y Ud puede descargar muchas ms de la pgina web de GNOME o KDE. 9. Descubra dentro de cada ambiente de escritorio algunas de las herramientas que provee, muchas de ellas llevan nombres relacionados con el ambiente, por ejemplo kcalc, kwrite, gedit, gnome-calculator, etc. Utilice y pruebe cada una de estas herramientas tanto en KDE como en GNOME, usando el men de manejadores de pantalla, que aparece cuando hace logout del GUI. 10. En KDE intente iniciar una aplicacin GNOME y viceversa. Funciona? Intente cortar y pegar entre las aplicaciones GNOME y KDE. Funciona?
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 15: Adecuacin del Ambiente de usuario
De qu se trata este ejercicio Cuando los usuarios hacen login, generalmente prefieren sus ambientes adaptados a cubrir sus necesidades especficas. En este ejercicio, los estudiantes adaptarn su ambiente con algunas funciones muy tiles que son invocadas cada vez que hacen login.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Adaptar los archivos .bash_profile y .bashrc Setear definiciones de alias Alterar valores de umask
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Adaptando el ambiente de shell 1. Loguese como tux1 en una Terminal virtual. 2. Edite el archivo apropiado para cambiar su ambiente cada vez que se ha logueado. Asegrese de tener las siguientes funciones cuando haga login. - Cambie el prompt primario para mostrar el path completo del directorio actual. - Mostrar un mensaje indicando su nombre de login y la fecha en la que hizo login. - Defina un alias num que muestre cuntos usuarios estn logueados en ese momento. - Setee la variable cheese con el valor gouda. $ vi .bash_profile PS1=$PWD $ echo El usuario $LOGNAME hizo login el $(date) alias num=who | wc -l cheese=gouda
Adaptando el ambiente de shell 3. Haga logout y login nuevamente. Cheque si las funciones que defini en el paso 1 estn activadas. - Muestra su prompt el path completo a su directorio actual? - Se muestra su mensaje? - Puede usar el comando num? - Est la varianle cheese seteada en gouda? 4. Si todas las preguntas anteriores fueron respondidas con si, contine con el paso 5, si no es as, trate los pasos 2 y 3 nuevamente y ubique los inconvenientes. 5. Inicie un subshell y responda las siguientes preguntas. - Muestra su prompt el path completo a su directorio actual? - Se muestra su mensaje? - Puede usar el comando num? - Est la varianle cheese seteada en gouda? 6. Si las configuraciones estn tambin disponibles en subshells, contine con el paso 9, si no, contine con el paso 7. 7. La mayora de configuraciones, con excepcin de las variables del sistema se aplican solamente al ambiente actual y no se pasan a los subshells (procesos hijos). Hay un archivo de configuracin en el sistema que permite que estas configuraciones estn disponibles tambin en subprocesos. Qu archivo es ste? 8. Edite los archivos .bash_profile y .bashrc de manera que los parmetros adecuados estn en el archivo de configuracin respectivo. Qu datos deberan estar en .bash_profile y cules en .bashrc? 9. Haga logout y login nuevamente y verifique que las configuraciones anteriores estn seteadas en su ambiente de login. Revise tambin si estos datos estn seteados en un subshell. 10. En los pasos previos, Ud alter archivos de configuracin y luego hizo logout y login para Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo activar las nuevas configuraciones. Qu podra hacer para activar estas configuraciones en un archivo adaptado, sin hacer login y logout? 11. Retorne nuevamente a su shell de login. 12. Borre el alias num de su ambiente sin necesidad de editar el archivo .bashrc o .bash_profile. Luego liste la lista de alias seteados en ese instante intente ejecutar el alias num. 13. Agregue el alias num a su ambiente y confirme si est de regreso nuevamente.
Adaptando el ambiente X 14. Dentro de la interfaz grfica, abra algunas aplicaciones, y haga logout. Mientras hace logout active la opcin Save Setup. Luego haga login nuevamente. Aparecen sus aplicaciones y configuraciones nuevamente?
FIN DEL EJERCICIO Ejercicio 16: Configuracin Bsica del Sistema
De qu se trata este ejercicio Este ejercicio brinda la oportunidad de familiarizarse con la configuracin bsica del sistema que podra necesitarse en una Workstation.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Instalar y desinstalar RPMs Configurar una tarjeta de sonido Configurar una tarjeta de red
Instrucciones de Ejercicio
El manejador de paquetes de Red Hat (RPM)
1. Loguese como root en su ambiente grfico. Abra una ventana Terminal.
2. Haga una lista de todos los paquetes que estn instalados en el sistema.
3. Liste la informacin del paquete bash.
4. Liste todos los archivos dentro del paquete bash.
5. Liste todos los paquetes que contenga su medio de instalacin (archivos rpm dentro de su CD)
6. Liste la informacin del paquete webmin contenido en su CD de datos, antes de instalarlo. Verifique que no est instalado.
7. Instale el paquete webmin.
8. Verifique que en efecto el paquete webmin est instalado.
9. Desinstale el paquete webmin y verifique que ya no est disponible en el sistema.
Configuracin de una tarjeta de sonido (Opcional) 10. Use la herramienta de configuracin de tarjeta de sonido que se incluya en su distribucin y configrela. Intente reproducir algo de audio.
Configuracin de una tarjeta de red (Opcional) 11. Inspeccione los archivos donde la configuracin de red de su sistema est almacenada. 12. Observe la configuracin actual utilizando comandos especficos del sistema. 13. Intente cambiar la configuracin actual de red y observe los cambios realizados. Vuelva a dejar la configuracin original.
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 17: Asegurando una estacin Linux
De qu se trata este ejercicio Este ejercicio provee la oportunidad de aplicar las tcnicas que pueden ser usadas para asegurar una estacin en Linux.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Hacer una lista de los puertos abiertos Determinar qu servicios son responsables de qu puertos abiertos Deshabilitar servicios innecesarios.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Determinando qu servicios tienen puertos abiertos 1. Loguese como root en su ambiente grfico y abra una ventana Terminal. 2. Haga una lista de todos los puertos abiertos en el sistema. Identifique todos los puertos que estn en un estado LISTEN 3. Para cada uno de los puertos del paso anterior determine qu PID abri ese puerto. Luego determine cul es el nombre del proceso para ese PID. 4. Consulte las pginas manuales y la informacin del RPM para ese proceso y determine su Ud necesita ese servicio corriendo o no.
Deshabilitando servicios innecesarios 5. Deshabilite cualquier servicio innecesario, utilizando el comando chkconfig. 6. Reinicie su sistema y cheque que todos los servicios innecesarios no iniciaron.
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 18: Integracin de Linux en un ambiente Windows
De qu se trata este ejercicio Este ejercicio brinda la oportunidad de familiarizarse con las diferentes opciones cuando se integra Linux en un Ambiente Windows.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. ser capaz de: Acceder a filesystems Windows Leer documentos con formatos de Windows
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio Actualmente algunas distribuciones de Linux como SuSE y Ubuntu vienen con soporte nativo para leer y escribir en sistemas de archivos NTFS. Otras distribuciones como Red Hat, Fedora y CentOS tienen la posibilidad de instalar una herramienta que actualiza las propiedades del kernel para poder leer y escribir en NTFS.
Accesando a filesystems Windows 1. En una estacin con Linux y Windows, desde el sistema Linux y logueado como root, haga una lista de todas las particiones que existen en su sistema con el comando fdisk l /dev/hda (IDE) o fdisk -l /dev/sda (SCSI) 2. Liste todos los filesystems que estn montados, utilizando el comando mount. Compare esta lista con la salida del comando previo. Esto debera darle una lista de los filesystems de Windows que no estn montados todava. 3. Consulte con el instructor acerca de la herramienta adecuada para dar a su kernel de Linux el soporte necesario para poder acceder a filesystems Windows (especialmente en referencia a sistemas NTFS) 4. Cree puntos de montaje bajo /mnt para todos los filesystems Windows que desea montar. Luego monte estos filesystems manualmente, usando el comando mount, Verifique que los filesystems han sido montados exitosamente y liste sus contenidos. 5. Agregue una lnea al archivo /etc/fstab de manera que se monte automticamente cuando se reinicia el sistema. Reinicie el sistema para verificar que funciona.
Open Office 6. Inicie Open Office e intente crear y guardar varios tipos de documentos: texto, presentaciones, hojas de clculo, etc. Intente guardarlos en formatos compatibles con Microsoft. 7. Inicie un browser y Google para buscar y obtener varios archivos en formato Microsoft (.doc, .xls, etc), verifique si puede abrirlos, modificarlos y guardarlos.
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 19: Planeamiento y Mantenimiento Fsico
Nota: Esta unidad no tiene ejercicios. Esta pgina simplemente asegura que la numeracin de los ejercicios se mantenga sincronizada.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 20: Instalacin Avanzada de Linux
De qu se trata este ejercicio Este ejercicio le permitir instalar el sistema operativo a travs de red.
Qu seremos capaces de hacer Al finalizar este ejercicio, Ud. debera tener experiencia en instalar Linux a travs de la red.
Materiales Requeridos Para completar este ejercicio, Ud. necesitar lo siguiente: - Un disco de instalacin de su distribucin. - La direccin IP del servidor de instalacin. Su instructor le proveer de la ltima de ellas.
Ejercicios del Estudiante
Instrucciones de Ejercicio
Instalacin de Servidor Web (Solamente en los equipos servidores) 1. Asegrese de que exista conexin de red entre las mquinas designadas como servidor y las clientes. 2. Verificar si est instalado el paquete para servicio web, utilizando el comando rpm -q httpd. 3. Si est instalado, lo activamos utilizando el comando service httpd start. 4. Probar si el servidor web est respondiendo a peticiones al respecto a travs de la red. Digitar en un browser http://ipdelservidor. 5. La raz del servidor web (Apache) es normalmente el path /var/www/html. Copie todos los archivos que estn incluidos en el DVD en el directorio /var/www/html usando el comando cp -a. # cp -a /punto/montaje/dvd/* /var/www/html/ 6. Al final Ud. tendr una gran cantidad de archivos dentro de /var/www/html/ con todos y cada uno de los paquetes del DVD de instalacin.
Instalacin va Red 7. Debe ser posible acceder va web al directorio base y a los paquetes dentro de l, utilizando el siguiente URL desde cualquier browser dentro de la red: http://192.168.1.91/CentOS/RPMS 8. Arrancar la mquina en la que se instalar el sistema operativo con el DVD de instalacin y en el prompt boot: colocar: linux askmethod.
9. El sistema solicitar la configuracin de una direccin IP para esa mquina. Configurar una direccin adecuada al esquema en el que se est trabajando. El instructor recomendar el valor adecuado en esta tarea. 10. Al asignar la direccin IP, el sistema solicitar el mtodo de instalacin a utilizarse. En este caso se escoge http y se especifica la direccin IP del servidor. Asimismo en la seccin donde se consulta el directorio raz ponemos a / como el correspondiente a la base donde se encuentra el directorio CentOS. Administracin Avanzada del Sistema Operativo Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo 11. Damos en Siguiente y comienza el proceso normal de instalacin que ya es conocido. 12. Para este proceso de instalacin tomar las medidas siguientes: - Mtodo de Particionamiento Manual o swap: 2 GB o /boot: 100 MB o /: 9 GB o /home: 1 GB o Libre: 2GB - En la configuracin del boot loader dejar los parmetros por defecto. - Configurar adecuadamente los parmetros de red. - No configure reglas de firewall y deshabilite SELinux. - Seleccione la zona horaria. - Asigne el password de root como lpic2009. - Seleccione los paquetes que desee instalar. El menor nmero posible.
13. Una vez concluido este proceso, la instalacin tomar de 15 a 30 minutos, dependiendo del nmero de paquetes seleccionados y del ancho de banda disponible a travs de la red. Durante el proceso de instalacin, cree tres usuarios adicionales: tux1, tux2 y tux3, todos ellos con el mismo password del usuario root.
Verificacin de instalacin va kickstart 14. Luego de reiniciar el sistema, haga login como root y eche un vistazo al archivo anaconda- ks-cfg en el directorio home de root. Reconoce las opciones que escogi durante el proceso de instalacin? 15. Identifique cada una de las partes o secciones del archivo, as como los lugares adecuados donde debera agregar informacin, en caso de que deseara personalizar toda una instalacin desatendida utilizando el archivo a travs de la herramienta kickstart.
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 21: Proceso de Encendido y Apagado
De qu se trata este ejercicio Este ejercicio ilustra el proceso de encendido y apagado de un sistema Linux.
Qu seremos capaces de hacer Al finalizar este ejercicio, Ud. debera ser capaz de: - Escoger entre una pantalla de login grfica y una de texto, al cambiar los run levels de un sistema. - Arrancar un sistema Linux en modo single-user - Usar editores de run level
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
El bootloader GRUB 1. Haga login como root 2. Cambie el archivo de configuracin /boot/grub/grub.conf de manera que se requiera un password cuando se intente alterar varias de las opciones de arranque. Asegrese de que el password est encriptado. Por conveniencia en clase use el password lpic2008. # grub grub>md5crypt Password: lpic2008 Encrypted: $1$J GuR//$kjOu7Q9kTZk01wFKWQqMb/ grub>quit
El valor Encrypted ser siempre diferente, utilice el obtenido en su caso a continuacin.
# vi /boot/grub/menu.lst
Nota: Cuando grub inicia, inicia probando dispositivos para determinar los dispositivos reconocidos en el BIOS. Esto puede tomar algo de tiempo, incluso varios minutos, dependiendo de su hardware. Espere hasta que esto est realizado para ejecutar el comando md5crypt dentro de grub.
Agregue la siguiente lnea sobre la primera lnea title del archivo /boot/grub/menu.lst: password --md5 $1$JGuR//$kjOu7Q9kTZk01wFKWQqMb/
Nuevamente, el password encriptado ser diferente en cada situacin.
3. Reinicie su mquina. Use el comando shutdown para ejecutar el proceso de reinicio. Luego intente alterar la secuencia de arranque, tanto sin utilizar la contrasea y luego utilizndola. # shutdown -r now Espere a que el sistema se apague, y mire el men del GRUB cuando aparezca. Observe la pantalla de manera cuidadosa para determinar las opciones que estn disponibles. Intente alterar la secuencia de arranque de Linux, por ejemplo agregando un parmetro de kernel como mem=64M. Cargue Linux nuevamente.
Recuperando mensajes del kernel
Los mensajes que son mostrados por el kernel pueden ser una herramienta muy til en la determinacin de problemas. Es por esto que Ud. podra desear recuperarlos, aun luego de que su sistema ha arrancado. 4. Haga login como root. 5. Observe los mensajes de kernel y el archivo de logs /var/log/messages. # dmesg | less # less /var/log/messages
Configurando el runlevel por defecto
El runlevel por defecto puede ser alterado para configurar tu sistema para su situacin. En este ejercicio, configure el runlevel por defecto en 3, de manera que Ud. reciba un prompt de login de texto.
6. Edite el archivo /etc/inittab, cambie la lnea: Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo id:5:initdefault: a id:3:initdefault: 7. Reinicie su sistema, esta vez usando Ctrl-Alt-Delete. 8. Luego de que GRUB aparece, no haga nada. Luego de 5 a 10 segundos, GRUB debera automticamente arrancar el sistema operativo por defecto. 9. Haga login como root e inicie el sistema en modo grfico. # init 5 10. Haga una lista larga de los archivos dentro de los directorios /etc/rc.d/rc3.d, /etc/rc.d/rc4.d, /etc/rc.d/rc5.d y /etc/rc.d/init.d. # ls -l /etc/rc.d/rc3.d # ls -l /etc/rc.d/rc4.d # ls -l /etc/rc.d/rc5.d # ls -l /etc/rc.d/init.d 11. Cree una lista de servicios con chkconfig, y revise su salida en relacin a la salida de los comandos previos. # chkconfig --list 12. Verifique que el servicio portmap est habilitado en un runlevel actual. Deshabilite este servicio, luego revise los links simblicos en /etc/rc.d/rc5.d nuevamente. # chkconfig --list portmap # chkconfig portmap off # chkconfig --list portmap # ls -l /etc/rc.d/rc5.d 13. Cheque si el demonio portmap est actualmente corriendo. Luego reinicie el sistema. # service portmap status # reboot 14. Habilite el servicio portmap nuevamente, e inicie el servicio de manera manual. # chkconfig portmap on # chkconfig --list portmap # service portmap start
Usando el Modo Single User El modo Single User es muy conveniente para mantenimiento del sistema.
15. Haga logout, reinicie el sistema con Ctrl-Alt-Delete y arranque el sistema en modo single user # exit <Ctrl-Alt-Delete> Si su sistema usa GRUB, presione p e ingrese el password. Luego presione e para editar la entrada del sistema operativo, y presione e una vez ms para editar la lnea de kernel. Luego, escriba single al final y presione Enter. Ahora presione b para arrancar Linux. En sistemas Fedora/RHEL Ud. no tendr que hacer login, Ud. obtendr un prompt de root inmediatamente.
15. Haga una lista de los procesos que estn corriendo. # ps ax 16. Reinicie el sistema. # reboot 17. Documente los cambios realizados en su sistema, especialmente en referencia a las contraseas implementadas.
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 22: Herramientas de Administracin del sistema
De qu se trata este ejercicio Este ejercicio brinda experiencia prctica en el uso de herramientas de administracin del sistema en su distribucin.
Qu seremos capaces de hacer Al finalizar este ejercicio, Ud. debera tener ser capaz de utilizar y configurar la herramienta de administracin del sistema en la distribucin que usa.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
Trabajando con la herramienta de administracin del sistema 1. Inicie la herramienta de administracin del sistema que vino con su distribucin. 2. Eche un vistazo de la estructura de mens de su herramienta de administracin del sistema para obtener una idea de la ubicacin de varios de los tems de configuracin.
Descargando e instalando webmin (extra y opcional) Si el tiempo y las circunstancias lo permiten, intente instalar webmin. Su instructor le dir como y dnde obtener la imagen de instalacin. Siga las instrucciones de la lectura para instalar, configurar y ejecutar webmin.
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 23: Herramientas de Empaquetamiento
De qu se trata este ejercicio Este ejercicio brinda algo de experiencia prctica en el uso de la herramienta de empaquetamiento en su distribucin.
Qu seremos capaces de hacer Al finalizar este ejercicio, Ud. debera tener ser capaz de: - Instalar, actualizar y desinstalar paquetes - Consultar paquetes - Verificar la autenticidad de paquetes - Crear paquetes simples
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
Recuperando informacin acerca de paquetes instalados 1. Haga una lista de todos los paquetes que estn instalados en el sistema. # rpm -q -a 2. Encuentre qu paquete instal el archivo /etc/inittab. rpm -q -f /etc/inittab 3. Liste la informacin de ese paquete. rpm -q -i -f /etc/inittab 4. Liste todos los archivos en ese paquete. rpm -q -l -f /etc/inittab 5. Verifique si todos los archivos en ese paquete son todava los mismos. Qu archivo ha cambiado y cmo? Por qu? rpm -V -f /etc/inittab Si Ud. ha realizado todos los ejercicios hasta ahora, debera observar que /etc/inittab ha cambiado, tanto el checksum MD5 como el tiempo de modificacin, pero no el tamao. Esto es debido a que Ud. cambi el runlevel por defecto.
Instalando paquetes 6. Monte el primer disco de sus medios de instalacin y cmbiese al directorio donde se monta el disco. # cd /media/cdrecorder 7. Agregue la clave pblica de la distribucin a su keyring. Use el comando find para localizar su clave pblica. # rpm --import RPM-GPG-KEY* 8. Verifique que el paquete fetchmail no est instalado (si lo est desinstlelo). Verifique el paquete en el DVD e instlelo. Luego verifique que est instalado. # rpm -q fetchmail # rpm -K fetchmail-version.rpm # rpm -ihv fetchmail-version.rpm # rpm -qil fetchmail-version.rpm 9. Desinstale el paquete wireshark. # rpm -e fetchmail
Usando un frontend para manejo de paquetes 10. Si es necesario, inicie X. Luego, inicie el frontend para RPM preferido para su distribucin. Use esto para instalar la seccin Games and Entertainment. # system-config-packages
Creando RPMs 11. Revise con su instructor si el archivo hello-1.2.tar.gz est disponible en algn lugar de la red para su descarga en el directorio /root. Si est disponible, vaya al siguiente paso. Si no estuviera disponible, Ud. necesita crearlo por su cuenta. En este caso cree un directorio /root/hello-1.2 y cree los siguientes archivos dentro de l. hello-1.2/hello.c #i ncl ude <st di o. h> mai n( ) { pr i nt f ( Hel l o Wor l d! \ n) ; } hello-1.2/README
( C) Syder i x Copyr i ght 2008 Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Est e pr ogr ama est l i cenci ado baj o GPL. Est e pr ogr ama i mpr i me el mensaj e Hel l o Wor l d! en p
ant al l a. hello-1.2/Makefile
al l : hel l o hel l o: hel l o. c gcc - o hel l o hel l o. c i nst al l : hel l o i nst al l - d $( DESTDI R) / usr / bi n i nst al l - s - m0755 o r oot g r oot hel l o $( DESTDI R) / usr / bi n/ hel l o cl ean: r mf hel l o
Nota: Las lneas que contienen comandos inician con un TAB, no con espacios!
Luego, regrese a su directorio /root y haga un archivo tar de todos estos archivos, y comprmalo con gzip.
# cd /root # mkdir hello-1.2 # cd /hello-1.2 # vi hello.c # vi Makefile # vi README # cd .. # tar -czvf hello-1.2.tar.gz hello-1.2/ 12. Copie el archivo hello-1.2.tar.gz hacia /usr/src/redhat/SOURCES # cp hello-1.2.tar.gz /usr/src/redhat/SOURCES 13. Cree el archive hello.spec como se muestra a continuacin en el directorio correcto. # vi /usr/src/redhat/SPECS/hello.spec
# #Ar chi vo SPEC par a el pr ogr ama hel l o wor l d # Summar y: Hel l o, Wor l d Pr ogr am Name: hel l o Ver si on: 1. 2 Rel ease: 1 Li cense: GPL Gr oup: Appl i cat i on Sour ce: hel l o- 1. 2. t ar . gz Di st r i but i on: Li nux Vendor : Syder i x Packager : J ose Est r ada Bui l dRoot : / var / t mp/ hel l o- 1. 2
%descr i pt i on Est e pr ogr ama i mpr i me el t ext o Hel l o Wor l d en l a pant al l a.
%pr ep %set up
%bui l d make
%i nst al l make i nst al l DESTDI R=${RPM_BUI LD_ROOT}
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo %f i l es %doc README / usr / bi n/ hel l o
14. Inicie la etapa prep de RPM y observe los resultados: # rpmbuild -bp /usr/src/redhat/SPECS/hello.spec # ls -lR /usr/src/redhat/BUILD # ls -lR /var/tmp/hello-1.2 15. Inicie la etapa de compilacin (build) de RPM y observe los resultados. # rpmbuild -bc /usr/src/redhat/SPECS/hello.spec # ls -lR /usr/src/redhat/BUILD # ls -lR /var/tmp/hello-1.2 16. Inicie la etapa de instalacin RPM y observe los resultados. # rpmbuild -bi /usr/src/redhat/SPECS/hello.spec # rpmbuild -lR /usr/src/redhat/BUILD # ls -lR /var/tmp/hello-1.2 # /var/tmp/hello-1.2/usr/bin/hello 17. Cree el binario RPM y observe los resultados. # rpmbuild -bb /usr/src/redhat/SPECS/hello.spec # ls -l /usr/src/redhat/RPMS/i386 # rpm -qilp /usr/src/redhat/RPMS/i386/hello-1.2-1.i386.rpm 18. Cree el RPM fuente y observe los resultados. # rpmbuild -bs /usr/src/redhat/SPECS/hello.spec # ls -l /usr/src/redhat/SRPMS # rpm -qilp /usr/src/redhat/SRPMS/i386/hello-1.2-1.src.rpm 19. Pruebe si existe un programa hello instalado. Ya que no lo est, instale su nuevo RPM hello usando el comando rpm. Prubelo, desinstlelo, y luego prubelo nuevamente. # hello (Esto debera fallar) # rpm -ihv /usr/src/redhat/RPMS/i386/hello-1.2.i386.rpm # hello (Esto no debera fallar) # rpm -e hello # hello (Esto debera fallar)
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 24: Sistema X Window
De qu se trata este ejercicio Este ejercicio trata sobre el uso del sistema X Window.
Qu seremos capaces de hacer Al finalizar este ejercicio, Ud. debera tener experiencia con: - Configurar XFree86, X.org. - Iniciar y detener X - Manejadores de ventanas - Ejecutar aplicaciones X sobre la red
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
Configurando Xorg 1. Si Ud. est en un runlevel que automticamente inicia X, cmbiese a un runlevel que no inicia X. Si Ud. inici X manualmente, detngalo. # init 3 2. Haga una copia de backup del archivo xorg.conf. # cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak 3. Intente configurar la resolucin de su monitor a un valor diferente al actual. # system-config-display 4. Busque en el archivo /etc/X11/xorg.conf el parmetro respectivo correspondiente al cambio de resolucin que realiz. 5. Cambie nuevamente la configuracin de su monitor al valor de resolucin anterior.
Corriendo Aplicaciones Para que una aplicacin sea ejecutada en un ambiente X, necesita estar lista para ello. La mayora de aplicaciones que inician con x lo estn. Ud puede ejecutarlas directamente. Las aplicaciones que no estn habilitadas para X, pueden ser ejecutadas desde una ventana xterm. Una ventana xterm emula una Terminal ordinaria en un ambiente X.
6. En X, inicie xterm desde uno de los mens manejadores de ventanas. En Linux, el xterm es algunas veces tambin conocido como xterm, kterm o algo ms terminado en term. Intente ejecutar algunos de estos comandos desde esta ventana. 7. Hay muchas formas de iniciar aplicaciones con X. Una de ellas es desde los mens de los manejadores de ventanas, que ya hicimos. Otra forma es desde la lnea de comandos desde una ventana xterm. Intntelo, en la ventana xterm, ejecute el comando xterm &. Ahora Ud. ve aparecer una nueva ventana xterm. 8. Otra forma de iniciar una aplicacin es desde una ventana de Terminal real. Note que X inicio en una Terminal virtual nmero 7, de manera que Ud. puede todava acceder a la nmero 1 hasta la 6. Intente cambiar entre las diferentes terminales. 9. Cmbiese a una ventana Terminal donde Ud. obtenga un prompt de lnea de comandos ordinario. Si es necesario, haga login como root: Ctrl-Alt-F1 Login:root Password:lpic2009 10. Ejecute xterm. Ud. debera observar un mensaje de eror: Cant open display. Lo que sucedi es que la aplicacin intent contactar el servidor X, pero no se encontr informacin en el ambiente acerca de cul servidor X contactar. Esta informacin es normalmente almacenada en la variable de ambiente $DISPLAY. # xterm 11. Realice un echo $DISPLAY en esta ventana. Tambin realice un echo $DISPLAY en una ventana xterm. # echo $DISPLAY # <Alt-F7> # echo $DISPLAY 12. Regrese nuevamente a la pantalla X y note que Ud. inici una ventana xterm extra con export DISPLAY=127.0.0.1:0.0. Ahora reinicie la aplicacin xterm. No deberan producirse mensajes de error. <Ctrl-Alt-F1> # export DISPLAY=:0.0 # xterm & 13. Regrese a la pantalla X y note que Ud. inici una ventana xterm extra. <Alt-F7>
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Ejecutando Aplicaciones sobre una Red
Dado que las aplicaciones utilizan una conexin TCP/IP para comunicarse con el servidor X, Ud. puede tambin ejecutar aplicaciones desde otro servidor.
14. GDM, el GNOME Display Manager, tiene una caracterstica de seguridad que deshabilita las sesiones X sobre la red. Esta caracterstica puede ser deshabilitada en un sistema Fedora/RedHat. Para deshabilitar esta caracterstica, modifique el archivo /etc/X11/gdm/gdm.conf: Setee la directiva DisallowTCP a false. Luego reinicie gdm, cambiando al runlevel 3 y luego de regreso al runlevel 5. # vi /etc/X11/gdm/gdm.conf Di sal l owTCP=f al se # init 3 # init 5 15. Pida a un compaero que abra una ventana terminal para Ud. 16. Configure la variable de display para que apunte a su propia pantalla. El comando para ello lucir as: export DISPLAY=1.2.3.4:0.0, donde 1.2.3.4 es su propia direccin IP. # export DISPLAY=1.2.3.4 17. Ahora intente iniciar un xterm. Ud. debera observar un mensaje de error: could not open display. Esta es una caracterstica de seguridad de X: no acepta automticamente conexiones entrantes. # xterm & 18. Regrese a su propio sistema e ingrese el comando xhost +. Esto habilitar las conexiones entrantes. # xhost + 19. Regrese al sistema de su compaero e intente nuevamente el comando xterm. Esta vez debera ser exitoso. # xterm & 20. En su pantalla grfica Ud. debera ver una nueva xterm. Intente el comando hostname en esta pantalla para verificar que la aplicacin xterm esta ejecutndose en el otro sistema. # hostname 21. Cierre el xterm y ejecute un xhost. # xhost
Ejecutar sesiones X sobre una red Ud. puede no solamente ejecutar una nica aplicacin sobre la red, sino tambin una sesin X completa sobre la red. En este caso no es solamente la aplicacin que est ejecutndose en el sistema remoto, sino el manejador de ventana tambin. De hecho, el nico programa que necesita estar ejecutndose localmente es su servidor X.
Nota: Las sesiones X sobre una red no han sido muy probadas y varias distribuciones tienen problemas con ellas.
22. Realice todos los cambios necesarios al archivo de configuracin de su administrador de login favorito de modo que se habiliten logins remotos. Luego reinicie su manejador de login cambindose al runlevel 3 y luego al runlevel 5 nuevamente.
Para determinar el display manager que se est ejecutando: # ps ax | grep dm
Para xdm: # init 3 # cd /etc/X11/xdm # vi Xaccess Descomente la lnea que tiene nicamente un * en ella. Esto est ya hecho en SuSE. Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo # vi xdm-config Comente (con un !) la ltima lnea que especifica DisplayManager.requestPort:0. # init 5 Para kdm: # init 3 # cd /etc/X11/xdm # vi kdmrc En la seccin [Xdmcp], cambie Enable=false por Enable=trae # vi Xaccess Descomente la lnea que tiene solo un * en ella.
Para gdm: # init 3 # cd /etc/X11/gdm # vi gdm.conf En la seccin [xdmcp], cambie Enable=false por Enable=trae # init 5
23. Inicie un segundo servidor X, esta vez indicando a X que obtenga su login manager del sistema de su compaero. # X -query <hostname> :1 24. Detenga la segunda sesin e inciela nuevamente, pero realice un broadcast indirecto por un login manager. Ud. debera recibir un chooser que permita hacer login a cualquier sistema ejecutando un display manager en la red. # X -indirect <hostname> :1
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 25: Compilacin y configuracin del Kernel
De qu se trata este ejercicio Este ejercicio le permitir compilar el kernel de Linux.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. debera tener experiencia con: Instalar las fuentes de kernel Compilar el kernel Instalar el kernel
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Este ejercicio trata de la manera cmo compilar un kernel y obtener un paquete rpm que pueda instalar y compartir con otros.
Preparacin Antes de completar este ejercicio, algunos archivos RPM debern ser instalados en su sistema, si no lo estn ya. Para RedHat/CentOS: kernel-version.rpm qt-devel-version.rpm
Instalando los fuentes del kernel 1. Descargue la ltima versin de las fuentes del kernel de Linux de la pgina www.kernel.org, o en su defecto solicite a su instructor el archivo correspondiente. 2. Copie el archivo (generalmente en formato .tar.bz2) al directorio /usr/src. # cp linux-version.tar.bz2 /usr/src 3. Cmbiese al directorio /usr/src. # cd /usr/src 4. Desempaquete las fuentes de Linux y cree un link simblico linux hacia el directorio de las fuentes de kernel. # tar -xvjf linux-2.6.18.3.tar.bz2 # ln -s linux-version linux # cd /usr/src 5. Modificar el archivo /etc/modprobe.conf, de tal manera que se des-comente la lnea correspondiente al mdulo mptscsi pues de otro modo, obtendremos un error como este: No modul e mpt scsi f ound f or ker nel 2. 6. 18. 3- def aul t , abor t i ng. # vi /etc/modprobe.conf 6. Para iniciar el proceso de configuracin del nuevo kernel, es buena idea tomar como base el kernel actual, de modo que copiamos la configuracin actual al directorio /usr/src/linux. # cd /usr/src/linux # make clean && make mrproper # cp /boot/config-`uname -r` ./.config 7. Ahora obtenga el men de configuracin del nuevo kernel. # make menuconfig 8. Ubique la opcin Load an Alternate Configuration File y escoja a .config como el archivo de configuracin. 9. Explore a travs del men de configuracin de kernel y haga los cambios que crea pertinentes. Asegrese de identificar un identificador de versin de kernel en la opcin General Setup ---> () Local version - append to kernel release. Puede utilizar default de Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo modo que el paquete rpm que generemos se llame kernel-versiondefault-1.i386.rpm. Puede igualmente utilizar cualquier otra cadena que le permita identificar la versin de kernel. Slo asegrese de que todas las que compile tengan nombres diferentes. 10. Cuando haya hecho las elecciones pertinentes para el nuevo kernel, salga y guarde los cambios realizados. 11. Compile el nuevo kernel. #make rpm Este proceso puede tomar varias horas. 12. Instale el nuevo kernel a travs del paquete .rpm que se ha creado. # cd /usr/src/redhat/RPMS/i386/ # rpm -ihv --nodeps kernel-versiondefault.i386.rpm 13. Cree el disco RAM del nuevo kernel. # mkinitrd /boot/initrd-version-default.img version-default
Configurando el BootLoader 14. Configure el bootloader de manera que el nuevo kernel pueda arrancar cuando se reinicie el sistema. Primero haga un listado de los archivos contenidos dentro del directorio /boot # ls /boot Qu archivos le llaman la atencin respecto del proceso que realizamos con anterioridad. - - Edite el archivo /boot/grub/menu.lst de manera que agregue una nueva entrada para el kernel nuevo. Tome como base la o las entradas actuales. #vi /boot/grub/menu.lst 15. Reinicie el sistema # reboot 16. Una vez que observe el GRUB al reiniciar el sistema, escoja el nuevo kernel que compil, y verifique que arranque de manera adecuada.
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 26: Dispositivos Carcter, PCMCIA y USB
NOTA Esta unidad no incluye ejercicios pues el hardware requerido para realizar este tipo de ejercicios no estar disponible en la mayora de salas de clase. Esta pgina est aqu para asegurar los nmeros de ejercicio sincronizados
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 27: Dispositivos Bloque, RAID y LVM
De qu se trata este ejercicio Este ejercicio permite trabajar con dispositivos Bloque, RAID y LVM.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. tendr experiencia en: Discos RAM Software RAID Logical Volume Management
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
Nota En esta unidad Ud. crear y utilizar varios dispositivos bloque. Estos dispositivos bloque no son realmente tiles de manera aislada, sino hasta que crea un filesystem en ellos. Para esto, Ud utilizar el comando mke2fs para crear un filesystem, y el comando mount para montarlo. Estos comandos se cubren a profundidad en la siguiente unidad.
Trabajando con discos RAM 1. Verifique el tamao de los discos RAM que utiliza el kernel. # dmesg | grep RAM 2. Formatee el disco RAM con el comando mke2fs. # mke2fs /dev/ram0 3. Cree un directorio /mnt/ramdisk y monte el disco RAM en ese punto de montaje. # mkdir /mnt/ramdisk # mount /dev/ram0 /mnt/ramdisk 4. Ejecute el comando df para ver cunto espacio est disponible en este disco RAM. # df 5. Copie algunos archivos en este disco RAM y mntelo nuevamente. Est el archivo ah todava? # cp /etc/passwd /mnt/ramdisk/passwd # cat /mnt/ramdisk/passwd 6. Desmonte el disco RAM y mntelo nuevamente. Est el archivo ah an? # umount /mnt/ramdisk # mount /dev/ram0 /mnt/ramdisk # cat /mnt/ramdisk/passwd 7. Reinicie su sistema y luego intente montar el disco RAM nuevamente. Funciona? # reboot Luego de reiniciar # mount /dev/ram0 /mnt/ramdisk
Trabajando con particiones Se crearn cuatro particiones de 150 MB cada una, que se usarn en los ejercicios siguientes. Asegrese de disponer de ese espacio libre. 8. Inicie el programa fdisk y cree 4 particiones adicionales. El tamao de cada particin debe ser de 150 MB. Guarde la tabla de particiones en el disco. Anote los nmeros de particiones creadas, pues estos datos se usarn luego en el transcurso del ejercicio. # fdisk /dev/hda Nota: De este punto en adelante se asumir que las particiones que cre son, Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo respectivamente, /dev/hda9, /dev/hda10, /dev/hda11. Asegrese de que no sobrescriba accidentalmente otras particiones. 9. Preste atencin particular a la salida del comando fdisk. Dependiendo de las circunstancias, puede mencionar The kernel still uses the old table. The new table will be used at the next reboot. Intente con el commando partprobe para re-leer la tabla de particiones. Si no observa errores, continu con el siguiente paso. Si ve mensajes de error, reinicie el sistema. # partprobe o # reboot 10. Formatee la primera de las cuatro particiones con el comando mke2fs. Cree un punto de montaje /mnt/partition y monte esta particin en este punto de montaje. # mke2fs /dev/hda9 # mkdir /mnt/partition # mount /dev/hda9 /mnt/partition 11. Ejecute el comando df para observar cunto espacio est disponible en estas particiones. # df 12. Copie algunos archivos en estas particiones y verifique que se encuentre ah. # cp /etc/passwd /mnt/partition/passwd # cat /mnt/partition/passwd 13. Reinicie su sistema y luego intente montar la particin nuevamente. Funciona? # reboot Luego de reiniciar # mount /dev/hda9 /mnt/partition 14. Desmonte la particin que mont. # umount /mnt/partition
Preparacin para RAID 15. Utilizando fdisk cambie el tipo de particin de las 4 particiones creadas a 0fxd (Linux RAID autodetect). Use partprobe para re-leer la tabla de particiones y si es necesario, reinicie su sistema: # fdisk /dev/hda Command (m for help): t Partition number (1-11): 9 Hex code (type L to list codes): fd Command (m for help): t Partition number (1-11): 10 Hex code (type L to list codes): fd Command (m for help): t Partition number (1-11): 11 Hex code (type L to list codes): fd Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Command (m for help): t Partition number (1-11): 12 Hex code (type L to list codes): fd Command (m for help): w # partprobe O # reboot
Trabajo para RAID (Fedora/RHEL) 16. Cree un arreglo RAID usando tres particiones en un arreglo lineal. Use el comando mdadm para inicializar el arreglo, luego cree un filesystem en l. Monte el arreglo en un punto de montaje llamado /mnt/raid. Ejecute el comando df para determinar cuanto espacio tiene esta particin y para ver el status del arreglo RAID. Luego desmonte la particin y detenga el arreglo. # mdadm --create -v /dev/md0 -l linear -n3 /dev/hda9 /dev/hda10 /dev/hda11 # mke2fs j /dev/md0 # mkdir /mnt/raid # mount /dev/md0 /mnt/raid # df (escriba el espacio utilizado) # cat /proc/mdstat # mdadm --detail /dev/md0 # umount /mnt/raid # mdadm -S /dev/md0 17. Cree un nuevo arreglo RAID usando las 4 particiones en un arreglo RAID-0. Use el comando mdadm para inicializar el arreglo, luego cree un filesystem l. Monte el arreglo en un punto de montaje llamado /mnt/raid. Ejecute el comando df para determinar cuanto espacio tiene esta particin y para ver el status del arreglo RAID. Luego desmonte la particin y detenga el arreglo. # mdadm --create -v /dev/md0 -l 0 -n4 /dev/hda9 /dev/hda10 /dev/hda11 /dev/hda12 # mke2fs j /dev/md0 # mkdir /mnt/raid # mount /dev/md0 /mnt/raid # df (escriba el espacio utilizado) # cat /proc/mdstat # mdadm --detail /dev/md0 # umount /mnt/raid # mdadm -S /dev/md0 18. Cree un nuevo arreglo RAID usando 3 particiones en un arreglo RAID-1. Use el comando mdadm para inicializar el arreglo, luego cree un filesystem l. Monte el arreglo en un punto de montaje llamado /mnt/raid. Ejecute el comando df para determinar cuanto espacio tiene esta particin y para ver el status del arreglo RAID. Setee uno o dos discos del arreglo como daados (faulty) y observe la recuperacin del arreglo utilizando el disco sobrante. Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Luego desmonte la particin y detenga el arreglo. # mdadm --create -v /dev/md0 -l 1 -n 3 /dev/hda9 /dev/hda10 /dev/hda11 -x /dev/hda12 # mke2fs j /dev/md0 # mkdir /mnt/raid # mount /dev/md0 /mnt/raid # df (escriba el espacio utilizado) # cat /proc/mdstat (Repetir esto hasta que todo est sincronizado) # mdadm --detail /dev/md0 # mdadm --manage -f /dev/md0 /dev/hda9 # cat /proc/mdstat (Repetir esto hasta que todo est sincronizado) # mdadm --detail /dev/md0 # mdadm --manage -r /dev/md0 /dev/hda9 # cat /proc/mdstat (Repetir esto hasta que todo est sincronizado) # mdadm --detail /dev/md0 # mdadm --manage -a /dev/md0 /dev/hda9 # cat /proc/mdstat (Repetir esto hasta que todo est sincronizado) # mdadm --detail /dev/md0 # umount /mnt/raid # mdadm -S /dev/md0 19. Cree un nuevo arreglo RAID usando 3 particiones en un arreglo RAID-5 y uno ms usado como spare (repuesto). Use el comando mdadm para inicializar el arreglo, luego cree un filesystem l. Monte el arreglo en un punto de montaje llamado /mnt/raid. Ejecute el comando df para determinar cuanto espacio tiene esta particin y para ver el status del arreglo RAID. Setee uno o dos discos del arreglo como daados (faulty) y observe la recuperacin del arreglo utilizando el disco spare o de repuesto. Luego desmonte la particin y detenga el arreglo. # mdadm --create -v /dev/md0 -l 5 -n 3 /dev/hda9 /dev/hda10 /dev/hda11 -x /dev/hda12 # mke2fs j /dev/md0 # mkdir /mnt/raid # mount /dev/md0 /mnt/raid # df (escriba el espacio utilizado) # cat /proc/mdstat (Repetir esto hasta que todo est sincronizado) # mdadm --detail /dev/md0 # mdadm --manage -f /dev/md0 /dev/hda9 # cat /proc/mdstat (Repetir esto hasta que todo est sincronizado) # mdadm --detail /dev/md0 # mdadm --manage -r /dev/md0 /dev/hda9 # cat /proc/mdstat (Repetir esto hasta que todo est sincronizado) # mdadm --detail /dev/md0 # mdadm --manage -a /dev/md0 /dev/hda9 Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo # cat /proc/mdstat (Repetir esto hasta que todo est sincronizado) # mdadm --detail /dev/md0 # umount /mnt/raid # mdadm -S /dev/md0
Trabajo para LVM 20. Con fdisk, cambie los tipos de particin de las 4 particiones a 0x8e (Linux LVM). Intente usar partprobe y si es necesario reinicie el sistema. # fdisk /dev/hda Command (m for help): t Partition number (1-11): 9 Hex code (type L to list codes) : 8e Command (m for help): t Partition number (1-11): 10 Hex code (type L to list codes) : 8e Command (m for help): t Partition number (1-11): 11 Hex code (type L to list codes) : 8e Command (m for help): t Partition number (1-11): 12 Hex code (type L to list codes) : 8e Command (m for help): w # partprobe O # reboot 21 Inicialice cada una de las 4 particiones, que us antes, como Physical Volumen. SI obtiene un mensaje de error /etc/lvmtab does not exist, ejecute el comando vgscan para crearlo. # pvcreate /dev/hda9 # pvcreate /dev/hda10 # pvcreate /dev/hda11 # pvcreate /dev/hda12 21. Cree un colume group vg00, que consista de las primeras dos particiones LVM. Use un tamao de PE de 4 MB. # vgcreate -s 4M vg00 /dev/hda9 /dev/hda10 22. Cree un logical volume lv00 de 50 MB en el volume group vg00. # lvcreate -L 50M -n lv00 vg00 23. Formatee el logical volume con el comando mke2fs. Cree un punto de montaje /mnt/lv00 y monte el logical volume. Luego, ejecute el comando df para revisar cunto espacio est disponible. # mke2fs /dev/vg00/lv00 Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo # mkdir /mnt/lv00 # mount /dev/vg00/lv00 /mnt/lv00 # df 24. Use los diferentes commandos LVM para recuperar informacin acerca de los physical volume, el volume group y los logical volumes. # vgdisplay vg00 # lvdisplay /dev/vg00/lv00 # pvdisplay /dev/hda9 # pvdisplay /dev/hda10 # pvdisplay /dev/hda11 # pvdisplay /dev/hda12 25. Eche un vistazo de todos los archivos que fueron creados en /etc/lvm. Puede leer estos archivos? # cd /etc/lvm # ls # cat vg00.conf Si su pantalla se llena de mensajes basura, use el comando reset para restaurar todo. 26. Agregue las tercera y cuarta particiones LVM al volume group vg00, y migre toda la informacin en estos physical volumes. Luego reduzca el volume group de modo que el volume group solamente contenga la tercera y cuarta particin. Necesita desmontar el logical volume /dev/vg00/lv00 primero? # vgextend vg00 /dev/hda11 # vgextend vg00 /dev/hda12 # pvmove /dev/hda9 /dev/hda11 # pvmove /dev/hda10 /dev/hda12 # vgreduce vg00 /dev/hda9 /dev/hda10 # vgdisplay vg00 No es necesario desmontar los logical volumen mientras se realiza la migracin. 27. Agregue las primeras dos particiones nuevamente a su volume group, y cree tres logical volumes ms en este volume group, llamados lv01 hasta lv03. Cada logical volume necesita ser de 50 MB tambin. Necesitaremos esto para el siguiente ejercicio. # vgextend vg00 /dev/hda9 /dev/hda10 # lvcreate -L 50M -n lv01 vg00 # lvcreate -L 50M -n lv02 vg00 # lvcreate -L 50M -n lv03 vg00 28 Documente todos los cambios realizados.
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 28: Filesystems
De qu se trata este ejercicio Este ejercicio permite trabajar filesystems.
Qu seremos capaces de hacer Al finalizar este ejercicio Ud. debera tener experiencia en: Crear, montar y desmontar filesystems Linux. Montar y desmontar filesystems no Linux. Montaje automtico de filesystems en el arranque del sistema. Configurar cuotas de usuario.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
Instalacin de herramientas 1. Asegrese de que todos los utilitarios para ext2/ext3, ReiserFS y J FS estn instaladas. Tambin cheque el soporte de kernel para cada uno de estos filesystems. No todas las distribuciones incluyen todos los utilitarios por defecto, y no todas las distribuciones incluyen soporte para todos los filesystems en su kernel. Los utilitarios para ext2/ext3 estn contenidos en el paquete RPM e2fsprogs (Fedora/RHEL/SuSE). Los utilitarios para ReiserFS estn contenidos en el RPM reiserfs-utils (Fedora) y el paquete RPM reiserfs (SuSE). Red Hat no incluye soporte ReiserFS. Los Utilitarios para J Fs estn contenidos en el RPM jfsutils.
Creando Filesystems Linux 2. Si su distribucin lo soporta, cree un filesystem ext3 en /dev/vg00/lv01. # mke2fs j /dev/vg00/lv01 3. Cree un punto de montaje, /mnt/lv01 para este filesystem. # mkdir /mnt/lv01 4. Monte el filesystem en este punto de montaje. # mount /dev/vg00/lv01 /mnt/lv01 5. Si su distribucin lo soporta, cree un filesystem ReiserFS en /dev/vg00/lv02. # mkreiserfs /dev/vg00/lv02 6. Cree un punto de montaje, /mnt/lv02 para este filesystem. # mkdir /mnt/lv02 7. Monte el filesystem en este punto de montaje. # mount /dev/vg00/lv02 /mnt/lv02 8. Si su distribucin lo soporta, cree un filesystem J FS en /dev/vg00/lv03. # mkfsjfs /dev/vg00/lv03 9. Cree un punto de montaje, /mnt/lv03 para este filesystem. # mkdir /mnt/lv01 10. Monte el filesystem en este punto de montaje. # mount /dev/vg00/lv03 /mnt/lv03 11. Ejecute el commando mount y df para observar los filesystems montados. Puede observar cunto espacio estn utilizando los journals? Asimismo, liste el directorio raz de los filesystems montados. Son visibles los journals? # mount # df # df -i # cd /mnt/lv00 # ls -la Ejercicios del Estudiante # cd /mnt/lv01 # ls -la # cd /mnt/lv02 # ls -la # cd /mnt/lv03 # ls -la 12. Cree algunos archivos y/o directorios en estos filesystems montados. # cd /mnt/lv00 # touch testfile0 # mkdir testdir0 # cd /mnt/lv01 # touch testfile1 # mkdir testdir1 # cd /mnt/lv02 # touch testfile2 # mkdir testdir2 # cd /mnt/lv03 # touch testfile3 # mkdir testdir3
Montando automticamente Filesystems en el arranque Los filesystems que desee montar automticamente en el arranque deberan estar listados en /etc/fstab. 13. Edite el archivo /etc/fstab para incluir todos los filesystems creados previamente. # vi /etc/fstab Agregue las lneas siguientes:
14. Ejecute el comando sync para asegurar que toda la informacin sea escrita a disco. Espere 5 segundos. Luego apague su computadora con el botn de power off. No haga un shutdown adecuado. Encienda su computadora y observe los mensajes de arranque. Qu filesystem fue chequeado ms rpidamente. # sync
Cambiando el tamao del Filesystem 15. Para cada uno de los cuatro fs creados intente extender el tamao del filesystem a 100 MB. Ejecute filesystem checks antes y despus si es posible. Note que algunos tipos de filesystems no permiten extender el fs sin desmontarlo. En ese caso, Ud tendr que desmontar el filesystem primero. Administracin Avanzada del Sistema Operativo Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Nota: Al extender un filesystem J FS parece no funcionar correctamente. La mayora de distribuciones sin embargo no incluyen el comando extendfs.
ext2 (usando lvextend/resize2fs) # umount /mnt/lv00 # e2fsck f /dev/vg00/lv00 # lvextend -L 100M /dev/vg00/lv00 # resize2fs p /dev/vg00/lv00 # e2fsck f /dev/vg00/lv00 # mount /mnt/lv00 # df ext3 (usando e2fsadm): # umount /mnt/lv01 # e2fsadm -L 100M /dev/vg00/lv01 # mount /mnt/lv01 # df ReiserFS: # lvextend -L 100M /dev/vg00/lv02 # resize_reiserfs -v /dev/vg00/lv02 # df J FS (Como se indic, esto no funcionar bien, pero debera trabajar como se indica) # lvextend -L 100M /dev/vg00/lv03 # extendfs /dev/vg00/lv03 # df
Trabajando con archivos con mltiples nombres Como se observ anteriormente, un archivo puede tener mltiples nombres, siempre que cada nombre se refiera al mismo inode. Un ejemplo de esta situacin es /bin/gzip, /bin/gunzip y /bin/zcat. 16. Haga login como root. Verifique si /bin/gzip, /bin/gunzip y /bin/zcat de hecho tienen el mismo nmero de inode. # ls -li /bin/gzip /bin/gunzip /bin/zcat 17. Vaya a /root y cree un archivo llamado one, usando vi. Ponga algo de texto en el archivo, de manera que pueda identificarlo. # cd /root # vi one 18. Verifique el nombre del archivo y su contenido. # ls -li one # cat one Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo 19. Ahora cree un segundo link al archivo (un segundo nombre de archivo) llamado two. Verifique el nombre del archivo y sus contenidos. # ln one two # ls -li one two # cat two 20. Borre el archivo one. # rm one 21. Verifique el nombre de archivo y los contenidos de two. Note que el link se ha roto. # ls -li two # cat two 22. Cree un tercer link, llamado three, en el directorio /. Nuevamente debera apuntar al archivo original. Verifique el nombre de archivo y los contenidos de este archivo. # cd / # ln /root/two three # ls -li three # cat three 23. Ahora intente crear un cuarto link en uno de los filesystems que cre. # cd /mnt/linux1 # ln /root/two tour 24. Cree un symbolic link desde /root/two hacia /mnt/lv00/four. Lea la pgina manual de ln si es necesario. Verifique el nombre y los contenidos del archivo. # cd /mnt/lv00 # ln -s /root/two four # ls -li four # cat four 25. Ahora borre /root/two, y verifiquelos contenidos de ambos /tmp/three y /mnt/lv00/tour. # rm /root/two # ls -li /three /mnt/lv00/tour # cat /three # cat /mnt/lv00/four
Configurando cuotas de usuario 26. Remonte el filesystem /home de modo que est habilitado para cuotas, y asegrese de que las cuotas estn habilitadas cuando el sistema se reinicie. # vi /etc/fstab Agregue la opcin usrquota a la entrada que describe su filesystem /home. La lnea debera verse as: /dev/hda8 /home /ext3 defaults,usrquota 1 2 Note que no debera haber ningn espacio entre defaults y usrquota, slo una coma. # mount -o remount /home Ejercicios del Estudiante # mount | grep /home 27. Ejecute un reclculo de las cuotas actuales y active el chequeo de cuotas. # touch /home/aguota.user # quotacheck /home Si recibe una advertencia acerca de que un archive est siendo truncado, ejecute quotacheck nuevamente. # quotaon /home 28. Configure el softlimit de los usuarios tux1 y tux2 a 4 MB y el hard limit a 5 MB. # edquota -u tux1 Al cambiar el softlimit a 4096 y el hardlimit a 5120, el archivo debera lucir as:
Guarde el archivo. # edquota -p tux1 -u tux2 29. En otra Terminal, haga login como tux1 y cree 5 archivos de 1 MB cada uno. Observe lo que pasa.
30. An logueado como tux1 revise las cuotas. $ quota 31. Retorne a su sesin de root y revise las cuotas de todos los usuarios. # repquota /home 32. Documente todos los cambios realizados.
FIN DEL EJERCICIO
Administracin Avanzada del Sistema Operativo Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Ejercicio 29: Manejo de Memoria
De qu se trata este ejercicio Este ejercicio demuestra el manejo de memoria en Linux, y le permite crear y utilizar espacio de paginacin.
Qu seremos capaces de hacer Luego de terminar este ejercicio Ud. debera tener experiencia en: Las herramientas ms importantes en el manejo de memoria Crear y activar particiones de paginacin y archivos de paginacin
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
Si tiene ms de 128 MB de memoria En este ejercicio Ud. aprender acerca del manejo de memoria en Linux. Como parte de este ejercicio, se va a saturar la memoria disponible. La experiencia muestra que si tiene ms de 128 MB de memoria, esas partes del ejercicio tomarn demasiado tiempo. (Efectivamente,Hay una desventaja de tener mucha memoria!) Por lo tanto se va a limitar la cantidad de memoria que Linux detecta a 128 MB, solamente para este ejercicio. 1. Reinicie Linux # reboot 2. Si usa GRUB, modifique la lnea del kernel de manera que el parmetro mem=128M se agregue.
Uso de top 3. Inicie top e identifique las diferentes piezas de informacin: - La hora, el uptime, el nmero de usuarios y la informacin de carga en la primera lnea. - El nmero de procesos en la segunda lnea. - El parmetro CPU breakdown en la cuarta lnea. - El parmetro real memory breakdown en la cuarta lnea - El parmetro swap space breakdown en la quinta lnea - Los procesos (ordenados por tiempo de CPU) en las siguientes lneas Verifique que Linux ha detectado nicamente 128 MB. # top 4. top automticamente se refresca a s mismo cada 10 segundos. Para incrementar esto a 1 segundo, ingrese el comando s1. 5. top por defecto no muestra la cantidad de espacio swap usado por cada proceso. Para mostrar esta cantidad tambin, llame a la pantalla Field Order con el comando f, y habilite el despliegue del espacio swap. p en RedHat presione o. En Fedora/SUSE, presione, presione p. 6. Para ordenar los procesos de manera diferente use los comandos M, P o T. 7. Deje a top ejecutndose en una ventana separada.
Chequeo de espacio swap 8. Debera haber un espacio swap activo (revise la quinta lnea de top). Desactive este espacio swap. (Si no conoce que particin es usado como espacio swap, revise /proa/swaps.) # cat /proa/swaps # swapoff /dev/hdn 9. Regrese a su ventana top y chequee lo que sucedi. Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo 10. Reactive el espacio swap. # swapon /dev/hdn
Uso del Cache 11. El cacheo se realiza de manera automtica. Si Ud. ha ejecutado el ejercicio de manera adecuada, su uso de cach debera ser cerca de 20 MB. Vea lo que pasa si realmente iniciamos a acceder en el disco. Inicie un programa que le de trabajo intensivo al disco. # find /usr type f exec cat {} \; > /dev/null 12. Observe lo que pasa a la cantidad de informacin en cach en el comando top. Este nmero debera incrementarse hasta que su cach casi toda su memoria real. Solamente alrededor de 4 MB se dejarn libres de uso. Pero note tambin que virtualmente ningn proceso conmutar a disco.
Uso del espacio swap El espacio swap es nicamente utilizado si hay muy poca memoria disponible. Primero la cantidad de informacin en cach disminuye a cerca de cero antes de que los procesos conmuten a disco. Por tanto, necesita tener un programa que use mucha memoria real. La solucin ms fcil es escribirlo uno mismo. 13. Cree el directorio /root/bin y haga cd a l. # mkdir /root/bin # cd /root/bin 14. Cree un programa llamado usemem, que contenga: #!/usr/bin/perl print Alojando $ARGV[0] megabytes de memoria \n; $big = ; for( $i=0; $i<$ARGV[0]; $i++ ) { $big .= 1234567890x104858; } print Presione ENTER para liberar memoria\n; <STDIN>;
Cuando inicie este programa, gradualmente alojar la cantidad de memoriaque se especifique en la lnea de comandos, y luego espera que se presione EMTER. Cuando presione ENTER, el programa sale y desaloja su memoria. 15. Haga un chmod 755 de este programa e incielo con un parmetro de 1. Esto asegurar que el programa aloje cerca de 1 MB de memoria. # chmod 755 usemem # usemem 1 No aplaste ENTER! 16. Ahora regrese a su pantalla top y seleccione el modo sort by memory usage ejecutando el comando M. Note cunto de memoria es utilizada por el comando usemem. Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo 17. Detenga usememn e incielo con cerca de la mitad de la cantidad de memoria que est en su sistema. De modo que si dispone de 128 MB de memoria real. Inicie el comando con 64 como parmetro. Mire lo que sucede en top. Primero Ud. debera observar que la cantidad de informacin en cach se disminuye y quiz observe algunos procesos conmutando a disco (swapped out). # usemem 64 18. Ahora inicie usemem con cerca del 80% de su memoria y mire lo que pasa. 19. Detenga usemem y observe lo que pasa. No te que los procesos que conmutan a disco no regresan a memoria automticamente tan pronto como la memoria est disponible. Conmutarn a memoria cuando sean necesarios. 20. Deshabilite su espacio swap con swapoff y observe lo que sucede. # swapoff /dev/hdn 21. Habilite el espacio swap de nueve y ejecute usemem con cerca del 90 % del total de memoria (real +swap). Si Ud satura su memoria real, y satura el espacio swap, ver que usemem es automticamente detenido cuando intenta alojar incluso ms memoria. # swapon /dev/hdan # usemem 300
Creacin de un archivo swap Si repentinamente necesita ms espacio swap en un sistema activo, pero no tiene ms particiones vacas para respaldar, Ud puede crear archivos swap. El uso de archivos swap es, sin embargo, menos eficiente que las particiones swap, de modo que utilice esto nicamente en una emergencia. Es incluso posible poner el archivo swap en un directorio montado a travs de NFS. 22. Primero, encuentre un filesystem donde tenga espacio para un gran archivo swap (Al menos 64 MB libre). Localice un directorio en este filesystem. # df Suponiendo que escogi al directorio /var y el swapfile /var/tmp/swapspace 23. Cree el gran archivo a ser utilizado como archivo swap. # dd if=/dev/zero of=/var/tmp/swapspace bs=1M count=64 24. Convierta este archive en un swapfile # mkswap /var/tmp/swapspace 25. Actvelo. # swapon /var/tmp/swapspace 26. Vaya a su ventana top y revise si el espacio swap se ha incrementado. Tambin observe el archivo /proa/swaps. Cul cree que es el significado del campo Priority y por qu es diferente el de la particin swap. Ahora intente utilizar de nuevo el comando usemem que fall la ltima vez. # cat /proc/swaps # usemem 300 27. Agregue el archivo swap a su archivo /etc/fstab de manera que se active la siguiente vez que reinicie el sistema. # vi /etc/fstab Agregue la lnea siguiente: Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo /var/tmp/swapspace swap swap defaults 0 0 28. Reinicie el sistema para asegurar que est trabajando con la correcta cantidad de memoria. # reboot
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 30: Scheduling
De qu se trata este ejercicio Este ejercicio provee al estudiante con el conocimiento acerca de tareas programadas en Linux (scheduling). Los estudiantes configurarn tareas programadas e iniciarn sus propios jobs a travs de esta herramienta.
Qu seremos capaces de hacer Luego de terminar este ejercicio Ud. debera tener experiencia en: Nombrar los comandos y demonios que involucran las tareas programadas en Linux Iniciar y detener jobs a travs de estas tareas programadas.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
Trabajo con cron y at En este ejercicio se trabajar nicamente con cron y at. No se trabajar con ancharon pues le toma un da para iniciar el primer job y no trabajar con batch pues es dependiente de la carga del sistema y es complicado crear una situacin donde este utilitario pueda ser demostrado, dado el amplio rango de configuraciones en los que este curso necesita ejecutarse.
1. Haga login en la primera Terminal como tux1 y en la quinta como root. <ALT-F1> Login como tux1 <ALT-F2> Login como root 2. Vaya a la Terminal vitual 5 3. Cheque si los demonios necesarios para scheduling estn corriendo # ps aux | egrep cron|at 4. Mire los contenidos de su archivo crontab. Dnde estn almacenados los archivos crontab de los usuarios? # crontab -l O # more /var/spool/cron/root Da un mensaje de error Los archivos crontab de los usuarios estn almacenados en el directorio /var/spool/cron (Fedora RHEL) o /var/spool/cron/tabs (SLES) 5. Liste los contenidos de los directorios /var/spool/cron y /var/spool/at. Qu observa? # ls -lR /var/spool/cron* # ls -lR /var/spool/at* Ud no debera observer archivos de usuario. 6. Edite su archivo crontab: Asegrese de que su sistema ejecuta el comando df cada cinco minutos. # crontab -e Ingrese la lnea siguiente: */5 * * * * df 7. Revise los contenidos del directorio /var/spool/cron nuevamente. Qu observa ahora? # ls -lR /var/spool/cron* Debera observar un archivo con el nombre root. 8. Inicie un job que correr en 10 minutos. El comando que debera ser ejecutado en 10 minutos es who. A qu hora correr el comando de acuerdo con at? # at now + 10 minutes at> who at> <CTRL-D> 9. Revise si hay jobs listados en los contenidos del directorio /var/spool/at. Qu observa? Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo # atq O # at -l # ls lR /var/spool/at* Ud debera observer un archivo extra ahora. 10. Observe los contenidos del archivo. Qu observa? # vi /var/spool/at*/<nombre del archivo> Ud est observando los shell scripts que se ejecutan por parte del demonio atd en la hora especificada. En la ltima lnea del archivo, Ud encuentra el comando who, que se desea que se ejecute. 11. Ingrese el siguiente comando: # at 9am at> ps aux at> <CTRL-D> Cundo se ejecutar este comando? Este comando se ejecutar maana a las 9am. 12. Cmbiese a la VT donde tux1 est logueado. 13. Observe el archivo crontab de tux1 $ crontab -l 14. Haga un archivo crontab para tux1 que ejecute el comando ls $HOME | wc -l cada hora. Cheque si el archivo crontab para tux1 existe de todos modos. $ crontab -e Agregue la lnea siguiente 0 * * * * ls $HOME | wc -l $ crontab -l 15. Borre el archive crontab $ crontab -r No borre directamente el archivo crontab con el comando rm 16. Regrese a la terminal 5. Configure el demonio cron de modo que tux1 no se le permita usar croad nunca ms. <ALT-F5> # vi /etc/cron.deny Agregar tux1 a este archivo 17. Vaya a la Terminal 1 e intente crear un archivo crontab nuevamente. Qu sucede? <ALT-F1> $ crontab -e $ crontab -l Ud obtendr un mensaje de error indicando que no est permitido de utilizar crontab. 18. Como root, revise su correo, Qu clase de mail recibi? <ALT-F2> Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo # mail El correo que ve es la salida del demonio croad que contiene la salida de los comandos que ejecut con su archivo crontab y el demonio atd. 19. Borre los archivos crontab de root. (No use el comando rm) # crontab -r 20. Observe los archivos crontab del sistema y los directorios. # less /etc/crontab # less /etc/cron.d/* # ls -l /etc/cron.hourly # ls -l /etc/cron.daily # ls -l /etc/cron.weekly # ls -l /etc/cron.monthly
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 31: Backup y Restore
De qu se trata este ejercicio El propsito de estos ejercicios es familiarizarse con tcnicas de respaldo y restauracin.
Qu seremos capaces de hacer Luego de terminar este ejercicio Ud. debera ser capaz de: Realizar backups incrementales y completos del sistema. Usar tar y/o otros comandos para realizar backup y restore.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Usando tar
1. Revise las pginas manuales para los comandos de backup discutidos: tar, cpio. # man tar # man cpio 2. Cree en su directorio /home tres subdirectorios, llamadas subdir1, subdir2 y subdir3, y cree cinco archivos, llamados, testfile1, testfile2, testfile3, testfile4, testfile5 en cada subdirectorio. # ls /home # cd /home # for i in 123 > do > mkdir subdir$i > for j in 1 2 3 4 5 > do > touch subdir$i/testfile$j > done > done 3. Cree un logical volume extra en su volume group. Nombre este logical volume backuplv. Su tamao debera ser de alrededor de 10 MB. # lvcreate -L 10M -n backuplv vg00 4. Use el comando tar para hacer backup de su directorio /home hacia la particin que Ud. cre. # tar cvf /dev/vg00/backuplv /home 5. Verifique el contenido del backup que Ud. cre. # tar tvf /dev/vg00/backuplv | less 6. Borre los directorios /home/subdirn y todos los archivos en ellos. # cd /home # rm -rf subdir* 7. Restaure el backup que cre. # cd / # tar xvf /dev/vg00/backuplv 8. Genere una lista (/tmp/1daytar.list) de todos los archivos dentro de /home que fueron accedidos en el ltimo da. # find /home mtime -1 > /tmp/1daytar.list Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo 9. Cree un backup incremental usando el comando tar. # tar -cv -T /tmp/1daytar.list f /dev/vg00/backuplv 10. Restaure el backup que cre en el paso anterior,. # cd / # tar xvf /dev/vg00/backuplv
Usando cpio
11. Genere una lista /tmp/todaycpio.list de todos los archivos en /home que fueron modificados en el ltimo da. # find /home mtime -1 -print > /tmp/todaycpio.list 12. Cree un backup incremental usando cpio. Use la misma particin que us antes. # cat /tmp/todaycpio.list | cpio -ov > /dev/vg00/backuplv 13. Restaure el backup que cre en el ejercicio anterior # cpio -iduvm < /dev/vg00/backuplv
Usando dump 14. Verifique que dump est instalado, sino, instlelo. # which dump 15. Haga dump del filesystem /home a la particin backup. # dump -0 -u -f /dev/vg00/backuplv /home 16. Anote las fechas de todos los archivos dentro de /home/subdir*. Actualice todos los archivos en /home/subdir1 y haga un backup incremental a un diskette o memoria flash. # cd /home # ls -lR subdir* # cd /home/subdir1 # touch * # ls -lR # cd / # dump -1 -u -f /dev/fd0 /home 17. Observe qu archivos han sido dumped o se han hecho dump al LV backup y al floppy disk. # restore -t -f /dev/vg00/backuplv # restore -t -f /dev/fd0 18. Desmonte el filesystem /home y reformatelo. Luego restaure ambos dumps en el orden correcto. Verifique que las fechas en los archivos sean correctas. # mount | grep /home Recuerde el nombre de dispositivo # umount /home Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo # mke2fs -j /dev/hdan # e2label /dev/hdan /home # mount /home # cd /home # restore -r -f /dev/vg00/backuplv /home # restore -r -f /dev/fd0 /home # cd /home # ls -lR
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 32: Administracin de Usuario
De qu se trata este ejercicio Este ejercicio ensea a los estudiantes cmo agregar usuarios y grupos y dnde encontrar informacin respecto de esos usuarios y grupos en su sistema.
Qu seremos capaces de hacer Luego de terminar este ejercicio Ud. debera ser capaz de: Agregar y borrar usuarios y grupos. Especificar los archivos involucrados en la administracin de usuario
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Ambiente de usuario 1. Haga logout de todos los usuarios- # exit O # logout 2. Haga login como tux1 en la VT 1 y como root en la VT 5. <ALT-F1> Login como root <ALTF5> Login como tux1 3. Observe los siguientes archivos: - /etc/profile - /etc/bashrc - $HOME/.bash_profile - $HOME/.bashrc - $HOME/.bash_logout Qu hacen estos archivos en su sistema, qu informacin puede encontrarse en ellos. # vi /etc/profile # vi /etc/bashrc # vi $HOME/.bash_profile # vi $HOME/.bashrc # vi $HOME/.bash_logout
Administracin de usuario En estos ejercicios se hace referencia a las herramientas de lnea de comandos. No olvide que dispone tambin de las herramientas de administracin del sistema, para realizar administracin de grupos y usuarios. 4. Liste todos los usuarios definidos en su sistema en este momento. # cat /etc/passwd 5. Todo usuario tiene un password? # cat /etc/shadow El * y !! en el campo de password significa que el usuario no tiene password. 6. Como root use la lnea de comandos, agregue un usuario de nombre tux3 y un nombre completo Tux el pingino (3) <ALT-F5> # useradd -m -c Tux el pingino (3) tux3 7. Observe los contenidos de /etc/shadow, Cul es el password del nuevo usuario? # cat /etc/passwd Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo El password del nuevo usuario es !!, lo que significa que ningn password se ha asignado. 8. De a tux3 el password tux3. Luego observe nuevamente el archivo /etc/shadow. # passwd tux3 # cat /etc/shadow 9. Liste los contenidos del archivo /etc/passwd-. Qu est guardado en este archivo? # cat /etc/passwd- Este archivo es un backup de /etc/passwd. Siempre que cambie su archivo /etc/passwd con las herramientas adecuadas, el archivo de passwords viejo es copiado a passwd~. Esto significa que passwd- siempre contiene su esquema de administracin de usuario como estaba antes del ltimo cambio. 10. Cul es el grupo de login del usuario que agreg? # cat /etc/passwd Recuerde el GID que observ para este usuario. # cat /etc/group | grep GID La primera palabra en la lnea es el grupo de login del usuario. 11. Agregue el grupo pinguinos al sistema. # groupadd pinguinos 12. Coloque el usuario tux3 dentro del grpo pinguinos. # usermod -G pinguinos tux3 13. Ubique este cambio en el archivo /etc/group. # cat /etc/group 14. Cul es la sintaxis del archivo de grupo? 15. Qu usuarios se especifican en el ltimo campo del archivo /etc/group?
Comunicacin con los usuarios 16. Como root, modifique el archivo /etc/issue. Escriba en este archivo una nota en referencia a que el sistema es para usuarios autorizados solamente. Borre toda la informacin referente a la distribucin y el kernel. # vi /etc/issue El sistema es para usuarios autorizados nicamente. 17. Como root cree el archivo /etc/motd. Escriba en este archivo el nombre del sistema y el nombre del sistema operativo que est usando. # vi /etc/motd Bienvenido a este sistema que est corriendo en Linux! 18. Como tux1 haga logout y login nuevamente. Observe la informacin mostrada en su pantalla. <ALT-F1> exit Haga login nuevamente Ud. debera observar la informacin colocada en sus archivos /etc/issue y /etc/motd. 19. Cree el archivo .hushlogin como tux1 en su directorio home. Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo # touch .hushlogin 20. Haga login y logout nuevamente. Otra vez observe la informacin que se muestra en su pantalla. Not alguna diferencia con la salida del paso 16. # exit Haga login de nuevo Qu observa?
FIN DEL EJERCICIO
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 33: Seguridad a nivel de usuario
De qu se trata este ejercicio Este ejercicio se enfoca en los conceptos de seguridad en un sistema Linux. Los estudiantes aprendern cmo trabajan los permisos de archivos, donde la informacin acerca de logins es almacenada y donde la informacin del usuario para la administracin de usuarios es almacenada.
Qu seremos capaces de hacer Luego de terminar este ejercicio Ud. debera ser capaz de: Localizar los archivos involucrados en la seguridad sobre el sistema. Explicar los diferentes tipos de archivos y cuando usarlos.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
Logs de seguridad 1. Haga log out como root # exit 2. Intente un login como root pero coloque un password equivocado. 3. Intente hacer login como un usuario no existente (por ejemplo teacher). 4. Haga login como root con el password correcto. 5. Observe los contenidos de los siguientes archivos e intente encontrar los registros del paso 2, 3 y 4. /var/log/lastlog /var/log/messages /var/log/secure /var/log/wtmp # lastlog # more /var/log/messages # more /var/log/secure # who /var/logwtmp # who /var/run/utmp o solo who Observe la salida de los comandos mencionados y busque palabras como tux1, tux2, root y teacher. 6. En la Terminal virtual 1 haga login como tux1 y en la VT 2 como tux2. Haga login como root en la Terminal VT 5. 7. Observe, como usuario root, qu usuarios se encuentran actualmente logueados. Observe tambin los contenidos de /var/log/wtmp. <ALT-F5> # who # who /var/log/wtmp 8. Haga logout como usuario tux2. 9. Como root encuentre las ltimas tres veces que el usuario tux1 y tux2 se loguearon. Liste tambin los usuarios que han hecho login en la Terminal virtual 1. # <ALT-F1> # last tux2 # last tty1 10. Como tux1 revise de qu grupos es Ud miembro. # <ALT-F2> # groups
Permisos de archivos 11. Haga login como root en la VT 5 (si no o est ya). Asegrese de que tux1 est logueado en Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo la VT1 y tux2 en la VT 2. <ALT-F5> Haga login como root (si es necesario) <ALT-F1> Haga login como tux1 (si es necesario) <ALT-F2> Haga login como tux2 12. Como root revise si el bit SUID est seteado. Luego borre el bit SUID de /usr/bin/passwd. <ALT-F5> # ls -l /usr/bin/passwd # chmod -s /usr/bin/passwd O # chmod 755 /usr/bin/passwd # ls -l /usr/bin/passwd 13. Como tux1 ejecute passwd. Responda las preguntas y observe la salida. Cul es el mensaje de error y por qu obtuvo este mensaje? 14. Setee el bit SUID nuevamente en /usr/bin/passwd e intente cambiar el password nuevamente. <ALT-F5> # chmod u+s /usr/bin/passwd O # chmod 4555 /usr/bin/passwd # ls -l /usr/bin/passwd <ALT-F1> # passwd Ud debera poder cambiar el password. 15. Como tux1 cree un directorio en su directorio home con el nombre exercise. En este directorio cree un archivo con df > df.out. Configure los permisos en df.out como rwx------ (700) y haga a su directorio home readable y executable. Para los miembros del grupo y para otros. <ALT-F1> $ mkdir exercise $ df > exercise/df.out $ chmod u=rwx,go= exercise/df.out O $ chmod 700 exercise/df.out $ chmod go+rx /home/tux1 O $chmod 755 /home/tux1 16. Como tux2 intente abrir df.out y lea los contenidos del archivo. Tuvo xito? Tambin intente agregar una lnea extra a df.out. <ALT-F2> $ more ~tux1/exercise/df.out Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo 17. Como tux1, configure los permisos sobre df.out as: rwxr--r-- (744). <ALT-F1> $ chmod go+r exercise/df.out O $ chmod 744 exercise/df.out 18. Como tux2 intente abrir el archivo nuevamente. Tiene xito esta vez? <ALT-F2> $ more ~tux1/exercise/df.out 19. Como tux2, intente alterar el archivo. Funciona? <ALT-F2> $ vi ~tux1/exercise/df.out Haga algunos cambios al archivo, luego intente guardarlos. Funcionar? Salga con :q! 20. Como tux1 configure los permisos en df.out as: rwxrwxrwx (777). <ALT-F5> $ chmod ugo=rwx exercise/df.out O $ chmod 777 exercise/df.out 21. Como tux2, intente escribir sobre el archivo nuevamente. Tiene xito esta vez? <ALT-F2> $ vi ~tux1/exercise/df.out Haga algunos cambios, luego intente guardar el archivo. Esta vez Ud puede cambiar el contenido del archivo porque tiene permisos de escritura. 22. Puede borrar df.out? Por qu o por qu no? Est la informacin en df.out segura con estos permisos sobre el archivo? $ rm ~tux1/exercise/df.out No podr borrar el archivo pues no tiene permisos adecuados sobre el directorio. Para poder borrar un archivo, necesita tener permiso de escritura sobre el directorio que lo contiene. El archivo df.out no est seguro porque cada usuario en el sistema operativo tiene permisos de escritura sobre l, cada usuario tiene el derecho de editarlo (agregar o borrar informacin). 23. Como tux1 configure los permisos en su directorio de ejercicio como rwxrwxrwx. <ALT-F1> $ chmod ugo=rwx ~tux1/exercise O $ chmod 777 ~tux1/exercise 24. Como tux2 intente borrar df.out. Es esto posible, por qu s o por qu no? <ALT-F2> $ rm ~tux1/exercise/df.out Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ud. Puede borrar el archivo aun cuando no le pertenece. Con el permiso de escritura en los directorios, Ud da a los usuarios el derecho de crear y borrar archivos en ese directorio.
Directorios de Equipo (Team Directories) 25. Como root, cree un directorio equipo, /groups/pinguinos, para todos los miembros del grupo pinguinos. <ALT-F5> # mkdir -p /groups/pinguinos # chgrp pinguinos /groups/pinguinos # chmod 2770 /groups/pinguinos 26. Revise qu usuarios son actualmente miembros del grupo pinguinos. # grep pinguinos /etc/group 27. Como tux1, intente crear y ver archivos en el directorio /groups/pinguinos. Funciona esto? <ALT-F1> $ cd /groups/pinguinos Este comando fallar, pues tux1 no es un miembro del grupo pinguinos. 28. Como tux3, intente crear y ver archivos en el directorio /groups/pinguinos. Funciona esto? <ALT-F3> Login: tux3 Password: tux3 $ cd /groups/pinguinos $ touch testfile $ ls -l testfile $ rm testfile 29. Agregue tux1 y tux2 al grupo pinguinos. Luego intente crear y borrar archivos en el directorio /groups/pinguinos nuevamente. Tambin, intente modificar los archivos creados por otros usuarios en el mismo grupo. Funciona? <ALT-F1> # usermod -G pinguinos tux1 O # gpasswd -a tux1 pinguinos # usermod -G pinguinos tux2 O # gpasswd -a tux2 pinguinos <ALT-F1> $ cd /groups/pinguinos Nota: Puede ser necesario hacer logout primero y luego nuevamente login para que esto funcione. # vi testfile Agregue algunas lneas de texto Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo # ls -l testfile Anote los permisos <ALT-F4> $ cd /groups/pinguinos $ vi testfile Agregue unas lneas de texto. Luego intente guardar este archivo. Funciona? Puede explicar esto?
Usando el comando su 30. Como tux1 vaya a su directorio home y ejecute el comando su. Anote la informacin siguiente: - Su directorio de trabajo actual - El contenido de la variable $PATH <ALT-F1> $ cd $ su Ingrese su password de root $ pwd $ echo $PATH 31. Nuevamente regreso a su ambiente de usuario (tux1) # exit 32. Como tux1 ejecute el comando su y anote la siguiente informacin: - Su directorio de trabajo actual - El contenido de la variable $PATH $ su Ingrese el password de root # pwd # echo $PATH 33. Compare esta informacin con la informacin anotada con anterioridad. Cul es la diferencia entre su y su -?
34. Como tux1, intente cambiarse a tux2. Funciona? # exit (para volverse tux1 nuevamente) $ su tux2
Usando el comando sudo 35. Como tux1, intente ejecutar el comando /sbin/ifdown eth0. Funciona?
Ejercicios del Estudiante 36. Como root, cree el archivo /etc/sudores de modo que a tux1 se le permita ejecutar los comandos /sbin/ifdown eth0 y /sbin/ifup eth0. # visudo Cambie el archivo de manera que se vea como sigue:
37. Como tux1, intente ejecutar el comando /sbin/ifdown eth0 nuevamente, esta vez con la ayuda de sudo.Funciona esto? Si funciona, baje la interfaz de red nuevamente. Nota: La primera vez que un usuario ejecuta el comando sudo, recibe una advertencia respecto de comportamiento de responsabilidad. Para confirmar la lectura de esto, el usuario necesita escribir su propio password, no el de root. $ sudo /sbin/ifdown eth0 $ sudo /sbin/ifup eth0
Archivos de seguridad 38. Como tux2 observe el contenido de los siguientes archivos: /etc/passwd /etc/group /etc/profile
<ALT-F2> $ vi /etc/passwd $ vi /etc/group $ vi /etc/profile Note que un usuario ordinario tiene el derecho de ver este archivo importante. Este archivo debera poder ser ledo por todos los usuarios en el sistema.
FIN DEL EJERCICIO
Administracin Avanzada del Sistema Operativo Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo
Ejercicio 34: Logging
De qu se trata este ejercicio Este ejercicio le permite usar el demonio de logging.
Qu seremos capaces de hacer Luego de terminar este ejercicio Ud. debera tener experiencia con: El demonio syslogd El archivo de configuracin /etc/syslog.conf El comando logger El comando logrotate Anlisis de logs
Ejercicios del Estudiante Instrucciones de Ejercicio
Configurando logging 1. Observe el archivo /etc/syslog.conf y trate de determinar a qu archivos se dirige el logging. Eche un vistazo de estos archivos tambin. # less /etc/syslog.conf # less /var/log/messages # less /var/log/secure # less /var/log/mail*
2. Intente hacer login como un usuario vlido (por ejemplo tux1) pero con un password invlido, e intente hacer login con un usuario invlido. Luego observe las entradas de log. # less /var/log/messages 3. Cambie el archivo /etc/syslog.conf y asegrese de que todo lo que tiene que ver con autenticacin est registrado en /var/log/secure. Luego reinicie el demonio syslog. # vi /etc/syslog.conf Cambie el archivo /var/log/messages /var/log/secure de manera que luzcan como sigue:
# service syslog restart
4. Nuevamente intente loguearse como un usuario vlido pero con un password invlido, e intente hacer login como un usuario invlido. Luego revise las entradas de log nuevamente. Cambie a otra Terminal virtual Login: tux1 Password: invalid Login: invalid Password: invalid Regrese a su Terminal virtual previa. # less /var/log/messages # less /var/log/secure
Usando el comando logger 5. Observe su archivo /etc/syslog.conf e intente usar el comando logger de modo que los mtodos diferentes en el archivo /etc/syslog.conf sean usados una vez. # logger -p daemon.info Esta es la prioridad daemon.info # logger -p authpriv.info Esta es la prioridad authpriv.info # logger -p mail.debug Esta es la prioridad mail.debug # logger p kern.emerg Esta es la prioridad kern.emerg Administracin Avanzada del Sistema Operativo Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo # logger -p news.crit Esta es la prioridad news.crit # logger -p local7.warn Esta es la prioridad local7.warn 6. Haga lo mismo, pero esta vez cuando est logueado como tux1. # logger -p daemon.info Esta es la prioridad daemon.info # logger -p authpriv.info Esta es la prioridad authpriv.info # logger -p mail.debug Esta es la prioridad mail.debug # logger -p kern.emerg Esta es la prioridad kern.emerg # logger -p news.crit Esta es la prioridad news.crit # logger -p local7.warn Esta es la prioridad local7.warn
Usando el comando logrotate 7. Revise el archivo /etc/logrotate.conf y todos los archivos en /etc/logrotate.d # less /etc/logrotate.conf # less /etc/logrotate.d/* 8. Haga un listado recursivo largo de todos los archivos en el directorio /var/log. # cd /var/log # ls R 9. Ejecute manualmente el comando logrotate. # logrotate /etc/logrotate.conf 10. Nuevamente haga un listado largo y recursivo de todos los archivos en el directorio /var/log. Ve alguna diferencia?, por qu no? # cd /var/log # ls R 11. Fuerce un logrotate con la opcin f # logrotate f /etc/logrotate.conf 12. Nuevamente haga un listado largo y recursivo de los archivos dentro de /var/log. Ve alguna diferencia? Por qu? # cd /var/log # ls R
Usando Logwatch 13. en un sistema REdHat/Fedora, logwatch es instalado y activado automticamente. Los resultados de este anlisis sern enviados va correo a root. Por eso revise su correo para observar los resultados: # mail
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 35: Impresoras
De qu se trata este ejercicio Estos ejercicios estn diseados para proveerle de la oportunidad de configurar impresoras y colas y hacer cambios a las caractersticas de las colas.
Qu seremos capaces de hacer Luego de terminar este ejercicio Ud. debera ser capaz de instalar impresoras y colas mediante el utilitario apropiado.
Introduccin Estos ejercicios son diseados para que se familiarice con tareas como agregar y administrar impresoras y colas. En el rea de impresin hay muchos comandos que pueden ser usados para hacer lo mismo.
Problemas conocidos de Hardware/Software Antes de iniciar este ejercicio sera una buena idea chequear que la impresora que utilizar est conectada y en lnea y que disponga de un suministro razonable de papel.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio Nota Si no hay impresoras disponibles en la clase, Ud. no puede realizar este ejercicio.
CUPS 1. Pregunte al instructor por detalles de la impresora. 2. Inicie el demonio de impresin CUPS y asegrese de que es iniciado en el arranque del sistema. # service cups restart # chkconfig cups on 3. Inicie un browser e ingrese la url http://localhost:631. Haga login como root y configure su impresora. # konqueror o # mozilla Ingrese http://localhost:631 o http://127.0.0.1:631. Haga clic en Administration, y haga login como root. Vaya a Manage Printers y clic en Add Printer. Cuando se le solicite por un username y password ingrese root y el password de root. Vaya a travs de las diferentes pantallas Add new printer y configure un nombre de impresora, locacin, descripcin, dispositivo y modelo. Seleccione la impresora y vaya a Configure Printer. Seleccione el tamao correcto de papel y observe las opciones que podra necesitar modificar. 4. Seleccione la impresora e imprima una pgina de prueba. 5. Someta un archivo a la impresora usando el comando lpr y vea si las pginas se imprimen. # lpr P <printer> /etc/passwd
FIN DEL EJERCICIO Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Ejercicio 36: Troubleshooting
De qu se trata este ejercicio Estos ejercicios le permiten solucionar algunos problemas en Linux y usar algunas tcnicas para resolverlos.
Qu seremos capaces de hacer Luego de completar este ejercicio debera tener experiencia con: - El modo de rescate.
Materiales Requeridos Para completar este ejercicio, necesitaremos los siguiente: - Un CD de instalacin de CentOS, que permita iniciar en modo de rescate.
Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo Instrucciones de Ejercicio
El modo de rescate en Linux 1. Cambie su archivo /etc/inittab de modo que el runlevel 6 sea el nivel de ejecucin por defecto. # vi /etc/inittab Cambie la lnea initdefault de modo que luxca como sigue. id:6:initdefault 2. Inserte su CD de arranque de Linux en el drive y reinicie el sistema. # reboot 3. Cuando aparezca el prompt boot:, inicie el modo de rescate. 4. Dependiendo del modo de rescate y el dispositivo utilizado. Ud puede o no puede recibir consultas acerca de: - Lenguaje - Tipo de teclado - Tipo de Mouse - Adaptador de red a ser iniciado o usado - Protocolo de arranque a ser usado (direccionamiento IP) - Servidor NFS a ser usado Todas estas preguntas necesitan respuesta as como cuando se instal el sistema. 5. Algunos modos de rescate le dan la opcin para intentar encontrar una instalacin de Linux y montarla. No permita esto ya que lo haremos de manera manual. 6. En el sistema Ud ahora recibir un prompt de comandos. 7. Revise si el dispositivo /dev/hda existe. Si no, cree el node device para su disco duro. # [ -b /dev/hda ] || mknod /dev/hda 8. Haga una lista de todas las particiones en su disco duro y cree nodos de dispositivos para ellas si no existen. # fdisk -l /dev/hda # for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 > do > [ -b /dev/had$i ] || mknod /dev/had$i > done 9. Realice un filesystem check en todas las particiones que contienen un filesystem. Note: La tabla de particiones contiene el id de particin, que es usado por fsck para determinar el tipo de filesystem, y por lo tanto qu variante del curso invocar. # fsck y /dev/hda1 # fsck y /dev/hda2 Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo 10. Si Ud. tiene volmenes LVM, realice un vgscan para escanear volume groups, y activar todos los volume groups que se ha encontrado. Nuestra distribucin incluye una herramienta todo en uno lvm que acta como una clase de subshell, pero permite escribir los mismos comandos exactos. # vgscan # vgchange -a y vg00 11. Haga una lista de todos los logical volumes en el/los volume group/s, y revise todos los logical volumes que contengan un filesystem. # ls /dev/vg00 # fsck -y /dev/vg00/lv00 # fsck -y /dev/vg00/lv01 # fsck -y /dev/vg00/lv02 # fsck -y /dev/vg00/lv03 12. Cree un directorio /mnt/sysimage y monte su filesystem raz en l. Nota: En Fedora/RedHat Ud puede utilizar el comando e2label para deterinar qu filesystem es su particin raz. # mkdir /mnt/sysimage # e2label /dev/hda1 Haga esto para todos las particiones # mount /dev/hda5 /mnt/sysimage 13. Ejecute un chroot al filesystem raz. # chroot /mnt/sysimage 14. Monte todas las otras particiones tambin. Nota: Si Ud monta /proa manualmente primero, entonces Ud puede usar el comando mount -a para montar las otros filesystems de manera automtica. # mount /proc # mount -a 15. Cambie el archivo /etc/inittab y setee el runlevel por defecto a 3. # vi /etc/inittab Cambie la lnea initdefault por: id:3:initdefault: 16. Desmonte todos los filesystems y dele el shell en chroot. Luego desmonte el filesystem raz y salga del modo de rescate. # sync # umount -a Nota: Es comn encontrar que /usr (y algunas veces otros filesystems tambin) no se pueden desmontar. Esto es debido a que Ud est usando el comando mount desde su filesystem raz que usa informacin local que reside en el filesystem /usr. # exit # umount /mnt/sysimage/usr Esto es solamente requerido si /usr no fue montada cuando Ud estuvo en el Ejercicios del Estudiante Administracin Avanzada del Sistema Operativo ambiente chrooted. Ahora que Ud ha dejado este ambiente, el comando mount desde el ambiente de rescate es usado, este toma su informacin local de un lugar diferente. # umount /mnt/sysimage # sync # exit 17. Retire el dispositivo de rescate y espere hasta que su sistema reinicie. Fue exitoso el intento de rescate?