Universidad de Costa Rica | Escuela de Ingeniería Eléctrica IE-0117 Programación Bajo Plataformas Abiertas Laboratorio No. 4 Servicios en GNU/Linux
100 Bien!
1. 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?
Como podemos notar hay una serie de servicios instalados dentro del sistema operativo dentro de los cuales cabe destacar apache2 (servidor web) el cual sera utilizado mas adelante. Estos servicios son ejecutados cada vez que iniciamos el sistema.
En el directorio rc0.d hallamos la lista anterior de servicios, que son iniciados automaticamente por init en el nivel de ejecucion 0.
En el directorio rc1.d hallamos la lista anterior de servicios, que son iniciados automaticamente por init en el nivel de ejecucion 1. Podemos notar que algunos de los servicios son detenidos por ejemplo K15pulseaudio, esto es indicado por el primer carácter “K”; el cual denota parada(stop) mientras que otros servicios son inicializados por ejemplo S70dns-clean, esto se sabe pues el primer carácter es “S” lo que nos indica es inicialización automatica. Del mismo modo habra una lista de servicios a inicializar en cada nivel de ejecucion. /etc/rc0.d/ /etc/rc1.d/ ... /etc/rc6.d/ 2. Instale los paquetes apache2, samba, smbclient, cifs-utils y smbfs. Compruebe como ambos servicios son ejecutados automaticamente al instalar los paquetes. Verifique los scripts de inicialización hayan sido agregados a los respectivos directorios.
Encontramos el script de apache usando la direccion cd /etc/init.d/ y luego nos introducimos dentro del archivo mediante nano apache2.
3. 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? Si nos ubicamos dentro de una misma red, por ejemplo el dia que hice la prueba estaba dentro de la red innalambrica de ingeniería electrica, podemos observar por default lo que se encuentra en el archivo index.html 4. 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? Una vez modificado el archivo, si repetimos el paso numero 3 nos muestra el archivo de texto index modificado. 5. Detenga apache. Repita el punto 3. ¿Qué sucede?
Se detuvo apache de la manera especificada en la imagen anterior
Al repetir el paso 3 nos muestra que el servidor se niega a contestar:
6. Usando update-rc.d, desactive la ejecución automática de apache. Reinicie el sistema. Compruebe que el comando haya funcionado adecuadamente.
7. 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.
8. Usando el comando runlevel, compruebe cual es el runlevel actual. Cambie al runlevel 1. ¿Qué sucede?
Al ingresar init 1; comando el cual nos cambia el runlevel a 1 nos inhabilita una serie de scripts y provoca que se apague el sistema.
9. 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 a a la base de datos es necesario aplicar los siguientes comandos.
De esta manera el usuario kenneth queda agregado a la base de datos samba. 10. 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
El directorio que se compartirá debe existir y el usuario plataformas debe tener los permisos adecuados sobre él.
11. Desde otra computadora, liste los recursos compartidos de su equipo usando el comando $ smbclient -U licit -L //dirección_ip'
Podemos notar que el directorio x17 se encuentra disponible para compartirlo dentro de la red. Ademas observamos que existen otros ordenadores que muestran directorios compartidos. 12. 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 # mount.cifs //192.168.1.107/compartido /home -o username=kenneth Compruebe que el montaje haya sido exitoso. Abra y cree algunos archivos y verifique que los cambios se produzcan en ambas computadoras. Creamos un archivo dentro de la carpeta compartida, con el comando man touch, y lo que notamos es que en la otra computadora “virtual” aparece el archivo en el directorio home. 13. Desmonte el directorio compartido usando el comando umount. sudo umount //192.168.1.107/compartido. Ahora la carpeta deja de ser compartida y no se puede ingresar por otros usuarios.