chown (GroupOwner) do not work with proftpd (with Linux OK)

Hi all,
i would like to switch our proftp server from Linux to FreeBSD.
However i have the following problem.
But for possibly a reason the command "GroupOwner" under FreeBSD does not work, chown is not started.
my kernel is FreeBSD 8.0-RELEASE-p2 and proftpd 1.3.3

proftpd.conf
Code:
<Directory /usr/local/daten/excella>
GroupOwner ftp-excella
# Umask 000 000
HideNoAccess on
		<Limit ALL>
			DenyGroup !ftp-excella
#			AllowAll
		</Limit>

		<Limit CDUP CWD XCWD XCUP>
			AllowGroup ftp-excella
			DenyAll
		</Limit>

		<Limit STOR STOU SITE_CHMOD>
			AllowGroup ftp-excella
			DenyAll
		</Limit>

		<Limit DELE RMD RNFR>
			AllowGroup ftp-excella
			DenyAll
		</Limit>
</Directory>

debug proftp linux:
Code:
- in dir_check(): setting umask to 0002 (was 0002)
- dispatching CMD command 'STOR download.cgi' to mod_xfer
- chown(/excella/download.cgi) to gid 524 successful
- passive data connection opened - local  : ::ffff:192.168.100.159:51212
- passive data connection opened - remote : ::ffff:192.168.1.69:61035

debug proftp FreeBSD:
Code:
- in dir_check(): setting umask to 0002 (was 0002)
- dispatching CMD command 'STOR download.cgi' to mod_xfer
- passive data connection opened - local  : ::ffff:192.168.100.130:58614
- passive data connection opened - remote : ::ffff:192.168.1.69:60874

Does someone have an idea?
Did i forget something with to install proftpd with FreeBSD?

Thanks for each assistance.

parcival
 
DutchDaemon, thanks for your fast answer.
That is so far everything correct (Description proftpd).
Which surprises me, is in debug by proftpd (FreeBSD) no error is indicated (Description proftpd -> a warning message is also logged).
It looks in such a way that chown is not implemented /started by proftpd.
 
ProFTPD can not chown anything in directories it does not have permissions on, or so I believe that's what that 'Description' says.
 
Hmm, the directory has already 777
If something to go wrong run here, must have to be seen in debug.
I do not see warnings, nothing.
For me the question arises, why proftpd does not try at all chown to start.
One must see this in debug.
 
The GID seems to be correct and also one recognizes (1022), however i miss chown (GroupOwner)

Code:
- in dir_check_full(): path = '/excella', fullpath = '/usr/local/daten/excella'.
- retrieved GID 1022 for group 'ftp-excella'
- dispatching POST_CMD command 'CWD /excella' to mod_readme
- dispatching LOG_CMD command 'CWD /excella' to mod_log
- dispatching PRE_CMD command 'SYST' to mod_tls
- dispatching PRE_CMD command 'SYST' to mod_rewrite
- dispatching PRE_CMD command 'SYST' to mod_core
- dispatching PRE_CMD command 'SYST' to mod_core
- dispatching CMD command 'SYST' to mod_core
- dispatching LOG_CMD command 'SYST' to mod_log
- dispatching PRE_CMD command 'STAT /excella' to mod_tls
- dispatching PRE_CMD command 'STAT /excella' to mod_rewrite
- dispatching PRE_CMD command 'STAT /excella' to mod_core
- dispatching PRE_CMD command 'STAT /excella' to mod_core
- dispatching CMD command 'STAT /excella' to mod_ls
- dispatching LOG_CMD command 'STAT /excella' to mod_log
- dispatching PRE_CMD command 'TYPE I' to mod_tls
- dispatching PRE_CMD command 'TYPE I' to mod_rewrite
- dispatching PRE_CMD command 'TYPE I' to mod_core
- dispatching PRE_CMD command 'TYPE I' to mod_core
- dispatching CMD command 'TYPE I' to mod_xfer
- dispatching LOG_CMD command 'TYPE I' to mod_log
- dispatching PRE_CMD command 'PASV' to mod_tls
- dispatching PRE_CMD command 'PASV' to mod_rewrite
- dispatching PRE_CMD command 'PASV' to mod_core
- dispatching PRE_CMD command 'PASV' to mod_core
- dispatching CMD command 'PASV' to mod_core
- ROOT PRIVS at inet.c:238
- RELINQUISH PRIVS at inet.c:256
- Entering Passive Mode (192,168,100,130,209,45).
- dispatching LOG_CMD command 'PASV' to mod_log
- dispatching PRE_CMD command 'STOR ceramicteeth.zip' to mod_tls
- dispatching PRE_CMD command 'STOR ceramicteeth.zip' to mod_rewrite
- dispatching PRE_CMD command 'STOR ceramicteeth.zip' to mod_core
- dispatching PRE_CMD command 'STOR ceramicteeth.zip' to mod_core
- dispatching PRE_CMD command 'STOR ceramicteeth.zip' to mod_ratio
- dispatching PRE_CMD command 'STOR ceramicteeth.zip' to mod_xfer
- in dir_check(): setting umask to 0000 (was 0002)
- dispatching CMD command 'STOR ceramicteeth.zip' to mod_xfer
- UseReverseDNS off, returning IP address instead of DNS name
 
hi all,
i have found the solution with help of TJ Saunders (Maintainer, Core Developer at The ProFTPD -> big thank you).

With FreeBSD this parameter must be active.
Code:
[B]PersistentPasswd on[/B]

If set to "on", proftpd will attempt to open the system-wide /etc/passwd, /etc/group (and /etc/shadow, potentially)
files itself, holding them open even during a chroot()ed login.
 
Back
Top