Pro FTPd changes world permissions to "0" regardless of umask - Printable Version +- ispCP - Board - Support (http://www.isp-control.net/forum) +-- Forum: ispCP Omega Support Area (/forum-30.html) +--- Forum: System Setup & Installation (/forum-32.html) +--- Thread: Pro FTPd changes world permissions to "0" regardless of umask (/thread-15331.html) |
Pro FTPd changes world permissions to "0" regardless of umask - xincs - 10-14-2011 09:25 PM Hi there, I am completely despaired with a strange permission-problem: I've transferred a old ISPcp-installation to debian squeeze (64Bit/amd64) using ISPCp-1.0.7 - everything seems good: But ProFTP (1.3.3a - 6squeeze1) ALWAYS changes world permissions of any uploaded file or directory to "0" > E.g. instead of 644 / 755 I always get 640 / 750 - world permissions seem completely unaffected by the umask setting and always result as "none/0" - If I cahnge Umask in the config file the owner and group permissions reflect the changes but world permissions remain "0" I already decativated basically any module that I did not understand or need - effect remains the same: After transfer I can do an CHMOD in FTP without problems but this is too compilcated for the average user. My Config is: # # ispCP OMEGA ProFTPd config file # # # # Includes required DSO modules. This is mandatory in proftpd 1.3 # Include /etc/proftpd/modules.conf Include /etc/proftpd/ispcp-aio.conf # Include /etc/proftpd/ispcp/*.conf ServerName "XXXXXXXXXXXXXXX" ServerType standalone DeferWelcome off # DebugLevel 9 ShowSymlinks on MultilineRFC2228 on DefaultServer on ShowSymlinks on AllowOverwrite on UseReverseDNS off IdentLookups off AllowStoreRestart on AllowForeignAddress on Umask 022 LogFormat traff "%b %u" TimeoutNoTransfer 1200 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir message #LsDefaultOptions "-l" DenyFilter \*.*/ DefaultRoot ~ # Uncomment this if you are using NIS or LDAP to retrieve passwords: #PersistentPasswd off # Port 21 is the standard FTP port. Port 21 # 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 50 # Set the user and group that the server normally runs at. User nobody Group nogroup # Normally, we want files to be overwriteable. <Directory /*> AllowOverwrite on HideNoAccess on </Directory> <Limit ALL> IgnoreHidden on </Limit> <Global> RootLogin off TransferLog /var/log/proftpd/xferlog ExtendedLog /var/log/proftpd/ftp_traff.log read,write traff PathDenyFilter "\.quota$" </Global> <IfModule mod_delay.c> DelayEngine off </IfModule> # # ISPCP Managment; # SQLBackend mysql # enable for proFTPd >= 1.3 SQLAuthTypes Crypt SQLAuthenticate on SQLConnectInfo ispcp@localhost vftp XXXXXXXXXXX 30 SQLUserInfo ftp_users userid passwd uid gid homedir shell SQLGroupInfo ftp_group groupname gid members SQLMinID 2000 # # ISPCP Quota management; # QuotaEngine on QuotaShowQuotas on QuotaDisplayUnits Mb SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%{0}' AND quota_type = '%{1}'" SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies WHERE name = '%{0}' AND quota_type = '%{1}'" SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies QuotaLock /var/run/proftpd/tally.lock QuotaLimitTable sql:/get-quota-limit QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally # # SSL via TLS # #<IfModule mod_tls.c> # TLSEngine off # on for use of TLS # TLSLog /var/log/proftpd/ftp_ssl.log # where to log to # TLSProtocol SSLv23 # SSLv23 or TLSv1 # TLSOptions NoCertRequest # either to request the certificate or not # TLSRSACertificateFile /etc/proftpd/ssl.crt # SSL certfile # TLSRSACertificateKeyFile /etc/proftpd/ssl.key # SSL keyfile # TLSVerifyClient off # client verification #</IfModule> Debug logging of affected transfer:: XXXX - in dir_check_full(): path = '/htdocs/testfile', fullpath = '/var/www/virtual/xxxxxxxx/htdocs/inventory.zip'. XXXX - in dir_check_full(): setting umask to 0022 (was 0022) XXXX - dispatching CMD command 'STOR inventory.zip' to mod_xfer XXXX - passive data connection opened - local : XXXX ... One last information: the target is stored on NFS (v3, rw, async, no_root_squash) So what??? Any ideas anybody?? Best regards, Andreas |