I am trying tp set up the FTP into our local galaxy instance, as a non -root user. I follow the tuto from this link https://docs.galaxyproject.org/en/latest/admin/special_topics/ftp.html. Is it possible to run the galaxy instance without root ?
With this conf file :
# Basics, some site-specific
ServerName "Public Galaxy FTP"
ServerType standalone
DefaultServer on
Port 20021
Umask 077
SyslogFacility DAEMON
SyslogLevel debug
MaxInstances 30
# This User & Group should be set to the actual user and group name which matche the UID & GID you will specify later in the SQLNamedQuery.
User nobody
Group nobody
DisplayConnect /etc/opt/local/proftpd_welcome.txt
# Passive port range for the firewall
PassivePorts 30000 40000
# Cause every FTP user to be "jailed" (chrooted) into their home directory
DefaultRoot ~
# Automatically create home directory if it doesn't exist
CreateHome on dirmode 700
# Allow users to overwrite their files
AllowOverwrite on
# Allow users to resume interrupted uploads
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>
# Do not authenticate against real (system) users
<IfModule mod_auth_pam.c>
AuthPAM off
</IfModule>
# General database support (http://www.proftpd.org/docs/contrib/mod_sql.html)
#SQL module
LoadModule mod_sql.c
# Support for base-64 or hex encoded MD5 and SHA1 passwords from SQL tables
# (contrib/mod_sql_passwd.html)
LoadModule mod_sql_passwd.c
# Common SQL authentication options
SQLEngine on
SQLPasswordEngine on
SQLBackend postgres
SQLConnectInfo postgres@localhost:5432 galaxyftp <password>
SQLAuthenticate users
# For PBKDF2 authentication
# See http://dev.list.galaxyproject.org/ProFTPD-integration-with-Galaxy-td4660295.html
SQLPasswordUserSalt sql:/GetUserSalt
# Define a custom query for lookup that returns a passwd-like entry for PBKFD2
# UID and GID should match your Galaxy user.
SQLUserInfo custom:/LookupGalaxyUser
SQLNamedQuery LookupGalaxyUser SELECT "email, (CASE WHEN substring(password from 1 for 6) = 'PBKDF2' THEN substring(password from 38 for 69) ELSE password END) AS password2,400,400,'/opt/galaxy/ftp_uploads/%U','/bin/bash' FROM galaxy_user WHERE email='%U'"
# Define custom query to fetch the password salt
SQLNamedQuery GetUserSalt SELECT "(CASE WHEN SUBSTRING (password from 1 for 6) = 'PBKDF2' THEN SUBSTRING (password from 21 for 16) END) AS salt FROM galaxy_user WHERE email='%U'"
I have the following problem of permissions :
[galaxy@node01 ~]$ proftpd --config /media/vol2/home/galaxy/proftpd.conf -t
Checking syntax of configuration file
node01 - ROOT PRIVS: unable to seteuid(): Operation not permitted
node01 - ROOT PRIVS: unable to setegid(): Operation not permitted
node01 - RELINQUISH PRIVS: unable to seteuid(PR_ROOT_UID): Operation not permitted
node01 - RELINQUISH PRIVS: unable to setegid(session.gid): Operation not permitted
node01 - RELINQUISH PRIVS: unable to seteuid(session.uid): Operation not permitted
node01 - RELINQUISH PRIVS: unable to seteuid(PR_ROOT_UID): Operation not permitted
node01 - RELINQUISH PRIVS: unable to setegid(session.gid): Operation not permitted
node01 - RELINQUISH PRIVS: unable to seteuid(session.uid): Operation not permitted
Syntax check complete.
node01 - RELINQUISH PRIVS: unable to seteuid(PR_ROOT_UID): Operation not permitted
node01 - RELINQUISH PRIVS: unable to setegid(session.gid): Operation not permitted
node01 - RELINQUISH PRIVS: unable to seteuid(session.uid): Operation not permitted