Introducción
Antes de empezar a utilizar el servicio FTP debemos saber que tiene dos modos de funcionamiento, Activo y Pasivo, en el modo activo el servidor inicia la conexión, es decir, el servidor se conecta al cliente cuando el cliente lo solicita. En el otro caso, en el modo pasivo es el cliente el que se conecta al servidor cuando el servidor lo solicita.
En resumen, en el modo activo el cliente solicita y el servidor se conecta, y en el pasivo el servidor solicita y el cliente se conecta.
Instalación del servicio
Para instalar el servicio debemos ejecutar el siguiente comando
sudo apt-get install vsftpd
Una vez se ha instalado ya podemos pasar a configurarlo, pero antes vamos a conocer los comandos para iniciar el servicio, detenerlo, reiniciarlo y ver el estado respectivamente
sudo service vsftpd start
sudo service vsftpd stop
sudo service vsftpd restart
sudo service vsftpd status
Configurar el servicio
Para empezar a configurarlo, primero debemos dónde se encuentra el fichero de configuración, en este caso en /etc/vsftpd.conf
Los comentarios se identifican con el símbolo #
al principio de la línea
En este archivo se configura todo el servicio, como hay muchos parámetros de configuración vamos a verlos los que nos van a ser útiles poco a poco.
Casos Prácticos
Vamos a realizar una serie de ejemplos para aprender a configurar el servicio FTP.
Permitir - Bloquear el acceso a los usuarios
Para empezar con este ejemplo, vamos a tener que crear 6 usuarios nuevos, los cuales vamos a llamar profe1
, profe2
, profe3
, profe4
, alum1
, alum2
.
sudo adduser profe1
sudo adduser profe2
sudo adduser profe3
sudo adduser profe4
sudo adduser alum1
sudo adduser alum2
Después de crearlos, vamos a realizar una modificación en el archivo de configuración del servicio FTP para hacer que solo los profe?
puedan acceder a través de FTP.
sudo nano /etc/vsftpd.conf
# Indica la ubicación del fichero con la lista
userlist_file=/etc/vsftpd.userlist
# Activa la lista de usuarios
userlist_enable=YES
# Indica que los usuarios de la lista no están bloqueados
userlist_deny=NO
Eliminando los comentarios del archivo que acabamos de modificar quedaría así
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_enable=YES
userlist_deny=NOTan solo nos falta crear la lista en la que vamos a poner los usuarios que podrán acceder.
sudo nano /etc/vsftpd.userlist
profe1
profe2
profe3
profe4
Tras esta acción ya tenemos configurado el servicio FTP para este ejemplo, lo único que faltaría por realizar sería reiniciar el servicio y ver el estado para asegurarse que lo hemos configurado correctamente.
Grupos de Usuarios - Máscaras de permisos - Usuarios Anónimos
En este segundo ejemplo vamos a configurar el servicio para que puedan entrar usuarios locales y anónimos. Los usuarios profe1
, profe2
, profe3
deben poder subir y modificar archivos de sus carpetas personales, pero no han de ser accesibles para otros usuarios.
Los usuarios alum1
, y alum2
, deben poder subir archivos a sus carpetas personales y además han de ser accesibles para los profesores.
En la carpeta /home/ubuntu/2smx
han de poder subir y modificar archivos los profesores, pero los alumnos solo han de poder descargarlos.
El usuario anónimo debe poder leer y escribir en la carpeta /srv/ftp/compartit
, los demás usuarios solo podrán descargar ficheros de la carpeta.
Primero vamos a hacer que ningún otro usuario pueda entrar en las carpetas personales de los profesores.
sudo chmod 770 /home/profe*
Después, volvemos a cambiar los permisos esta vez de las carpetas personales de los usuarios.
sudo addgroup profesores
sudo usermod -a -G profesores profe1
sudo usermod -a -G profesores profe2
sudo usermod -a -G profesores profe3
sudo usermod -a -G profesores profe4
sudo chown alum1:profesores /home/alum1
sudo chown alum2:profesores /home/alum2
sudo chmod 750 /home/alum*
Pasamos a configurar la carpeta /home/ubuntu/2smx
sudo mkdir /home/ubuntu/2smx
sudo chmod 775 /home/ubuntu/2smx
sudo chown ubuntu:profesores /home/ubuntu/2smx
Por ultimo pasamos a configurar la carpeta para el usuario anónimo
sudo mkdir /srv/ftp/compartit
sudo chmod 775 /srv/ftp/compartit
sudo chown ftp:ftp /srv/ftp/compartit
Ya solo queda configurar el servicio para que funcione correctamente.
sudo nano /etc/vsftpd.conf
# Indica que el usuario anónimo podrá entrar por FTP
anonymous_enable=YES
# Permite la creación de carpetas al usuario anónimo
anon_mkdir_write_enable=YES
# Permite acciones de escritura distintas de creación y subida al usuario anónimo
anon_other_write_enable=YES
# Permite la subida de ficheros del usuario anónimo
anon_upload_enable=YES
# Modifica la máscara del usuario anónimo (Resultado: -rw-r--r--)
anon_umask=022
# Modifica la máscara de los usuarios locales (Resultado: -rw-r--r--)
local_umask=022
# Permite la escritura utilizando es servicio FTP
write_enable=YES
El archivo quedaría tal que así
listen=NO
listen_ipv6=YES
anonymous_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
local_enable=YES
local_umask=022
write_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_enable=YES
userlist_deny=NO
Como en el ejemplo anterior solo permitíamos el acceso a los profesores, debemos modificar el fichero para permitir a los alumnos acceder. Debería quedar así.
sudo nano /etc/vsftpd.userlist
profe1
profe2
profe3
profe4
alum1
alum2
Por ultimo me gustaría destacar que, para poder utilizar esta configuración, debemos saber que para acceder utilizando el usuario anónimo tenemos dos nombres de usuario disponibles, el usuario anonymous
y el usuario ftp
, estos son los dos usuarios anónimos que nos proporciona el servicio.
Grupos y Permisos de los directorios
En este otro ejemplo, vamos a modificar el ejemplo anterior para ver más a fondo los grupos y permisos que debemos configurar en el sistema de directorios de Linux.
El usuario anónimo
debe poder leer y escribir en la carpeta /srv/ftp/compartit
, los profesores deben poder también modificar los archivos de la carpeta, quedando solo los alumnos con permiso para descargar.
Sobre la carpeta /home/ubuntu/2smx/srd
solo el usuario profe1
debe poder modificar el contenido dando permisos para leer a los usuarios alum1
y alum2
.
En la carpeta /home/ubuntu/2smx/apw
solo el usuario profe2
debe poder modificar el contenido, los usuarios alum1
y alum3
deben tener permiso de escritura.
En la carpeta /home/ubuntu/2smx/sgd
solo el usuario profe3
debe poder modificar el contenido, dando acceso de lectura a los usuarios alum2
y alum3
.
En la carpeta /home/ubuntu/2smx/eie
solo el usuario profe4
puede modificar, los usuarios alum1
, alum2
y alum4
pueden leer el contenido.
Primero vamos a cambiar los permisos de la carpeta del usuario anónimo, el propietario ha de ser el usuario anónimo, en este caso se trata de ftp, el grupo propietario va a ser profesores, ya que deben poder añadir contenido a diferencia de los alumnos que solo pueden leer.
sudo chown ftp:profesores /srv/ftp/compartit
sudo chmod 775 /srv/ftp/compartit
Antes de continuar, vamos a crear los otros dos alumnos que necesitamos en el servidor
sudo adduser alum3
sudo adduser alum4
Y los añadimos a la lista de usuarios permitidos.
sudo nano /etc/vsftpd.userlist
profe1
profe2
profe3
profe4
alum1
alum2
alum3
alum4
El primer paso ya está realizado, vamos a las carpetas de las asignaturas de 2smx. Primero la carpeta de srd. Debemos crear la carpeta, después crear un grupo en el que estén los dos alumnos que pueden acceder, y, por último, modificar los permisos y los propietarios de la carpeta para que se cumplan las condiciones.
sudo mkdir /home/ubuntu/2smx/srd
sudo addgroup alum_srd
sudo usermod -a -G alum_srd alum1
sudo usermod -a -G alum_srd alum2
sudo chown profe1:alum_srd /home/ubuntu/2smx/srd
sudo chmod 750 /home/ubuntu/2smx/srd
Pasamos ahora a la carpeta apw, el propietario ha de ser profe2, y solo pueden acceder a leer alum1 y alum3. En este caso, realizamos los mismos pasos que en la carpeta anterior.
sudo mkdir /home/ubuntu/2smx/apw
sudo addgroup alum_apw
sudo usermod -a -G alum_apw alum1
sudo usermod -a -G alum_apw alum3
sudo chown profe2:alum_apw /home/ubuntu/2smx/apw
sudo chmod 750 /home/ubuntu/2smx/apw
Continuamos con la carpeta sgd, como propietario profe3, con permiso de lectura alum2 y alum3. Los comandos son los mismos que antes.
sudo mkdir /home/ubuntu/2smx/sgd
sudo addgroup alum_sgd
sudo usermod -a -G alum_sgd alum2
sudo usermod -a -G alum_sgd alum3
sudo chown profe3:alum_sgd /home/ubuntu/2smx/sgd
sudo chmod 750 /home/ubuntu/2smx/sgd
Y nos queda la última carpeta, la asignatura eie con propietario profe4, y con permiso de lectura los alumnos alum1, alum2 y alum4. Es el mismo proceso que antes.
sudo mkdir /home/ubuntu/2smx/eie
sudo addgroup alum_eie
sudo usermod -a -G alum_eie alum1
sudo usermod -a -G alum_eie alum2
sudo usermod -a -G alum_eie alum4
sudo chown profe4:alum_eie /home/ubuntu/2smx/eie
sudo chmod 750 /home/ubuntu/2smx/eie
Grupos Principales y Máscaras de permisos
Anteriormente ya hemos visto las máscaras y las hemos configurando, pero ahora vamos a profundizar más en este apartado viendo un ejemplo bastante claro.
En este ejemplo vamos a configurarlo para que los archivos subidos por el usuario anónimo tengan como permiso lectura y escritura para el propietario y solo lectura para el resto. Además, los usuarios locales, se deberán poder leer y modificar por el propietario, solo leer para el grupo y ningún permiso para el resto. Por último, los profesores cuando suban un fichero a una carpeta de una asignatura, el grupo del fichero ha de ser el grupo de esa asignatura.
Vamos a simplificar el ejemplo a resolver, cuando un usuario anónimo suba un fichero este tiene que tener los permisos -rw-rw-r--
, y cuando un usuario local suba un fichero tiene que tener los permisos -rw-r-----
, vamos a configurar las máscaras.
Anteriormente hemos establecido las máscaras de los dos tipos de usuarios en 022
y tenemos el resultado -rw-r--r--
, por defecto la máscara está establecida en 077
y obtenemos -rw-------
.
Vamos primero con la máscara del usuario anónimo, primero debemos saber que un usuario de Linux siempre crea los archivos con unos permisos predeterminados, de forma que para aplicar posteriormente la máscara que configuremos, debemos saber con qué permisos creará el fichero subido.
Los usuarios tanto locales como anónimos crean los ficheros con los permisos -rw-rw-rw-
A partir de esta base, tan solo tenemos que quitar el permiso de escritura de otros en caso del anónimo.
En el caso de los usuarios locales tenemos que quitar lectura-escritura de otros y escritura del grupo.
Vamos a configurar primero la máscara de los anónimos, se realiza tal que así.
Permisos predeterminados: - rw- rw- rw-
Permisos deseados: - rw- rw- r--
Máscara a aplicar: - --- --- -w-
La máscara es el permiso que queremos quitar como hemos podido observar.
La máscara que hemos obtenido si la pasamos a octal obtenemos el valor 002
. Este es valor que tenemos que poner en el archivo de configuración en la variable de la máscara del usuario anónimo.
En los usuarios locales vamos a seguir la misma metodología.
Permisos predeterminados: - rw- rw- rw-
Permisos deseados: - rw- r-- ---
Máscara a aplicar: - --- -w- rw-
La máscara en octal es 026
, este es valor que pondremos en la configuración.
sudo nano /etc/vsftpd.conf
# Modifica la máscara del usuario anónimo
anon_umask=002
# Modifica la máscara de los usuarios locales
local_umask=026
Ya tan solo quedaría que el grupo del fichero sea el grupo de la asignatura, antes de realizar eso vamos a añadir un parámetro a la configuración
sudo nano /etc/vsftpd.conf
# Muestra los nombres de los usuarios y los grupos en vez de los UID y GID
text_userdb_names=YES
Para realizar esta acción, no podemos establecerlo dependiendo de carpeta, sino de usuario, es decir, el grupo de los archivos subidos es el grupo primario que tiene el usuario que lo ha subido.
Para poder cumplir la condición realizaremos lo siguiente, basándonos en que cada profesor tiene una única asignatura, podemos ponerle al profesor el grupo se su asignatura. Quedaría tal que de la siguiente forma.
sudo usermod -g alum_srd profe1
sudo usermod -g alum_apw profe2
sudo usermod -g alum_sgd profe3
sudo usermod -g alum_eie profe4
De esta forma cambiamos el grupo principal de cada profesor con su respectiva asignatura, ahora los archivos creados por los profesores tendrán el grupo correcto.
Acceso SSL
Hasta hora nuestro servidor FTP tiene una conexión no segura, el servidor trae unos certificados genéricos que podemos utilizar, estos no están certificados por ninguna CA por lo que no se puede comprobar la autenticidad, pero de momento nos sirve para probar.
Vamos a realizar una configuración simple para saber cómo funciona el SSL, el usuario anónimo no va a poder conectarse por SSL, y los usuarios locales solo lo van a requerir para mandar datos. La configuración quedaría tal que así.
sudo nano /etc/vsftpd.conf
# Activamos el uso del SSL
ssl_enable=YES
# No permitir conectarse por SSL al usuario anónimo
allow_anon_ssl=NO
# No fuerza el uso de SSL para la conexión al servidor de usuarios anónimos
force_anon_logins_ssl=NO
# No fuerza el uso de SSL para la transferencia de datos de usuarios anónimos
force_anon_data_ssl=NO
# No fuerza el uso de SSL para la conexión al servidor de usuarios locales
force_local_logins_ssl=NO
# Fuerza el uso de SSL para transferencia de datos de usuarios locales
force_local_data_ssl=YES
# Esta es la ruta del certificado, en este caso el genérico
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# Esta es la ruta de la clave privada, en este caso la genérica
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Para probar esta configuración debemos instalar en el cliente el paquete SSL para FTP, de lo contrario no podremos conectarnos ya que por defecto no soporta la tecnología SSL.
Creación de un certificado autofirmado
Si no queremos utilizar el certificado genérico que trae el servicio FTP, podemos crear un certificado autofirmado utilizando la herramienta gratuita OpenSSL. De esta forma podemos personalizar los datos del certificado para una mayor seguridad.
sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftp.key -out /etc/ssl/certs/vsftpd.pem
Este comando nos guarda el certificado y la clave privada en la ruta que hemos establecido en los parámetros, vamos a ver exactamente que le hemos introducido.
req
Solicitud de generación del certificado-x509
Crea un certificado autofirmado en vez de una solicitud de certificado-nodes
Encripta la clave privada si es generada-days
Días durante los cuales será válido el certificado-newkey
Crea un nuevo certificado y una nueva clave privada con el algoritmo y bits especificados-keyout
Ruta de creación de la clave privada -out
Ruta de creación del certificado
Tras generar el certificado, tan solo nos queda escribir las rutas en el fichero de configuración. Si has seguido el paso anterior y has incluido los certificados genéricos, tienes que quitar las rutas genéricas y poner las que acabamos de generar.
sudo nano /etc/vsftpd.conf
# Esta es la ruta del certificado que acabamos de generar
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
# Esta es la ruta de la clave privada, en este caso la genérica
rsa_private_key_file=/etc/ssl/private/vsftpd.key
Ejemplo avanzado
Vamos a ver un ejemplo avanzado de configuración del servicio FTP en que veremos unos cuantos parámetros más que podemos configurar, además de continuar utilizando los grupos y permisos que nos permite utilizar Linux.
Lo primero que tendremos que realizar es añadir un mensaje de bienvenida en el que ponga “Bienvenido al servidor seguro del IES LLUISSIMARRO”
Después lo configuramos para que solo permita el acceso obligatorio por SSL a los usuarios del sistema, el usuario anónimo no podrá utilizar SSL.
El usuario anónimo debe tener control total del directorio /srv/ftp/compartit
, los demás usuarios solo han de poder descargar el contenido. Además, si accedemos utilizando el usuario anónimo no ha de solicitar contraseña.
Los usuarios, director
, vicedirector
, secretari
, vicesecretari
, capestudis1
, capestudis2
y coordinador
deben tener control total en sus respectivas carpetas, no accesibles para nadie más.
El usuario coordinador
no podrá acceder utilizando FTP, y el usuario capestudis2
no podrá salir de su carpeta principal, además existirá un usuario iessimarro
que será accesible para todos los usuarios locales.
En la carpeta /home/iessimarro/admin/comptesBanc
han de poder editar director
, vicedirector
, secretari
y vicesecretari
, pero solo leer capestudis1
y capestudis2
, ningún otro usuario puede entrar. La carpeta mostrará un mensaje “Carpeta de la directiva dels Comptes Bancaris”.
En la carpeta /home/iessimarro/admin/horaris
han de poder editar capestudis1
y capestudis2
, leer director
y vicedirector
. La carpeta debe mostrar “Carpeta de la directiva del HORARIS dels grups”.
En la carpeta /home/iessimarro/admin/centre
han de poder editar director
y vicedirector
, leer el resto de directiva. Mostrará el mensaje “Carpeta de la directiva dels documents interns del CENTRE”
En la carpeta /home/iessimarro/extraescolars/
todos los usuarios de esta actividad han de poder añadir información, pero no editar ni borrar actividades, excepto el autor y el vicedirector
. Los demás usuarios solo pueden leer.
Las acciones realizadas se guardarán en un fichero con formato vsftpd.
Por último, los ficheros y carpetas mostrarán el nombre del propietario y el grupo no el UID y GID.
Es un ejemplo bastante completo, por lo que vamos a ir haciéndolo poco a poco
Primero vamos a configurar el mensaje de bienvenida, para realizar esto, tenemos dos parámetros disponibles.
# Añade un mensaje de bienvenida de una línea
ftpd_banner=[string]
# Añade un mensaje de bienvenida escrito en el fichero establecido
banner_file=[file]
En nuestro caso establecemos el primero, pero son los dos iguales de válidos
sudo nano /etc/vsftpd.conf
ftpd_banner=Bienvenido al servidor seguro del IES LLUISSIMARRO
Pasamos a configurar el SSL, como anteriormente hemos generado un certificado autofirmado, lo volveremos a utilizar ahora.
# Activamos el uso del SSL
ssl_enable=YES
# No permitir conectarse por SSL al usuario anónimo
allow_anon_ssl=NO
# No fuerza el uso de SSL para la conexión al servidor de usuarios anónimos
force_anon_logins_ssl=NO
# No fuerza el uso de SSL para la transferencia de datos de usuarios anónimos
force_anon_data_ssl=NO
# Fuerza el uso de SSL para la conexión al servidor de usuarios locales
force_local_logins_ssl=YES
# Fuerza el uso de SSL para transferencia de datos de usuarios locales
force_local_data_ssl=YES
# Esta es la ruta del certificado, en este caso utilizamos el autofirmado
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
# Esta es la ruta de la clave privada, en este caso utilizamos la autofirmada
rsa_private_key_file=/etc/ssl/private/vsftpd.key
Para que el usuario anónimo tenga control total de la carpeta /src/ftp/compartit
, primero tenemos que crearla en caso de que no exista.
sudo mkdir /srv/ftp/compartit
sudo chmod 775 /srv/ftp/compartit
sudo chown ftp:ftp /srv/ftp/compartit
Ya tiene control total, nos queda que no solicite contraseña al iniciar sesión, para realizar esto tenemos que activar un parámetro.
sudo nano /etc/vsftpd.conf
no_anon_password=YES
Pasamos ahora a configurar los usuarios y sus respectivas carpetas personales
sudo adduser director
sudo adduser vicedirector
sudo adduser secretari
sudo adduser vicesecretari
sudo adduser capestudis1
sudo adduser capestudis2
sudo adduser coordinador
sudo adduser iessimarro
sudo chmod 770 /home/director
sudo chmod 770 /home/vicedirector
sudo chmod 770 /home/secretari
sudo chmod 770 /home/vicesecretari
sudo chmod 770 /home/capestudis1
sudo chmod 770 /home/capestudis2
sudo chmod 770 /home/coordinador
sudo chmod 775 /home/iessimarro
El usuario coordinador no ha de poder acceder via FTP, así que vamos a bloquearle el acceso. Anteriormente ya lo hemos configurado, pero vamos a volver a hacerlo, la forma más fácil de realizarlo es utilizando la lista de usuarios que podemos configurar en el servicio vsftpd.
sudo nano /etc/vsftpd.conf
# Indica la ubicación del fichero con la lista
userlist_file=/etc/vsftpd.userlist
# Activa la lista de usuarios
userlist_enable=YES
# Indica que los usuarios de la lista no están bloqueados
userlist_deny=NO
Podemos hacer que solo los usuarios de la lista tengan acceso, o que solo los que no están en la lista lo tengan, en este ejemplo vamos a realizarlo basándonos en la primera opción.
sudo nano /etc/vsftpd.userlist
director
vicedirector
secretari
vicesecretari
capestudis1
capestudis2
iessimarro
El usuario capestudis2
no va a poder salir de su home, para realizar esta acción, vamos a tener que crear otra lista.
sudo nano /etc/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot
sudo nano /etc/vsftpd.chroot
capestudis2
Ya hemos configurado los usuarios y sus carpetas personales, pasemos ahora a configurar las carpetas situadas dentro de /home/iessimarro
.
Para poder configurar las carpetas que se encuentran dentro de la carpeta /home/iessimarro/admin
, tenemos que pararnos a pensar en los permisos de la misma.
Tenemos que crear un grupo en el que únicamente estén los usuarios que van a necesitar acceder a alguna de las subcarpetas, esos usuarios son director
, vicedirector
, secretari
, vicesecretari
, capestudis1
y capestudis2
.
sudo addgroup group_admin
sudo usermod -a -G director
sudo usermod -a -G vicedirector
sudo usermod -a -G secretari
sudo usermod -a -G vicesecretari
sudo usermod -a -G capestudis1
sudo usermod -a -G capestudis2
sudo chown iessimarro:group_admin /home/iessimarro/admin
Pasamos ahora a configurar la carpeta comptesBanc
, necesitamos un grupo específico para esta carpeta, como la carpeta padre tiene bloqueado el acceso nos podemos asegurar que los otros usuarios van a ser únicamente capestudis1
y capestudi2
.
mkdir /home/iessimarro/admin/comptesBanc
sudo addgroup group_comptesBanc
sudo usermod -a -G group_comptesBanc director
sudo usermod -a -G group_comptesBanc vicedirector
sudo usermod -a -G group_comptesBanc secretari
sudo usermod -a -G group_comptesBanc vicesecretari
sudo chown iessimarro:group_comptesBanc /home/iessimarro/admin/comptesBanc
sudo chmod 775 /home/iessimarro/admin/comptesBanc
Para añadir un mensaje al acceder a la carpeta, tenemos que crear un archivo llamado .message
y añadir un parámetro a nuestra configuración.
sudo nano /home/iessimarro/admin/comptesBanc/.message
Carpeta de la directiva dels Comptes Bancaris
Activamos que al acceder a las carpetas muestre el contenido de .message
si existe el fichero.
sudo nano /etc/vsftpd.conf
# Activa los mensajes de las carpetas
dirmessage_enable=YES
Pasamos a la segunda carpeta, en este caso en el grupo ha de estar capestudis1
y capestudis2
, como no podemos dos grupos, aparte de director
y vicedirector
, también podrán entrar secretari
y vicesecretari
, pero en ningún momento nos dice que no han de poder acceder.
sudo mkdir /home/iessimarro/admin/horaris
sudo addgroup group_horaris
sudo usermod -a -G group_horaris capestudis1
sudo usermod -a -G group_horaris capestudis2
sudo chown iessimarro:group_horaris /home/iessimarro/admin/horaris
sudo chmod 775 /home/iessimarro/admin/horaris
Como anteriormente vamos a configurar el mensaje, como ya está la directiva activa, solo tenemos que crear el fichero .message con el mensaje que queremos que muestre.
sudo nano /home/iessimarro/admin/horaris/.message
Carpeta de la directiva del HORARIS dels grups
En la tercera carpeta, en el grupo debe estar el director
y el vicedirector
.
sudo mkdir /home/iessimarro/admin/centre
sudo addgroup group_centre
sudo usermod -a -G group_centre director
sudo usermod -a -G group_centre vicedirector
sudo chown iessimarro:group_centre /home/iessimarro/admin/centre
sudo chmod 775 /home/iessimarro/admin/centre
Y creamos el mensaje a mostrar.
sudo nano /home/iessimarro/admin/horaris/.message
Carpeta de la directiva dels documents interns del CENTRE
Todas las subcarpetas están creadas y configuradas, ahora pasamos a configurar la carpeta extraescolars
. Como no se especifica ningún usuario para el grupo, lo dejamos vacío.
sudo mkdir /home/iessimarro/extraescolars
sudo addgroup group_extraescolars
sudo chown iessimarro:group_extraescolars /home/iessimarro/extraescolars
sudo chmod 775 /home/iessimarro/extraescolars
Si nos fijamos, nos especifica que solo el usuario que ha creado el fichero y el vicedirector pueden editar o borrar un fichero, pero ¿cómo hacemos esto? Utilizando el Sticky Bit podemos realizar esta acción para este caso en concreto tendremos que definir los permisos añadiendo un valor antes de los tres dígitos. Para este ejemplo el valor del Sticky Bit es 1
.
sudo chmod 1775 /home/iessimarro/extraescolars
En la posición de la ejecución del grupo otros debe haber ahora una T, el valor cambia de mayúscula a minúscula en caso de que exista la ejecución o no.
T
No hay permiso de ejecución
t
Hay permiso de ejecución
Para obtener un log de todas las acciones realizadas tenemos que activar el siguiente parámetro, también cambiaremos el nombre del fichero para que tenga la extensión deseada.
xferlog_enable=YES
vsftpd_log_file=/etc/vsftpd/log.vsftpd
Para finalizar la configuración de nuestro servidor para este ejemplo, tenemos que activar el parámetro que cambia los UID y GID por el nombre y el grupo en texto.
sudo nano /etc/vsftpd.conf
# Muestra los nombres de los usuarios y los grupos en vez de los UID y GID
text_userdb_names=YES
Cliente
Para que el cliente se conecte al servidor tenemos que utilizar el comando FTP
ftp [servidor]
En el parámetro [servidor]
podemos indicar tanto una dirección IP como un host.
Tras esto nos solicitará el usuario y posteriormente la contraseña
Una vez dentro tenemos muchos comandos que podemos utilizar, vamos a ver unos pocos
cd
Moverse por el sistema de carpetas remoto
cdup
Moverse al directorio padre de nuestra ubicación
lcd
Moverse por el sistema de carpetas local
delete
Elimina un fichero
get
Obtiene un fichero
exit
Salir, cerrar la conexión
mdelete
Elimina varios ficheros
mget
Obtiene varios ficheros
mkdir
Crear una carpeta
put/send
Subir un fichero
mput/msend
Subir varios ficheros
pwd
Posición actual en el sistema de ficheros remoto
![comando]
Ejecuta un comando en la terminal local sin necesidad de salir del FTP
Soporte a la conexión SSL
Para soportar la conexión FTP utilizando SSL tenemos que instalar el siguiente paquete
sudo apt-get install ftp-ssl
Tras realizar esta acción, ya podemos utilizar conexiones FTP sobre SSL.