100 Excelente! - Universidad de Costa Rica
Transcripción
100 Excelente! - Universidad de Costa Rica
100 Excelente! Universidad de Costa Rica | Facultad de Ingeniería Escuela de Ingeniería Eléctrica |Programación Bajo Plataformas Abiertas Erick Carvajal Barboza | Laboratorio #4 • Observe el contenido de los directorios usados por init para los scripts de inicialización de servicios (/etc/init.d y /etc/rc[n].d). ¿Qué servicios se encuentran instalados en su computadora? ¿Cuándo son ejecutados? ¿Qué diferencias hay entre los distintos runlevels? Para observar los contenidos de las carpetas deseadas se utilizó el comando “tree” el cual genera una lista de los contenidos de un directorio en forma de árbol. init.d ├── acpid -> /lib/init/upstart-job ├── acpi-support ├── alsa-restore -> /lib/init/upstart-job ├── alsa-store -> /lib/init/upstart-job ├── anacron -> /lib/init/upstart-job ├── ondemand : ├── umountroot ├── unattended-upgrades ├── urandom └── x11-common rc0.d ├── K20speech-dispatcher -> ../init.d/speech-dispatcher ├── K20unattended-upgrades -> ../init.d/unattended-upgrades ├── K74bluetooth -> ../init.d/bluetooth ├── README ├── S20sendsigs -> ../init.d/sendsigs ├── S30urandom -> ../init.d/urandom ├── S31umountnfs.sh -> ../init.d/umountnfs.sh ├── S35networking -> ../init.d/networking ├── S40umountfs -> ../init.d/umountfs ├── S60umountroot -> ../init.d/umountroot └── S90halt -> ../init.d/halt rc1.d ├── K15pulseaudio -> ../init.d/pulseaudio ├── K20acpi-support -> ../init.d/acpi-support ├── K20kerneloops -> ../init.d/kerneloops ├── K20saned -> ../init.d/saned ├── K20speech-dispatcher -> ../init.d/speech-dispatcher ├── K20unattended-upgrades -> ../init.d/unattended-upgrades ├── K74bluetooth -> ../init.d/bluetooth ├── README ├── S30killprocs -> ../init.d/killprocs ├── S70dns-clean -> ../init.d/dns-clean ├── S70pppd-dns -> ../init.d/pppd-dns └── S90single -> ../init.d/single rc2.d ├── README ├── S20kerneloops -> ../init.d/kerneloops ├── S20speech-dispatcher -> ../init.d/speech-dispatcher ├── S20unattended-upgrades -> ../init.d/unattended-upgrades ├── S25bluetooth -> ../init.d/bluetooth ├── S50pulseaudio -> ../init.d/pulseaudio ├── S50rsync -> ../init.d/rsync ├── S50saned -> ../init.d/saned ├── S70dns-clean -> ../init.d/dns-clean ├── S70pppd-dns -> ../init.d/pppd-dns ├── S75sudo -> ../init.d/sudo ├── S99acpi-support -> ../init.d/acpi-support ├── S99grub-common -> ../init.d/grub-common ├── S99ondemand -> ../init.d/ondemand └── S99rc.local -> ../init.d/rc.local rc3.d ├── README ├── S20kerneloops -> ../init.d/kerneloops ├── S20speech-dispatcher -> ../init.d/speech-dispatcher ├── S20unattended-upgrades -> ../init.d/unattended-upgrades ├── S25bluetooth -> ../init.d/bluetooth ├── S50pulseaudio -> ../init.d/pulseaudio ├── S50rsync -> ../init.d/rsync ├── S50saned -> ../init.d/saned ├── S70dns-clean -> ../init.d/dns-clean ├── S70pppd-dns -> ../init.d/pppd-dns ├── S75sudo -> ../init.d/sudo ├── S99acpi-support -> ../init.d/acpi-support ├── S99grub-common -> ../init.d/grub-common ├── S99ondemand -> ../init.d/ondemand └── S99rc.local -> ../init.d/rc.local rc4.d ├── README ├── S20kerneloops -> ../init.d/kerneloops ├── S20speech-dispatcher -> ../init.d/speech-dispatcher ├── S20unattended-upgrades -> ../init.d/unattended-upgrades ├── S25bluetooth -> ../init.d/bluetooth ├── S50pulseaudio -> ../init.d/pulseaudio ├── S50rsync -> ../init.d/rsync ├── S50saned -> ../init.d/saned ├── S70dns-clean -> ../init.d/dns-clean ├── S70pppd-dns -> ../init.d/pppd-dns ├── S75sudo -> ../init.d/sudo ├── S99acpi-support -> ../init.d/acpi-support ├── S99grub-common -> ../init.d/grub-common ├── S99ondemand -> ../init.d/ondemand └── S99rc.local -> ../init.d/rc.local rc5.d ├── README ├── S20kerneloops -> ../init.d/kerneloops ├── S20speech-dispatcher -> ../init.d/speech-dispatcher ├── S20unattended-upgrades -> ../init.d/unattended-upgrades ├── S25bluetooth -> ../init.d/bluetooth ├── S50pulseaudio -> ../init.d/pulseaudio ├── S50rsync -> ../init.d/rsync ├── S50saned -> ../init.d/saned ├── S70dns-clean -> ../init.d/dns-clean ├── S70pppd-dns -> ../init.d/pppd-dns ├── S75sudo -> ../init.d/sudo ├── S99acpi-support -> ../init.d/acpi-support ├── S99grub-common -> ../init.d/grub-common ├── S99ondemand -> ../init.d/ondemand └── S99rc.local -> ../init.d/rc.local rc6.d ├── K20speech-dispatcher -> ../init.d/speech-dispatcher ├── K20unattended-upgrades -> ../init.d/unattended-upgrades ├── K74bluetooth -> ../init.d/bluetooth ├── README ├── S20sendsigs -> ../init.d/sendsigs ├── S30urandom -> ../init.d/urandom ├── S31umountnfs.sh -> ../init.d/umountnfs.sh ├── S35networking -> ../init.d/networking ├── S40umountfs -> ../init.d/umountfs ├── S60umountroot -> ../init.d/umountroot └── S90reboot -> ../init.d/reboot Se observa que rc0.d y rc6.d los servicios son practicamente los mismos, esto porque en ambos casos, el sistema está a punto de apagarse. También los archivos desde el rc2.d hasta el rc5.d inclusive, poseen los mismos servicios. Los servicios serán ejecutados de acuerdo a su prioridad, donde el número más bajo implica una prioridad mayor, y donde una “S” significa que inicie el servicio y una “K” que será detenido. • Instale los paquetes apache2, samba, smbclient, cifs-utils y smbfs. Compruebe como ambos servicios son ejecutados automáticamente al instalar los paquetes. Verifique los scripts de inicialización hayan sido agregados a los respectivos directorios. Todos fueron instalados mediante el comando “sudo aptitude <paquete>” • Solicite a un compañero que ingrese, usando elinks, a la dirección IP de su computadora (puede obtenerla con el comando ifconfig). ¿Qué sucede? Al ingresar a la IP de un compañero desde algún navegador web, lo que se obtuvo fue una página como la mostrada en la siguiente figura: • Modifique el archivo index.html en el directorio de páginas web de apache (/var/www) o sustitúyalo por algunos archivos de texto propios. Repita el punto anterior. ¿Qué sucede ahora? Al ingresar a la IP de la máquina de un compañero que hubiera cambiado el archivo index.html, lo que podía observar en el navegador, era lo que el compañero había sustituido por el contenido del archivo. Tal y como se muestra en la siguiente figura: • Detenga apache. Repita el punto 3. ¿Qué sucede? Para detener la ejecución de apache, se ejecutó el comando “sudo /etc/init.d/apache2 stop ”, y cuando un compañero intentó ingresar a la IP donde se detuvo el apache, apareció en el navegador un mensaje de que era imposible conectar con la página deseada. • Usando update-rc.d, desactive la ejecución automática de apache. Reinicie el sistema. Compruebe que el comando haya funcionado adecuadamente . Para desactivar la ejecución automática de apache, se utilizó el comando “sudo update-rc.d apache2 remove ”. Se comprobó que efectivamente estaba deshabilitado después de reiniciar la computadora, porque cuando se intentó entrar desde el navegador a la IP, fue imposible. • Usando update-rc.d, restaure la ejecución automática de apache a sus valores predeterminados. Utilice una prioridad de arranque de 95 y una prioridad de parada de 10. Se utilizó el comando “sudo update-rc.d apache2 defaults” para que se restaura la ejecución automática de apache2, seguidamente, se utilizó “sudo update-rc.d apache2 start 95 2 stop 10 0”, esto hace que el servicio apache2, se inicie en el nivel 2 con una prioridad 95 y se detenga en el nivel 0 con prioridad de 10. • Usando el comando runlevel, compruebe cual es el runlevel actual. Cambie al runlevel 1. ¿Qué sucede? Al utilizar el comando “runlevel” se verificó que se encuentra en el nivel 2. Para cambiar el runlevel, se utilizó el comando “init 1”. Este nivel hizo que se cerrara todo lo que se tenía abierto en Ubuntu, y se quedó en la pantalla en la que se carga el sistema operativo, sin embargo, de ahí nunca pasó. • Agregue al usuario licit a la base de datos de usuarios de samba usando el comando smbpasswd -a licit (use cualquier contraseña). Para agregar el usuario licit a la base de datos de samba, primero se debe crear dicho usuario, para eso se utilizó “sudo adduser” una vez hecho esto, se utilizó el comando “sudo smbpasswd -a licit” • Agregue un nuevo directorio compartido al final del archivo de configuración de samba (/etc/samba/smb.conf): [compartido] comment = Mi directorio compartido path = RUTA_AL_DIRECTORIO read only = no Se procedió a abrir el archivo y agregarle ese contenido, cambiando “RUTA_AL_DIRECTORIO” por la ruta correspondiente a donde se encontraba “Mi directorio compartido” • Desde otra computadora, liste los recursos compartidos de su equipo usando el comando $ smbclient -U licit -L //dirección_ip Al utilizar el comando “smbclient -U licit -L //192.198.12.54” se despliega una ventana como la que se muestra en la siguiente figura: • Desde otra computadora, monte el directorio compartido usando el comando mount.cifs. Recuerde que sólo el administrador puede montar sistemas de archivos: # mount.cifs //dirección_ip/compartido punto_de_montaje -o username=licit Para realizar el montaje se procedió a utilizar el comando “mount.cifs// 192.168.12.33/compartido /mnt -o username = licit ” Para comprobar que sirviera, se comprobó que se podía ver los archivos y crear archivos en ambas computadoras. • Desmonte el directorio compartido usando el comando umount. Para desmontar el directorio se utilizó el comando “sudo umount /mnt”.