Virtual Machine - proftpd Debian 12 Bookworm accès Disque-1

Bonjour,

J’ai installé une machine VM Debian 12 Bookworm sur FreeBox Ultra (disque Nmve) assigné par clé authentification (OK). Plex installé (OK), Proftpd installé (OK).
Le disque utilisateur Disque-1 est monté /mnt/Disque-1

Connexion Putty machine VM OK, Disque-1 monté et accessible (utilisateur machine VM)
Connexion Plex OK port 32400 aucun souci d’accès au Disque-1 pour diffuser les médias.
Connexion Proftpd OK port 21, utilisateur FTP créé mais impossible d’accéder au Disque-1. J’accède à tout saut au disque monté /mnt/Disque-1.

Complément information :

Root@FreeVM:/mnt/Disque-1# ls -o
total 0
drwxr-xr-x 2 userVM 0 Mar 26 14:59 Enregistrements
drwxr-xr-x 2 userVM 0 Apr 2 02:46 Musiques
drwxr-xr-x 2 userVM 0 Apr 2 02:46 Photos
drwxr-xr-x 2 userVM 0 Mar 26 15:17 Téléchargements
drwxr-xr-x 2 userVM 0 Mar 26 15:09 VMs
drwxr-xr-x 2 userVM 0 Mar 26 14:59 Vidéos
drwxr-xr-x 2 userVM 0 Mar 26 14:59 lost+found

J’utilise Putty pour me rendre sur la machine et faire la custo. Ensuite tout simplement Filezilla Windows sur le user définit pour proftpd

useradd proftpdUser
passwd proftpodUser
usermod -m -d /mnt/Disque-1 proftpdUser

user proftpdUser dans /etc/passwd

proftpdUser:x:1001:1001::/mnt/Disque-1:/bin/sh

Très peu de changement, uniquement DefaultRoot ~ changé en DefaultRoot /mnt/Disque-1

# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.

# Includes DSO modules
Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6 on
# If set on you can experience a longer connection delay in many cases.
<IfModule mod_ident.c>
IdentLookups off
</IfModule>

ServerName "Debian"
# Set to inetd only if you would run proftpd by inetd/xinetd/socket.
# Read README.Debian for more information on proper configuration.
ServerType standalone
DeferWelcome off

# Disable MultilineRFC2228 per https://github.com/proftpd/proftpd/issues/1085
MultilineRFC2228on
DefaultServer on
ShowSymlinks on

TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200

DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-l"

DenyFilter \*.*/

# Use this to jail all users in their homes
DefaultRoot /mnt/Disque-1

# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell off

# Port 21 is the standard FTP port.
Port 21

# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
PassivePorts 49152 65534

# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
MasqueradeAddress 1.2.3.4

# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours
<IfModule mod_dynmasq.c>
DynMasqRefresh 28800
</IfModule>

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30

# Set the user and group that the server normally runs at.
User proftpd
Group nogroup

# Umask 022 is a good standard umask to prevent new files and dirs.
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on

J’ajouterai que sur Filezilla quand je me connecte je suis dirigé sur / plutôt que /mnt/Disque-1 mais je peux ensuite me déplacer dans l’arborescence sans problème. J’accède très bien à Disque-1 et tous ses sous-répertoires.
Je fais le test de transférer un fichier texte.
Log Filezilla :

