Bug#1119295: erases all (user) data from /srv/ftp when purged
Evgeni Golov
evgeni at debian.org
Tue Oct 28 19:16:01 GMT 2025
Package: proftpd-core
Version: 1.3.9~dfsg-3
Severity: grave
X-Debbugs-Cc: evgeni at debian.org
Control: found -1 1.3.8.c+dfsg-4
Ohai,
proftpd-core.postrm contains (since [1]) the following snippet:
if [ "$1" = "purge" ]
then
…
rm -rf /etc/proftpd
rm -rf /var/log/proftpd
rm -rf /srv/ftp
rm -f /etc/logrotate.d/proftpd-core
userdel --remove --force proftpd || true
userdel ftp || true
fi
The `rm -rf /srv/ftp` part results in *all* data from /srv/ftp being
purged, not only the one related to the package itself. This can lead to
serious data loss if people decide to use /srv/ftp as the root of their
FTP server (e.g. as suggested by the Anonymous example in proftpd.conf).
I think purging proftpd-core should only remove files that were placed
in /srv/ftp by proftpd-core (welcome.msg) and remove the directory only
if it is empty afterwards (rm -f /srv/ftp/welcome.msg; rmdir
--ignore-fail-on-non-empty /srv/ftp).
For historical reference: this was reported once in the past already as
[2], got fixed [3], but now regressed again.
Thanks for maintaining ProFTPD!
Evgeni
[1] https://salsa.debian.org/debian-proftpd-team/proftpd/-/commit/9dbf3b40750465e3680601ee55df9e49624de072
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=655514
[3] https://salsa.debian.org/debian-proftpd-team/proftpd/-/commit/99fbc334eace80d1e99302b8b9ecc987d45d73a5
-- System Information:
Debian Release: forky/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.12.38+deb13-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: SELinux: enabled - Mode: Permissive - Policy name: default
Versions of packages proftpd-core depends on:
ii adduser 3.152
ii init-system-helpers 1.68
ii libacl1 2.3.2-2+b1
ii libc6 2.41-12
ii libcap2 1:2.75-10+b1
ii libcrypt1 1:4.4.38-1
ii libhiredis1.1.0 1.2.0-6+b3
ii libidn2-0 2.3.8-2
ii libmemcached11t64 1.1.4-1.1+b2
ii libmemcachedutil2t64 1.1.4-1.1+b2
ii libncursesw6 6.5+20250216-2
ii libpam-runtime 1.7.0-5
ii libpam0g 1.7.0-5
ii libpcre2-8-0 10.45-1
ii libpcre2-posix3 10.45-1
ii libssl3t64 3.5.2-1
ii libtinfo6 6.5+20250216-2
ii netbase 6.5
ii ucf 3.0052
ii zlib1g 1:1.3.dfsg+really1.3.1-1+b1
Versions of packages proftpd-core recommends:
pn proftpd-doc <none>
Versions of packages proftpd-core suggests:
pn openbsd-inetd | inet-superserver <none>
ii openssl 3.5.2-1
pn proftpd-mod-crypto <none>
pn proftpd-mod-geoip <none>
pn proftpd-mod-ldap <none>
pn proftpd-mod-mysql <none>
pn proftpd-mod-odbc <none>
pn proftpd-mod-pgsql <none>
pn proftpd-mod-snmp <none>
pn proftpd-mod-sqlite <none>
pn proftpd-mod-wrap <none>
-- no debconf information
More information about the Pkg-proftpd-maintainers
mailing list