Complete noob: need help on installing and setting up Pure-FTPd
SUSE / openSUSEThis Forum is for the discussion of Suse Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Complete noob: need help on installing and setting up Pure-FTPd
Hey everyone, I hope you guys can help me. I'm completely new to Linux, didn't know which distro to go with, so I just decided to get openSuSE 10.0 about a week ago and installed it on an old 233 MHz P-MMX machine just to see how Linux is like.
I tried out KDE and GNOME but settled on Text Mode because 1)doesn't bog down the system and 2)I want it to be an ftp server.
OK, so I do some google searches and I find that pure-ftpd boasts of being the most easiest to install and get running that even complete noobs (like myself) should be able to do.
(followed the pure-ftpd virtual users guide)
I fiddled around with it, tried to make up some login accounts, did small variations when certain command-line entries didn't work. When I finally got it to work, it then asked me to input the password twice after I created an ftp login username. I was able to successfully reach localhost, it then prompted me for a username, password, and failed to log me in as though the account didn’t exist.
Now I did something that made it Anonymous-Only and I don't know how to revert it back.
Getting kind of frustrated and I'm willing to start all over, I just need a step by step walkthrough. Any help will be appreciated
Ok here's an update. I have pure-ftpd running and this is what happens:
(whether I'm logged in as root or as another linux login, the result is the same)
admin@linux:~>ftp localhost
Trying 127.0.0.1 ...
Connected to localhost
220-Welcome to Pure-FTPd.
220-You are user number 1 of 10 allowed.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name(localhost:admin): <I entered my ftp username here>
331 User <my ftp username> OK. Password required
Password: <I entered my ftp password here>
530 Authentication failed, sorry
ftp: Login failed.
I am able to log on the ftp server when I'm on my linux machine. After I start running pure-ftpd: "/etc/init.d/pure-ftpd start" I'm not able to reach the server on any of my other computers in the network. (I was able to successfully reach the ftp server from any machine on my network prior to reformatting and starting fresh).
On the linux box, I'm able to log on the ftp server with my other linux login (not my root), but I'm not able to login with any of the virtual users.
Now for some reason I'm able to log into the ftp server on any computer in my network, but I still have to use one of the linux account login (username and pw)...the virtual user logins still don't work.
Another question: how would I be able to connect to the ftp server remotely? I know the format is
The problem I had about not being able to access the ftp server from outside my network was due to the fact that I configured router's port forwarding to the linux box incorrectly. So I got that fixed.
This one problem remains:
I still can't log in with my virtual user accounts. I can only log in using my system login username and password. I'm not sure whether I need to setup a MySQL database for virtual user logins to work. And if I need to configure a virtual user database, how would I go about accessing it?
I remember when I did "yast -i pure-ftpd" (with my installation source being ftp.uni-erlangen.de/pub/mirrors/opensuse/distribution/SL-10.0-OSS/inst-source), it downloaded and installed the pure-ftpd rpm file.
I tried using ./configure, but for some reason it doesn't recognize what ./configure is. Can anyone show me the correct format of configuring pure-ftpd for mysql support?
well i see this post is way old, im on fedora core with kind of the same problem, i am also new to linux, well not so much "new" as "un-experienced" i spent years setting up hosting accounts with the associated FTP account easily set up via the cPanel i was using. and i fear this was a mistake, because now i am having to set up a server from scratch, and the only thing im having trouble with is FTP, i tried vsftp but i got frustrated i could not set up an account to update a website, all its examples pointed towards anon ftp usage, i tried proftp, but got confused, so im on pure ftp, and the examples did not work, like Crogs 1st post, i created user successfully but cannot log in from the server itself, nor from anywhere else. any one reading this thread?
Last edited by sarina1975; 08-03-2006 at 04:58 PM.
Just to let you know, I was able to get it running flawlessly, but it feels like it was a long time ago. I moved on to openSuSE 10.1 and followed the newer guide that had me install proftpd and it works just as good.
I'm trying my best to remember what I did...I know it was making some alterations (mostly trial and error) in the conf file.
I'll make another reply once I actualy remember something useful
Edit: I'm gonna throw out some suggestions before we tackle the configuration file for Pure-FTPd...
To make sure Pure-FTPd is working, try logging into your ftp server using your linux system login. So when you're prompted to enter in username and password in ftp, you can try entering in root and its password or your alternate system account username and password.
Also make sure ports 20 and 21 are forwarded to your linux box in your router. Then see if you can log into your ftp server remotely using the system login mentioned above...this is just to see if you can access Pure-FTPd remotely.
Later today, (since it's passed midnight at the moment) I'm going to see if I can find the "working" pure-ftpd conf file that I backed up to another computer before formatting couple months ago. *crosses fingers*
############################################################
# #
# Configuration file for pure-ftpd wrappers #
# #
############################################################
# If you want to run Pure-FTPd with this configuration
# instead of command-line options, please run the
# following command :
#
# /usr/sbin/pure-config.pl /usr/etc/pure-ftpd.conf
#
# Please don't forget to have a look at documentation at
# http://www.pureftpd.org/documentation.shtml for a complete list of
# options.
# Cage in every user in his home directory
ChrootEveryone no
# If the previous option is set to "no", members of the following group
# won't be caged. Others will be. If you don't want chroot()ing anyone,
# just comment out ChrootEveryone and TrustedGID.
# TrustedGID 100
# Turn on compatibility hacks for broken clients
BrokenClientsCompatibility yes
# Maximum number of simultaneous users
MaxClientsNumber 100
# Fork in background
Daemonize yes
# Maximum number of sim clients with the same IP address
MaxClientsPerIP 100
# If you want to log all client commands, set this to "yes".
# This directive can be duplicated to also log server responses.
VerboseLog no
# Allow dot-files
AllowDotFiles yes
# List dot-files even when the client doesn't send "-a".
DisplayDotFiles no
# Don't allow authenticated users - have a public anonymous FTP only.
AnonymousOnly no
# Disallow anonymous connections. Only allow authenticated users.
NoAnonymous yes
# Syslog facility (auth, authpriv, daemon, ftp, security, user, local*)
# The default facility is "ftp". "none" disables logging.
SyslogFacility ftp
# Display fortune cookies
# FortunesFile /usr/share/fortune/zippy
# Don't resolve host names in log files. Logs are less verbose, but
# it uses less bandwidth. Set this to "yes" on very busy servers or
# if you don't have a working DNS.
DontResolve yes
# Maximum idle time in minutes (default = 15 minutes)
MaxIdleTime 15
# LDAP configuration file (see README.LDAP)
# LDAPConfigFile /etc/pure-ftpd/pureftpd-ldap.conf
# MySQL configuration file (see README.MySQL)
MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf
# Postgres configuration file (see README.PGSQL)
# PGSQLConfigFile /etc/pure-ftpd/pureftpd-pgsql.conf
# PureDB user database (see README.Virtual-Users)
PureDB /etc/pure-ftpd/pureftpd.pdb
# Path to pure-authd socket (see README.Authentication-Modules)
# ExtAuth /var/run/ftpd.sock
# If you want to enable PAM authentication, uncomment the following line
PAMAuthentication yes
# If you want simple Unix (/etc/passwd) authentication, uncomment this
# UnixAuthentication yes
# Please note that LDAPConfigFile, MySQLConfigFile, PAMAuthentication and
# UnixAuthentication can be used only once, but they can be combined
# together. For instance, if you use MySQLConfigFile, then UnixAuthentication,
# the SQL server will be asked. If the SQL authentication fails because the
# user wasn't found, another try # will be done with /etc/passwd and
# /etc/shadow. If the SQL authentication fails because the password was wrong,
# the authentication chain stops here. Authentication methods are chained in
# the order they are given.
# 'ls' recursion limits. The first argument is the maximum number of
# files to be displayed. The second one is the max subdirectories depth
LimitRecursion 2000 8
# Are anonymous users allowed to create new directories ?
AnonymousCanCreateDirs no
# If the system is more loaded than the following value,
# anonymous users aren't allowed to download.
MaxLoad 4
# Port range for passive connections replies. - for firewalling.
PassivePortRange 10000 20000
# Force an IP address in PASV/EPSV/SPSV replies. - for NAT.
# Symbolic host names are also accepted for gateways with dynamic IP
# addresses.
ForcePassiveIP 192.168.0.1
# Upload/download ratio for anonymous users.
# AnonymousRatio 1 10
# Upload/download ratio for all users.
# This directive superscedes the previous one.
# UserRatio 1 10
# Disallow downloading of files owned by "ftp", ie.
# files that were uploaded but not validated by a local admin.
AntiWarez yes
# IP address/port to listen to (default=all IP and port 21).
# Bind 127.0.0.1,21
# Maximum bandwidth for anonymous users in KB/s
# AnonymousBandwidth 8
# Maximum bandwidth for *all* users (including anonymous) in KB/s
# Use AnonymousBandwidth *or* UserBandwidth, both makes no sense.
# UserBandwidth 8
# File creation mask. <umask for files>:<umask for dirs> .
# 177:077 if you feel paranoid.
Umask 077:077
# Minimum UID for an authenticated user to log in.
MinUID 100
# Allow FXP transfers for authenticated users.
AllowUserFXP no
# Allow anonymous FXP for anonymous and non-anonymous users.
AllowAnonymousFXP no
# Users can't delete/write files beginning with a dot ('.')
# even if they own them. If TrustedGID is enabled, this group
# will have access to dot-files, though.
ProhibitDotFilesWrite no
# Prohibit *reading* of files beginning with a dot (.history, .ssh...)
ProhibitDotFilesRead no
# Never overwrite files. When a file whoose name already exist is uploaded,
# it get automatically renamed to file.1, file.2, file.3, ...
AutoRename yes
# Disallow anonymous users to upload new files (no = upload is allowed)
AnonymousCantUpload yes
# Only connections to this specific IP address are allowed to be
# non-anonymous. You can use this directive to open several public IPs for
# anonymous FTP, and keep a private firewalled IP for remote administration.
# You can also only allow a non-routable local IP (like 10.x.x.x) to
# authenticate, and keep a public anon-only FTP server on another IP.
#TrustedIP 10.1.1.1
# If you want to add the PID to every logged line, uncomment the following
# line.
#LogPID yes
# Create an additional log file with transfers logged in a Apache-like format :
# fw.c9x.org - jedi [13/Dec/1975:19:36:39] "GET /ftp/linux.tar.bz2" 200 21809338
# This log file can then be processed by www traffic analyzers.
# AltLog clf:/var/log/pureftpd.log
# Create an additional log file with transfers logged in a format optimized
# for statistic reports.
# AltLog stats:/var/log/pureftpd.log
# Create an additional log file with transfers logged in the standard W3C
# format (compatible with most commercial log analyzers)
# AltLog w3c:/var/log/pureftpd.log
# Disallow the CHMOD command. Users can't change perms of their files.
NoChmod no
# Allow users to resume and upload files, but *NOT* to delete them.
#KeepAllFiles yes
# Automatically create home directories if they are missing
CreateHomeDir no
# Enable virtual quotas. The first number is the max number of files.
# The second number is the max size of megabytes.
# So 1000:10 limits every user to 1000 files and 10 Mb.
#Quota 1000:10
# If your pure-ftpd has been compiled with standalone support, you can change
# the location of the pid file. The default is /var/run/pure-ftpd.pid
#PIDFile /var/run/pure-ftpd.pid
# If your pure-ftpd has been compiled with pure-uploadscript support,
# this will make pure-ftpd write info about new uploads to
# /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and
# spawn a script to handle the upload.
#CallUploadScript yes
# This option is useful with servers where anonymous upload is
# allowed. As /var/ftp is in /var, it save some space and protect
# the log files. When the partition is more that X percent full,
# new uploads are disallowed.
MaxDiskUsage 99
# Set to 'yes' if you don't want your users to rename files.
NoRename no
# Be 'customer proof' : workaround against common customer mistakes like
# 'chmod 0 public_html', that are valid, but that could cause ignorant
# customers to lock their files, and then keep your technical support busy
# with silly issues. If you're sure all your users have some basic Unix
# knowledge, this feature is useless. If you're a hosting service, enable it.
CustomerProof no
# Per-user concurrency limits. It will only work if the FTP server has
# been compiled with --with-peruserlimits (and this is the case on
# most binary distributions) .
# The format is : <max sessions per user>:<max anonymous sessions>
# For instance, 3:20 means that the same authenticated user can have 3 active
# sessions max. And there are 20 anonymous sessions max.
# PerUserLimits 0:0
# When a file is uploaded and there is already a previous version of the file
# with the same name, the old file will neither get removed nor truncated.
# Upload will take place in a temporary file and once the upload is complete,
# the switch to the new version will be atomic. For instance, when a large PHP
# script is being uploaded, the web server will still serve the old version and
# immediatly switch to the new one as soon as the full file will have been
# transfered. This option is incompatible with virtual quotas.
# NoTruncate yes
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
# including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.
# TLS 1
# Listen only to IPv4 addresses in standalone mode (ie. disable IPv6)
# By default, both IPv4 and IPv6 are enabled.
# IPV4Only yes
# Listen only to IPv6 addresses in standalone mode (ie. disable IPv4)
# By default, both IPv4 and IPv6 are enabled.
# IPV6Only yes
The critical part(s) of the configuration file that allowed me to log in with my virtual users that I created (if I remember correctly) were the following:
Uncomment (remove the "#" sign) in front of (if not done already):
hi Crog, thanks for finding this, i am on FC5, i have used the examples to the T on the pure ftpd, the problem i found was, when i did the command to list users, the spaces for allowing the ip from a user was blank, and the example on the docs, was not, so now i just need to learn how to disable the allow ip feature, not only for me, but my dial up client users too, since their ip will change every time they re connect, this feature maby good for some reasons but i dont see the use for what i need it for. maby my problem is im too new at linux and depend on the package installer to install all my packages and configure them for me
i do not think that the default conf uses a text file since i read that this ftpd uses cmd line, i am fine with that, i just need to be able to update my website via ftp and learn this pure ftpd, i am going over the docs again, (virtual users) to see if i can set and change the allowed ip when my other internet service changes my ip, (we have two isp's, one for server, one for personal, both are totally different networks, since we didnt want to be using business bandwidth for personal stuff, thats why the 2 networks)
---anyways, sorry so long in replying...
Sarina
P.S. now i gotta learn how to use the VI casue i cant be moving this monitor KB/ mouse to the server all day long, and we cant afford an ab swicher just yet, plus im too far away due to spaceial restrictions, hahaha
Alright, I'll try and continue thinking about what your problem might be...kinda hard since I'm now using proftpd. I hope some current users stop by to offer some advice as well.
If your linux box is running in text mode, I'd suggest using PuTTY to access your server's shell terminal. I too got tired of dragging my monitor, mouse, and keyboard around the house...it's so much easier now. Just make sure you forward the right port (22, I'm pretty sure) in your router if you want to access it remotely (i.e. outside your network/router).
Hi, Sarina1975 here, well i think it was time to abandon pure ftp, i did some research and ALOT more people had trouble the same way we did, so i did like you and moved to proftp, now, since i am a COMPLETE noob at this, could you help me out with an example of this? i just need one account, (me) to access my web directory. the samples i read on PRO's site were a little better and more understandable, but he assumes i have knowledge in ect/passwrds and since i do not, his format escapes me. Crog, may we talk via direct e-mail or some chat messenger sometime please?
Thanks
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.