2024-04-02 06:53:41 173928 1 Statut : Connexion à 192.168.1.194:21…
2024-04-02 06:53:41 173928 1 Statut : Connexion établie, attente du message d’accueil…
2024-04-02 06:53:43 173928 1 Réponse : 220 ProFTPD Server (Debian) [::ffff:192.168.1.194]
2024-04-02 06:53:43 173928 1 Commande : AUTH TLS
2024-04-02 06:53:43 173928 1 Réponse : 500 AUTH not understood
2024-04-02 06:53:43 173928 1 Commande : AUTH SSL
2024-04-02 06:53:43 173928 1 Réponse : 500 AUTH not understood
2024-04-02 06:53:43 173928 1 Statut : Serveur non sécurisé, celui‐ci ne prend pas en charge FTP sur TLS.
2024-04-02 06:53:43 173928 1 Commande : USER proftpdUser
2024-04-02 06:53:43 173928 1 Réponse : 331 Password required for proftpdUser
2024-04-02 06:53:43 173928 1 Commande : PASS ****************
2024-04-02 06:53:43 173928 1 Réponse : 230 User proftpdUser logged in
2024-04-02 06:53:43 173928 1 Commande : SYST
2024-04-02 06:53:43 173928 1 Réponse : 215 UNIX Type: L8
2024-04-02 06:53:43 173928 1 Commande : FEAT
2024-04-02 06:53:43 173928 1 Réponse : 211-Features:
2024-04-02 06:53:43 173928 1 Réponse : CLNT
2024-04-02 06:53:43 173928 1 Réponse : CSID
2024-04-02 06:53:43 173928 1 Réponse : EPRT
2024-04-02 06:53:43 173928 1 Réponse : EPSV
2024-04-02 06:53:43 173928 1 Réponse : HOST
2024-04-02 06:53:43 173928 1 Réponse : LANG C.UTF-8*
2024-04-02 06:53:43 173928 1 Réponse : MDTM
2024-04-02 06:53:43 173928 1 Réponse : MFF modify;UNIX.group;UNIX.mode;
2024-04-02 06:53:43 173928 1 Réponse : MFMT
2024-04-02 06:53:43 173928 1 Réponse : MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.groupname*;UNIX.mode*;UNIX.owner*;UNIX.ownername*;
2024-04-02 06:53:43 173928 1 Réponse : RANG STREAM
2024-04-02 06:53:43 173928 1 Réponse : REST STREAM
2024-04-02 06:53:43 173928 1 Réponse : SITE COPY
2024-04-02 06:53:43 173928 1 Réponse : SITE MKDIR
2024-04-02 06:53:43 173928 1 Réponse : SITE RMDIR
2024-04-02 06:53:43 173928 1 Réponse : SITE SYMLINK
2024-04-02 06:53:43 173928 1 Réponse : SITE UTIME
2024-04-02 06:53:43 173928 1 Réponse : SIZE
2024-04-02 06:53:43 173928 1 Réponse : TVFS
2024-04-02 06:53:43 173928 1 Réponse : UTF8
2024-04-02 06:53:43 173928 1 Réponse : 211 End
2024-04-02 06:53:43 173928 1 Commande : CLNT FileZilla
2024-04-02 06:53:43 173928 1 Réponse : 200 OK
2024-04-02 06:53:43 173928 1 Commande : OPTS UTF8 ON
2024-04-02 06:53:43 173928 1 Réponse : 200 UTF8 set to on
2024-04-02 06:53:43 173928 1 Statut : Connecté
2024-04-02 06:53:43 173928 1 Statut : Récupération du contenu du dossier « / »…
2024-04-02 06:53:43 173928 1 Commande : CWD /
2024-04-02 06:53:43 173928 1 Réponse : 250 CWD command successful
2024-04-02 06:53:43 173928 1 Commande : PWD
2024-04-02 06:53:43 173928 1 Réponse : 257 "/" is the current directory
2024-04-02 06:53:43 173928 1 Commande : TYPE I
2024-04-02 06:53:43 173928 1 Réponse : 200 Type set to I
2024-04-02 06:53:43 173928 1 Commande : PASV
2024-04-02 06:53:43 173928 1 Réponse : 227 Entering Passive Mode (192,168,1,194,140,209).
2024-04-02 06:53:43 173928 1 Commande : MLSD
2024-04-02 06:53:43 173928 1 Réponse : 150 Opening BINARY mode data connection for MLSD
2024-04-02 06:53:43 173928 1 Réponse : 226 Transfer complete
2024-04-02 06:53:43 173928 1 Statut : Contenu du dossier « / » affiché avec succès
2024-04-02 06:53:48 173928 1 Statut : Récupération du contenu du dossier « /mnt »…
2024-04-02 06:53:48 173928 1 Commande : CWD mnt
2024-04-02 06:53:48 173928 1 Réponse : 250 CWD command successful
2024-04-02 06:53:48 173928 1 Commande : PWD
2024-04-02 06:53:48 173928 1 Réponse : 257 "/mnt" is the current directory
2024-04-02 06:53:48 173928 1 Commande : PASV
2024-04-02 06:53:48 173928 1 Réponse : 227 Entering Passive Mode (192,168,1,194,140,15).
2024-04-02 06:53:48 173928 1 Commande : MLSD
2024-04-02 06:53:48 173928 1 Réponse : 150 Opening BINARY mode data connection for MLSD
2024-04-02 06:53:48 173928 1 Réponse : 226 Transfer complete
2024-04-02 06:53:48 173928 1 Statut : Contenu du dossier « /mnt » affiché avec succès
2024-04-02 06:53:50 173928 1 Statut : Récupération du contenu du dossier « /mnt/Disque-1 »…
2024-04-02 06:53:50 173928 1 Commande : CWD Disque-1
2024-04-02 06:53:50 173928 1 Réponse : 250 CWD command successful
2024-04-02 06:53:50 173928 1 Commande : PWD
2024-04-02 06:53:50 173928 1 Réponse : 257 "/mnt/Disque-1" is the current directory
2024-04-02 06:53:50 173928 1 Commande : PASV
2024-04-02 06:53:50 173928 1 Réponse : 227 Entering Passive Mode (192,168,1,194,162,241).
2024-04-02 06:53:50 173928 1 Commande : MLSD
2024-04-02 06:53:50 173928 1 Réponse : 150 Opening BINARY mode data connection for MLSD
2024-04-02 06:53:50 173928 1 Réponse : 226 Transfer complete
2024-04-02 06:53:50 173928 1 Statut : Contenu du dossier « /mnt/Disque-1 » affiché avec succès
2024-04-02 06:53:52 173928 1 Statut : Récupération du contenu du dossier « /mnt/Disque-1/Téléchargements »…
2024-04-02 06:53:52 173928 1 Commande : CWD Téléchargements
2024-04-02 06:53:52 173928 1 Réponse : 250 CWD command successful
2024-04-02 06:53:52 173928 1 Commande : PWD
2024-04-02 06:53:52 173928 1 Réponse : 257 "/mnt/Disque-1/Téléchargements" is the current directory
2024-04-02 06:53:52 173928 1 Commande : PASV
2024-04-02 06:53:52 173928 1 Réponse : 227 Entering Passive Mode (192,168,1,194,177,47).
2024-04-02 06:53:52 173928 1 Commande : MLSD
2024-04-02 06:53:52 173928 1 Réponse : 150 Opening BINARY mode data connection for MLSD
2024-04-02 06:53:52 173928 1 Réponse : 226 Transfer complete
2024-04-02 06:53:52 173928 1 Statut : Contenu du dossier « /mnt/Disque-1/Téléchargements » affiché avec succès
2024-04-02 06:53:56 173928 2 Statut : Connexion à 192.168.1.194:21…
2024-04-02 06:53:56 173928 2 Statut : Connexion établie, attente du message d’accueil…
2024-04-02 06:53:57 173928 2 Réponse : 220 ProFTPD Server (Debian) [::ffff:192.168.1.194]
2024-04-02 06:53:57 173928 2 Commande : AUTH TLS
2024-04-02 06:53:57 173928 2 Réponse : 500 AUTH not understood
2024-04-02 06:53:57 173928 2 Commande : AUTH SSL
2024-04-02 06:53:57 173928 2 Réponse : 500 AUTH not understood
2024-04-02 06:53:57 173928 2 Statut : Serveur non sécurisé, celui‐ci ne prend pas en charge FTP sur TLS.
2024-04-02 06:53:57 173928 2 Commande : USER proftpdUser
2024-04-02 06:53:57 173928 2 Réponse : 331 Password required for proftpdUser
2024-04-02 06:53:57 173928 2 Commande : PASS ****************
2024-04-02 06:53:57 173928 2 Réponse : 230 User proftpdUser logged in
2024-04-02 06:53:57 173928 2 Commande : CLNT FileZilla
2024-04-02 06:53:57 173928 2 Réponse : 200 OK
2024-04-02 06:53:57 173928 2 Commande : OPTS UTF8 ON
2024-04-02 06:53:57 173928 2 Réponse : 200 UTF8 set to on
2024-04-02 06:53:57 173928 2 Statut : Connecté
2024-04-02 06:53:57 173928 2 Statut : Démarrage de l’envoi de H:\Philippe\Logiciels\Windows\ADB\How To Install.txt
2024-04-02 06:53:58 173928 2 Commande : CWD /mnt/Disque-1/Téléchargements
2024-04-02 06:53:58 173928 2 Réponse : 250 CWD command successful
2024-04-02 06:53:58 173928 2 Commande : PWD
2024-04-02 06:53:58 173928 2 Réponse : 257 "/mnt/Disque-1/Téléchargements" is the current directory
2024-04-02 06:53:58 173928 2 Commande : TYPE A
2024-04-02 06:53:58 173928 2 Réponse : 200 Type set to A
2024-04-02 06:53:58 173928 2 Commande : PASV
2024-04-02 06:53:58 173928 2 Réponse : 227 Entering Passive Mode (192,168,1,194,144,117).
2024-04-02 06:53:58 173928 2 Commande : STOR How To Install.txt
2024-04-02 06:53:58 173928 2 Réponse : 550 How To Install.txt: Permission denied
2024-04-02 06:53:58 173928 2 Erreur : Erreur critique lors du transfert du fichier

