educación, informática y demás

Servicios en Red

Resumen de servicios

Hasta ahora hemos trabajado con: ftp, http y smb/cifs, con los servidores o servicios vsftpd, apache2 y samba.

Vamos a hacer un pequeño resumen de lo más importante para poder gestionar estos servicios en un sistema operativo de tipo GNU/Linux.

Gestión del servicio

Para gestionar estos servicios utilizamos systemctl. A systemctl le podemos pasar, básicamente estos comandos:

  • status.
  • restart.
  • stop
  • start
  • reload. (menos)

Hay más comandos, por ejemplo enable, dsable, unmask,etc… pero para nosotros con los anteriores nos bastan.

Ficheros de configuración

Es fundamental que conozcamos los ficheros de configuración de cada uno de los servicios con los que estamos trabajando. El fichero de configuración de un servicio es el que determina cómo va a funcionar dicho servicio.

  • apache2. No lo vamos a usar en este curso. Los ficheros de configuración de apache2 están en /etc/apache2
  • vsftpd. El fichero de configuración /etc/vsftpd.conf.
  • samba. /etc/samba/smb.conf

Ayuda. Páginas de manual de los servicios y sus ficheros de configuración

Si no tenemos claro algún parámetro de configuración de alguno de los servicios, podemos consultar su página de manual.

  • man smb.conf
  • man vsftpd.conf

Búsquedas dentro de la página de manual

Pomos usar las búsquedas dentro de una página de manual extensa. Por ejemplo, si queremos buscar información sobre el parámetro de configuración write list en samba podemos buscar en el documento esa cadena de texto. Para ello, pulsamos la «barra del 7» o / y escribimos lo que queremos buscar a continuación.

Escribimos el texto a buscar después de la barra y pulsamos Enter.
Se resaltan los resultados. Si queremos avanzar por los resultados pulsamos la tecla «n» si queremos retroceder pulsamos SHIFT+N.

Para salir Q.

Podemos consultar la ayuda del fichero de configuración del servidor FTP vsftpd.

Aprovechar los comentarios

Además de las páginas de manual, en los ficheros de configuración que vienen por defecto con los servicios, tenemos múltiples comentarios.

De hecho, hay veces que estos comentarios pueden ser molestos y dificultan la comprensión de la configuración.

De hecho, ¡la configuración que se muestra en la terminal no es la misma que tenemos en el editor de texto! Esto es así, porque no habíamos guardado el fichero.

Es importante que, después de haber realizado la configuración, guardemos los cambios en el fichero de configuración y reiniciemos el servicio para que cargue los cambios.

Es más, si conocemos el parámetro de configuración y queremos buscarlo dentro del fichero de configuración podemos utilizar la herramienta de búsqueda del editor de texto.

Vamos a ver cómo se busca con el editor de texto nano.

Usuario y grupo del servicio

  • Apache2. usuario: www-data grupo: www-data
  • Vsftpd. usuario: ftp; grupo: ftp.
  • Samba. usuario: nobody; grupo: nogroup.

Directorios del servicio

Tanto el servicio apache2 como el vsftpd tienen un directorio especial que utilizan como directorio ráiz principal de su servicio. Este directorio será el que contenga, por defecto, la información principal de los acceso de los clientes. Vamos ver la función de este directorio en cada uno de los servicios, pero antes veamos las rutas de cada uno de estos directorios:

  • vsftpd. Directorio raíz público: /srv/ftp
  • apache2. Directorio base o DocumentRoot: /var/www/html

En el caso de vsftpd, todo el contenido del directorio /srv/ftp será lo que se muestre como directorio raíz a los usuarios que se conecten al ftp de forma anónima. Es decir, todo lo que metamos en este directorio, estará disponible para los usuarios con acceso anónimo.

Por ejemplo, si tenemos el siguiente fichero: /srv/ftp/clases/examen/enunciado.pdf en nuestro servidor cuya dirección IP es 192.168.10.254, ¿Cuál será la URL de ese fichero?

  • ftp://192.168.100.254/clase/examen/enunciado.pdf

En el caso de apache2, por defecto su DocumentRoot o directorio principal está en /var/www/html. Todo lo que metamos en ese directorio estará disponible a través de apache2, siendo este su directorio raíz.

Por ejemplo, si tenemos el fichero /var/www/html/sistemas/java/es/educatica/Main.class ¿cuál será la URL para acceder a dicho fichero a través de apache2 si nuestro servidor tiene el FQDN dev01.educatica.es?

  • http://dev01.educatica.es/sistemas/java/es/educatica/Main.class

Usuario y grupo del servicio

Estos servicios necesitan acceder al sistema de ficheros para poder leer y/o escribir datos. Para poder hacer esto cuando el acceso es anónimo lo tienen que hacer con una cuenta de usuario / grupo propia.

Cada uno de estos servicios tiene asignado un usuario y un grupo primario que se detallan a continuación:

  • Apache2. usuario:grupo = www-data:www-data
  • Vsftpd. ftp:ftp.
  • Samba. nobody:nogroup.

Cuando el acceso no es anónimo, por ejemplo en FTP o Samba, y se iniciado sesión con las credenciales de un usuario del sistema, el servicio accederá a los recursos del sistema como el propio usuario, teniendo los permisos que tuviera este.

Por ejemplo, si accedemos a través de ftp con marinapg el acceso que tendrá marinapg será COMO MUCHO el del usuario marinapg en el sistema de ficheros. Nosotros podemos configurar restricciones de acceso a través de nuestros servicios. Por ejemplo, en FTP podríamos desactivar la escritura a través del FTP.

Permisos en el sistema de ficheros

Cuando accedemos a través de un servicio en red a un sistema con las credenciales de un usuario, estos accesos tendrán como mucho los permisos que tenga el usuario en el sistema.

Es decir, cuando accedemos a través de un servicio, los permisos efectivos de ese acceso serán los más restrictivos entre los permisos locales y los permisos configurados en el servicio.

Por ejemplo, supongamos que estamos accediendo a un recurso en Samba:

Configuración del recurso shared en samba

Según esta configuración solo los usuarios del grupo alumnos podrán acceder para realizar operaciones tanto de lectura como de escritura en el directorio /educatica/alumnos/compartido.

Pero…… según estos permisos, ¿qué pasará?

Deberiamos cambiar esto…

Dejar una respuesta