Hi Adam, I remembered having a hard time getting this to work. After it worked, networkadmins decided to disallow ftp connections at our university due to security concerns... I do not remember the solution (...), but I can share my config files (I am using apache instead of nginx): This is my working 'proftp.conf': # This is the ProFTPD configuration file # Server Config - config used for anything outside a <VirtualHost> or <Global> context ServerName "BITS Galaxy FTP" ServerIdent on "Welcome to BITS Galaxy FTP server." ServerType standalone #ServerAdmin root@localhost #Umask 0066 SyslogFacility DAEMON SyslogLevel debug DefaultRoot ~ !adm CreateHome on 700 uid 600 gid 601 PassivePorts 39000 40000 MaxInstances 30 User galaxy Group galaxy #UseFtpUsers off #AuthPAM off # Don't do reverse DNS lookups (hangs on DNS problems) UseReverseDNS off MaxInstances 20 # Define the log formats LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" # General database support (http://www.proftpd.org/docs/contrib/mod_sql.html) #LoadModule mod_sql.c # Support for base-64 or hex encoded MD5 and SHA1 passwords from SQL tables #LoadModule mod_sql_passwd.c # Postgresql support (requires proftpd-postgresql package) # (http://www.proftpd.org/docs/contrib/mod_sql.html) # LoadModule mod_sql_postgres.c <Global> # Allow users to overwrite files and change permissions AllowOverwrite on AllowStoreRestart on # Bar use of SITE CHMOD <Limit SITE_CHMOD> DenyAll </Limit> # Bar use of RETR (download) since this is not a public file drop <Limit RETR> DenyAll </Limit> SQLLogFile /var/log/proftpd/proftpd.log # get FTP connection over SSH DefaultServer on SFTPEngine on SFTPLog /var/log/proftpd-sftp.log Port 8822 # Set up mod_sql_password - Galaxy passwords are stored as hex-encoded SHA1 SQLPasswordEngine on SQLPasswordEncoding hex RequireValidShell off # Set up mod_sql to authenticate against the Galaxy database SQLEngine on SQLBackend postgres SQLConnectInfo galaxydb@127.0.0.1 galaxyftp ********** SQLAuthTypes SHA1 SQLAuthenticate users # An empty directory in case chroot fails SQLDefaultHomedir /mnt/galaxytemp/ftptmp SQLDefaultGID 601 SQLDefaultUID 600 SQLMinID 95 # Define a custom query for lookup that returns a passwd-like entry. UID and GID should match your Galaxy user. SQLUserInfo custom:/LookupGalaxyUser SQLNamedQuery LookupGalaxyUser SELECT "email,password,'600','601','/mnt/galaxydb/ftp/%U','/bin/bash' FROM galaxy_user WHERE email='%U'" </Global> Good luck, Joachim Joachim Jacob Contact details: http://www.bits.vib.be/index.php/about/80-team On 09/05/2013 02:46 AM, Panzer, Adam wrote:
Hello Devs,
I've been trying for a while now to get ProFTPD working for our local instance. I have: 1) Modified pg_hba.conf 2) Set up the ProFTPD config files 3) Disabled PBKDF2 password encryption by adding use_pbkdf2 = false to universe_wsgi.ini
I've read through the posts from others with this issue and made sure to avoid some of the common pitfalls like forgetting to install/enable mod_sql.c, mod_sql_postgres.c, and LoadModule mod_sql_passwd.c or having an incorrect/<999 uid/gid in proftpd.conf. Even so, when I attempt to access the server through FileZilla, it continues to kick back login errors for all users:
Status: Resolving address of localhost Status: Connecting to 127.0.0.1:21... Status: Connection established, waiting for welcome message... Response: 220 ProFTPD 1.3.4a Server (Jay2) [::ffff:127.0.0.1] Command: USER panzer_a@kids.wustl.edu Response: 331 Password required for panzer_a@kids.wustl.edu Command: PASS *********** Response: 530 Login incorrect. Error: Critical error Error: Could not connect to server
I have included the contents of the relevant config files and logs below. The proftpd log says that the user name is wrong, but the sqllog seems to indicate a successful hit on the user but a failed password authentication (again, despite disabling PBKDF2). I would be most grateful if someone could tell me what I'm doing wrong.
Thanks, Adam
- PACKAGE VERSIONS - PostgreSQL 9.2 Nginx 1.1.19 ProFTPD 1.3.4a
- PG_HBA.CONF - local all all trust host all all 127.0.0.1/32 trust host all all ::1/128 trust host all all 0.0.0.0/0 md5
- PROFTPD.CONF -
Include /etc/proftpd/modules.conf
UseIPv6 on
IdentLookups off
ServerType standalone DeferWelcome off
MultilineRFC2228 on DefaultServer on ShowSymlinks on
TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200
DisplayLogin welcome.msg DisplayChdir .message true ListOptions "-l"
DenyFilter \*.*/
Port 21
PassivePorts 30000 40000
MaxInstances 30
User galaxy Group galaxy
Umask 077
AllowOverwrite on
AuthOrder mod_sql.c
SQLDefaultGID 1001 SQLDefaultUID 1001
TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log
<IfModule mod_quotatab.c> QuotaEngine off </IfModule>
<IfModule mod_ratio.c> Ratios off </IfModule>
<IfModule mod_delay.c> DelayEngine on </IfModule>
<IfModule mod_ctrls.c> ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule>
<IfModule mod_ctrls_admin.c> AdminControlsEngine off </IfModule>
Include /etc/proftpd/conf.d/
- GALAXY.CONF (galaxy specific conf.d ProFTPD config file) -
ServerName "Jay2"
DefaultRoot ~
CreateHome on dirmode 700
AllowOverwrite on
AllowStoreRestart on
<Limit SITE_CHMOD> DenyAll </Limit>
<Limit RETR> DenyAll </Limit>
AuthPAM off
SQLPasswordEngine on SQLPasswordEncoding hex
SQLEngine on SQLBackend postgres SQLConnectInfo galaxy@localhost:5432 galaxy galaxy SQLAuthTypes SHA1 SQLAuthenticate users
SQLDefaultHomedir /var/lib/proftpd/empty
SQLUserInfo custom:/LookupGalaxyUser SQLNamedQuery LookupGalaxyUser SELECT "email,password,'1001','1001','/home/galaxy/galaxy-supp/ftp/%U','/bin/bash' FROM galaxy_user WHERE email='%U'"
SQLLogFile /var/log/proftpd/sqlLog.txt
- PROFTPD.LOG - Sep 04 19:03:51 PCF10-WKS1572 proftpd[4846] PCF10-WKS1572 (localhost[127.0.0.1]): FTP session closed. Sep 04 19:14:57 PCF10-WKS1572 proftpd[5034] PCF10-WKS1572 (localhost[127.0.0.1]): FTP session opened. Sep 04 19:14:57 PCF10-WKS1572 proftpd[5034] PCF10-WKS1572 (localhost[127.0.0.1]): USER panzer_a@kids.wustl.edu (Login failed): No such user found.
- SQLLOG.TXT - Sep 04 19:14:57 mod_sql/4.3[5034]: defaulting to 'postgres' backend Sep 04 19:14:57 mod_sql/4.3[5034]: backend module 'mod_sql_postgres/4.0.4' Sep 04 19:14:57 mod_sql/4.3[5034]: backend api 'mod_sql_api_v1' Sep 04 19:14:57 mod_sql/4.3[5034]: >>> sql_sess_init Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_defineconnection Sep 04 19:14:57 mod_sql/4.3[5034]: name: 'default' Sep 04 19:14:57 mod_sql/4.3[5034]: user: 'galaxy' Sep 04 19:14:57 mod_sql/4.3[5034]: host: 'localhost' Sep 04 19:14:57 mod_sql/4.3[5034]: db: 'galaxy' Sep 04 19:14:57 mod_sql/4.3[5034]: port: '5432' Sep 04 19:14:57 mod_sql/4.3[5034]: ttl: '0' Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_defineconnection Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' successfully established Sep 04 19:14:57 mod_sql/4.3[5034]: mod_sql engine : on Sep 04 19:14:57 mod_sql/4.3[5034]: negative_cache : off Sep 04 19:14:57 mod_sql/4.3[5034]: authenticate : users Sep 04 19:14:57 mod_sql/4.3[5034]: usertable : users Sep 04 19:14:57 mod_sql/4.3[5034]: userid field : userid Sep 04 19:14:57 mod_sql/4.3[5034]: password field : passwd Sep 04 19:14:57 mod_sql/4.3[5034]: UID field : uid Sep 04 19:14:57 mod_sql/4.3[5034]: GID field : gid Sep 04 19:14:57 mod_sql/4.3[5034]: homedir field : homedir Sep 04 19:14:57 mod_sql/4.3[5034]: homedir(default) : '/var/lib/proftpd/empty' Sep 04 19:14:57 mod_sql/4.3[5034]: shell field : shell Sep 04 19:14:57 mod_sql/4.3[5034]: SQLMinUserUID : 999 Sep 04 19:14:57 mod_sql/4.3[5034]: SQLMinUserGID : 999 Sep 04 19:14:57 mod_sql/4.3[5034]: <<< sql_sess_init Sep 04 19:14:57 mod_sql/4.3[5034]: >>> sql_pre_pass Sep 04 19:14:57 mod_sql/4.3[5034]: <<< sql_pre_pass Sep 04 19:14:57 mod_sql/4.3[5034]: >>> cmd_getpwnam Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_escapestring Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: Postgres server version: 9.2.4 Sep 04 19:14:57 mod_sql/4.3[5034]: Postgres connection character set now 'UTF8' (from 'UTF-8') Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' opened Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 2 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 1 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_escapestring Sep 04 19:14:57 mod_sql/4.3[5034]: cache miss for user 'panzer_a@kids.wustl.edu' Sep 04 19:14:57 mod_sql/4.3[5034]: >>> sql_lookup Sep 04 19:14:57 mod_sql/4.3[5034]: >>> process_named_query 'LookupGalaxyUser' Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_escapestring Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 2 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 1 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_escapestring Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_escapestring Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 2 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 1 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_escapestring Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_select Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 2 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: query "SELECT email,password,'1001','1001','/home/galaxy/galaxy-supp/ftp/panzer_a@kids.wustl.edu','/bin/bash' FROM galaxy_user WHERE email='panzer_a@kids.wustl.edu'" Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 1 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_select Sep 04 19:14:57 mod_sql/4.3[5034]: <<< process_named_query 'LookupGalaxyUser' Sep 04 19:14:57 mod_sql/4.3[5034]: <<< sql_lookup Sep 04 19:14:57 mod_sql/4.3[5034]: cache miss for user 'panzer_a@kids.wustl.edu' Sep 04 19:14:57 mod_sql/4.3[5034]: user 'panzer_a@kids.wustl.edu' cached Sep 04 19:14:57 mod_sql/4.3[5034]: + pwd.pw_name : panzer_a@kids.wustl.edu Sep 04 19:14:57 mod_sql/4.3[5034]: + pwd.pw_uid : 1001 Sep 04 19:14:57 mod_sql/4.3[5034]: + pwd.pw_gid : 1001 Sep 04 19:14:57 mod_sql/4.3[5034]: + pwd.pw_dir : /home/galaxy/galaxy-supp/ftp/panzer_a@kids.wustl.edu Sep 04 19:14:57 mod_sql/4.3[5034]: + pwd.pw_shell : /bin/bash Sep 04 19:14:57 mod_sql/4.3[5034]: <<< cmd_getpwnam Sep 04 19:14:57 mod_sql/4.3[5034]: >>> cmd_auth Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_escapestring Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 2 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_open Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 1 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_escapestring Sep 04 19:14:57 mod_sql/4.3[5034]: cache hit for user 'panzer_a@kids.wustl.edu' Sep 04 19:14:57 mod_sql/4.3[5034]: >>> cmd_check Sep 04 19:14:57 mod_sql/4.3[5034]: checking password using SQLAuthType 'sha1' Sep 04 19:14:57 mod_sql/4.3[5034]: 'sha1' SQLAuthType handler reports failure Sep 04 19:14:57 mod_sql/4.3[5034]: <<< cmd_check Sep 04 19:14:57 mod_sql/4.3[5034]: <<< cmd_auth Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_exit Sep 04 19:14:57 mod_sql/4.3[5034]: entering postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' closed Sep 04 19:14:57 mod_sql/4.3[5034]: connection 'default' count is now 0 Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_close Sep 04 19:14:57 mod_sql/4.3[5034]: exiting postgres cmd_exit
The materials in this email are private and may contain Protected Health Information. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying, distribution or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return email.
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/