Salut,

il me semble que ton user FTP (proftpdUser) n’a pas les droits d’écriture dans /mnt/Disque-1/Téléchargements

Et de fait, tu as défini /mnt/Disque-1/ comme étant le $HOME de ton user, mais tu ne lui en a pas donné la propriété (c’est UserVM le proprio). Il peut quand même afficher les fichiers et traverser les (sous-)répertoires, car ce répertoire est en 755.

Fais un chown -R proftpdUser: /mnt/Disque-1/ et le problème devrait être réglé. Ou alors donne lui les droits d’écriture dans les sous-répertoires, si tu souhaites utiliser le jail chroot dans /mnt/Disque-1

Bonjour,
Merci pour avoir pris ma question en considération.

Commande effectuée OK : chown -R proftpdUser: /mnt/Disque-1/. Aucune amélioration. Le problème persiste.
Commande effectuée OK : chmod -R 777 /mnt/Disque-1/. Aucune amélioration. Le problème persiste.

Mais vos propos m’ont amené à réfléchir. Cette machine virtuelle est sur la Freebox Ultra. On la crée très facilement. Au démarrage on choisit son utilisateur et on lui associe un mot de passe ou une clé d’authentification. J’ai opté pour la clé. Je me signe avec Putty (utilisateur/clé Privé-Publique). Tout est OK. J’ai installé Plex et Proftpd sans soucis.

A ce moment-là, j’ai « merdé ».

Mon besoin étant de créer une tâche de synchronization à partir de mon NAS QNAP (Hybrid Backup) qui me propose l’utilisation du protocole FTP. J’ai créé un utilisateur proftpdUser (je ne pouvais pas utiliser userVM car il n’a qu’une clé et pas de mot de passe). La connexion a fonctionné mais j’a ieu ce souci d’écriture sur mon espace média.

Pour corriger je suis passé en root et j’ai créé un mot de passe pour userVM. J’ai testé et Euréka çà fonctionne. J’ai modifié la tâche de synchro sur mon NAS.

Maintenant tout est nickel.

Je vous remercie vraiment pour votre aide qui a été incontestablement une source d’inspiration et d’initiative.