Le module mod_ctrls est manquant dans la version 1.3.6 de
ProFTPd.
Ce module de peut s'obtenir que par compilation de ProFTPd.
Ce module est contenu dans les fichiers mod_ctrls.c et mod_ctrls.h
pour ProFTPD 1.2 et n'est pas compilé par défaut.
Il ne semble également pas compilé par défaut pour ma version
actuelle 1.3.6 de ProFTPD installée sur Debian Buster 10.
Dans le module mod_ctrls il y a l'option controlsocket.
Cela pourrait correspond à un bogue que je rencontre :
sudo proftpd --configtest
Checking syntax of configuration file
mod_ctrls/0.9.5: error: unable to bind to local socket: Address
already in use
processing configuration directory '/etc/proftpd/conf.d/'
Syntax check complete.
Le problème pourrait avoir été résolu dans la nouvelle version de
ProFTPd
Pourtant, il est dit plus haut que le module n'est pas compilé par
défaut.
1- Est ce que oui ou non Debian me permet d'avoir ce module de
compilé, en utilisant le paquet proftpd-basic ?
2- Suis je obligé de passer par les sources officielles de proftpd
pour avoir une compilation complète ?
3- Est ce que le paquet proftpd-basic proposé dans la version de
Debian Buster pourrait être patché manuellement, pour ajouter la
prise en compte du module manquant ?
C'est peut être autrement plus complexe ?
mod_ctrls est manquant.
mod_ctrls_admin est présent ( faire une recherche sur cette page,
vous trouverez la correspondance ci-dessous.
Mon idée première serrait de savoir si il est possible de coller
un scotch mouillé dans le paquet .deb de debian pour obtenir ce
module.
Si ce n'est pas possible, cela m'obligera à passer par les sources
officielles de ProFTPd ou d'attendre la mise à niveau de ProFTPd
sur Debian, et, que le module mod_ctrls soit compilé.
La commande proftpd -V m'indique que l'installation qui est
effectuée est la suivante :
sudo proftpd -V
Compile-time Settings:
Version: 1.3.6 (stable)
Platform: LINUX [Linux 4.19.0-6-amd64 x86_64]
Built: Tue Feb 25 2020 21:23:14 UTC
Built With:
configure '--build=x86_64-linux-gnu'
'--includedir=${prefix}/include' '--mandir=${prefix}/share/man'
'--infodir=${prefix}/share/info' '--sysconfdir=/etc'
'--localstatedir=/var' '--disable-silent-rules'
'--libdir=${prefix}/lib/x86_64-linux-gnu'
'--libexecdir=${prefix}/lib/x86_64-linux-gnu'
'--disable-maintainer-mode' '--disable-dependency-tracking'
'--prefix=/usr'
'--with-includes=/usr/include/postgresql:/usr/include/mariadb:/usr/include/mariadb/mysql'
'--mandir=/usr/share/man' '--sysconfdir=/etc/proftpd'
'--localstatedir=/run' '--libexecdir=/usr/lib/proftpd'
'--enable-sendfile' '--enable-facl' '--enable-dso'
'--enable-autoshadow' '--enable-ctrls' '--enable-ipv6'
'--enable-nls' '--enable-memcache'
'--with-lastlog=/var/log/lastlog' '--enable-pcre'
'--disable-strip' '--enable-redis' '--build' 'x86_64-linux-gnu'
'--with-shared=mod_unique_id:mod_site_misc:mod_load:mod_ban:mod_quotatab:mod_sql:mod_sql_mysql:mod_sql_postgres:mod_sql_sqlite:mod_sql_odbc:mod_dynmasq:mod_quotatab_sql:mod_ldap:mod_quotatab_ldap:mod_ratio:mod_tls:mod_rewrite:mod_radius:mod_wrap:mod_wrap2:mod_wrap2_file:mod_wrap2_sql:mod_quotatab_file:mod_quotatab_radius:mod_facl:mod_ctrls_admin:mod_copy:mod_deflate:mod_ifversion:mod_geoip:mod_exec:mod_sftp:mod_sftp_pam:mod_sftp_sql:mod_shaper:mod_sql_passwd:mod_ifsession:mod_auth_otp:mod_tls_redis:mod_wrap2_redis:mod_redis:mod_memcache:mod_tls_memcache:mod_readme:mod_snmp'
'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2
-fdebug-prefix-map=/build/proftpd-dfsg-h285Mw/proftpd-dfsg-1.3.6=.
-fstack-protector-strong -Wformat -Werror=format-security'
'LDFLAGS=-Wl,-z,relro' 'CPPFLAGS=-Wdate-time
-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2
-fdebug-prefix-map=/build/proftpd-dfsg-h285Mw/proftpd-dfsg-1.3.6=.
-fstack-protector-strong -Wformat -Werror=format-security'
CFLAGS: -g2 -g -O2
-fdebug-prefix-map=/build/proftpd-dfsg-h285Mw/proftpd-dfsg-1.3.6=.
-fstack-protector-strong -Wformat -Werror=format-security -Wall
-fno-omit-frame-pointer -Werror=implicit-function-declaration
LDFLAGS: -L$(top_srcdir)/lib -Wl,-z,relro -rdynamic
-L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/x86_64-linux-gnu
LIBS: -lacl -lpcreposix -lpcre -lssl -lcrypto -lcap -lpam
-lsupp -lattr -lnsl -lresolv -lresolv -lcrypt -ldl -lhiredis
-lmemcachedutil -lmemcached -pthread
Files:
Configuration File:
/etc/proftpd/proftpd.conf
Pid File:
/run/proftpd.pid
Scoreboard File:
/run/proftpd.scoreboard
Header Directory:
/usr/include/proftpd
Shared Module Directory:
/usr/lib/proftpd
Info:
+ Max supported UID: 4294967295
+ Max supported GID: 4294967295
Features:
+ Autoshadow support
+ Controls support
+ curses support
- Developer support
+ DSO support
+ IPv6 support
+ Largefile support
+ Lastlog support
+ Memcache support
+ ncursesw support
+ NLS support
+ Redis support
- Sodium support
+ OpenSSL support
+ PCRE support
+ POSIX ACL support
+ Shadow file support
+ Sendfile support
+ Trace support
+ xattr support
Tunable Options:
PR_TUNABLE_BUFFER_SIZE = 1024
PR_TUNABLE_DEFAULT_RCVBUFSZ = 8192
PR_TUNABLE_DEFAULT_SNDBUFSZ = 8192
PR_TUNABLE_ENV_MAX = 2048
PR_TUNABLE_GLOBBING_MAX_MATCHES = 100000
PR_TUNABLE_GLOBBING_MAX_RECURSION = 8
PR_TUNABLE_HASH_TABLE_SIZE = 40
PR_TUNABLE_LOGIN_MAX = 256
PR_TUNABLE_NEW_POOL_SIZE = 512
PR_TUNABLE_PATH_MAX = 4096
PR_TUNABLE_SCOREBOARD_BUFFER_SIZE = 80
PR_TUNABLE_SCOREBOARD_SCRUB_TIMER = 30
PR_TUNABLE_SELECT_TIMEOUT = 30
PR_TUNABLE_TIMEOUTIDENT = 10
PR_TUNABLE_TIMEOUTIDLE = 600
PR_TUNABLE_TIMEOUTLINGER = 10
PR_TUNABLE_TIMEOUTLOGIN = 300
PR_TUNABLE_TIMEOUTNOXFER = 300
PR_TUNABLE_TIMEOUTSTALLED = 3600
PR_TUNABLE_XFER_SCOREBOARD_UPDATES = 10
Source :
https://wiki.visionduweb.fr/index.php?title=Installer_et_utiliser_un_serveur_proFTPd_pureFTPd_vsFTPd#mod_ctrls
Source :
https://wiki.visionduweb.fr/index.php?title=Installer_et_utiliser_un_serveur_proFTPd_pureFTPd_vsFTPd#Unable_to_bind_to_local_socket:_Address_already_in_use