CentOS 搭建pure-ftpd

本文提供了一步一步的指南来搭建PureFTPd服务器,包括下载、安装、配置、启动以及创建虚拟用户的过程。教程还包含了解决安装过程中可能遇到的问题,如端口占用,以及如何通过配置文件实现基本的用户权限管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://hi.baidu.com/sudoer/item/a2d66dd12db20295260ae7f4

本文主要讲解pure-ftpd服务器的搭建,以及虚拟用户的添加与使用【虚拟用户没有涉及到MYSQL,如需MYSQL的虚拟用户,请掠过此文】

 

1、找到最新版本的PureFTPd

去网站http://download.pureftpd.org/pub/pure-ftpd/releases/我们找到最新版本的的下载链接是http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.35.tar.gz

2、下载并安装

# cd /usr/local/src

# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.35.tar.gz

# tar -zxvf pure-ftpd-1.0.35.tar.gz

# cd pure-ftpd-1.0.35

# ./configure --with-puredb --with-everything --with-rfc2640

# make

# make check

# make install

#注:

--with-puredb是启用虚拟用户数据库

--prefix是安装的目标目录
--with-eyerything是安装所有功能
--with-rfc2640,此参数UTF-8,gb2312等异构系统的语言集转换

另外如果需要与mysql连接,修改提示语言等还需要在此指定,例如:
--with-mysql=/opt/mysql
--with-language=simplified-chinese
本文不涉及。


如需了解configure的更多选项请看http://download.pureftpd.org/pub/pure-ftpd/doc/README
软件已经被安装到 /usr/local/sbin/pure-ftpd,我们只需执行以下代码即可启动PureFTPd。

# /usr/local/sbin/pure-ftpd &

#注:此处执行完命令有可能报一个错误: Unable to start a standaloneserver: Addressalready in use [大概意思就是端口被占用了]

解决方案:

切换到root权限,用命令:fuser -n tcp 21 查看,然后kill [pid]掉21端口的进程,继续执行 /usr/local/sbin/pure-ftpd & 此命令,如果依然不行,删除你之前安装过的ftp服务器,重启系统重复以上操作。

3、开机启动PureFTPd

# cp contrib/redhat.init /etc/init.d/pure-ftpd
# chmod 755 /etc/init.d/pure-ftpd
# chkconfig --add pure-ftpd
# chkconfig --level 3 pure-ftpd on

4、配置文件

# cp configuration-file/pure-ftpd.conf /etc
# cp configuration-file/pure-config.pl /usr/local/sbin/pure-config.pl
# chmod 744 /etc/pure-ftpd.conf
# chmod 755 /usr/local/sbin/pure-config.pl
编辑配置文件:[此步可以略过]

# vi /etc/pure-ftpd.conf

设置成以下值:

UnixAuthentication            yes

#MinUID                      100

UnixAuthentication yes表示系统用户可以登录FTP。
MinUID 100表示用户的ID大于100才能登录,我们注释掉它,任何的用户ID都能登录了。

5、启动和停止PureFTPd

# service pure-ftpd stop
# service pure-ftpd start
# service pure-ftpd restart     

6、创建一个ftpgroup组

# groupadd ftpgroup

7、创建一个ftptestuser用户,并把用户添加到ftpgroup组

# useradd ftptestuser -g ftpgroup -s /sbin/nologin

8、为ftptestuser用户设置密码

# passwd ftptestuser

重复输入两次即可

9、创建pure-ftpd虚拟用户

# alias pure-pw=/usr/local/bin/pure-pw

# pure-pw useradd username1 -u 503 -g 503 -d /var/ftpdir

#注:

username1:ftp虚拟用户的用户名

-u 503:创建出来的虚拟用户属于哪个主用户[涉及到权限问题 属主]

-g 503:虚拟用户属于哪一个组[涉及到权限问题 属组]

至于上面的503是怎么来的可以用下面的命令查看

# cat /etc/passwd

之前添加的用户在最后一行,如我的:

ftptestuser:x:503:503::/home/ftptestuser:/sbin/nologin

前面的503意思就是说ftptestuser这个用户的id,后面的503就是此用户所属组的id,此处的id换成你们自己的就行了,

上面的命令运行完毕之后按了回车连续输入两次密码即可{也就是ftp密码}然后继续运行下面的命令

# pure-pw mkdb

# 注:

添加完用户一定要运行pure-pw mkdb命令,意思就是说把新添加的用户添加到数据库文件,然后可以使用下面的命令看下用户是否真的添加成功了

# pure-pw list

显示结果如下:

username1           /var/ftpdir/./

用户名                      用户主目录

10、修改主目录权限

首先确认/var/ftpdir目录是否存在,不存在的话使用下面的命令创建

# mkdir /var/ftpdir

接下来修改目录的权限

# chown -R ftptestuser:ftpgroup /var/ftpdir

让ftpdir目录的属主权限变成ftptestuser的,组权限改成ftpgroup组,然后看下是否是正确修改了 ls -l /var    如果正确修改那应该就是下面显示的结果

drwxr-xr-x   2 ftptestuser ftpgroup 4096  2月 22 02:44 ftpdir

之前没修改前应该是 root  root

到这就大功告成了,打开你的ftp客户端进行连接测试下看看是否成功了呢~

ip的话你应该知道吧? 不知道的话ifconfig 自己看下

用户名就是之前创建的那个虚拟用户username1

密码就是你自己输入的啦....

登录上去之后自己上传一些文件看看  是否正常,如果之前配置的都正常,在上传上面出现错误的话那就是你的ftpdir目录权限设置有问题了。

 

下面是我上传的一些东西,可以用命令自己看下权限什么的都对不对,主要的就是权限问题了。

[root@localhost pure-ftpd-1.0.35]# ls -l /var/ftpdir
总用量 4
drwxr-xr-x 2 ftptestuser ftpgroup 4096  2月 22 02:51 Downloads
[root@localhost pure-ftpd-1.0.35]# ls -l /var/ftpdir/Downloads
总用量 13464
-rw-r--r-- 1 ftptestuser ftpgroup  995808  2月 22 02:51 aliedit.exe
-rw-r--r-- 1 ftptestuser ftpgroup   76622  2月 22 02:51 cknebhggccemgcnbidipinkifmmegdel.crx
-rw-r--r-- 1 ftptestuser ftpgroup 9078981  2月 22 02:51 clbhjjdhmgeibgdccjfoliooccomjcab.crx
-rw-r--r-- 1 ftptestuser ftpgroup 1797989  2月 22 02:51 jy_www_wisecleaner_com (1).sql.gz
-rw-r--r-- 1 ftptestuser ftpgroup 1797989  2月 22 02:51 jy_www_wisecleaner_com.sql.gz
-rw-r--r-- 1 ftptestuser ftpgroup   25923  2月 22 02:51 lpkdnfkjhdkcpimadpdcgapffceacjem.crx
-rw-r--r-- 1 ftptestuser ftpgroup    1852  2月 22 02:53 X_GFWList.bak

 

扩展阅读:

如果在搭建的时候遇到这样的报错信息:   421 Unknown authentication method: puredb:/etc/pureftpd.pdb 

一开始我自己搭建的时候也遇到了,然后在国外网站找到的答案,解决方案如下:

Do below.   #做以下事情

wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.21.tar.gz
tar -zxf pure-ftpd-1.0.21.tar.gz
./configure --with-puredb --with-ftpwho
make check
make
make install

Now make two files.   #看看下面两个文件是否都存在不存在的话自己创建下   touch命令创建即可

/etc/pureftpd.pdb
/etc/pureftpd.passwd

Then execute below.    #然后执行下面的命令

/usr/local/bin/pure-pw mkdb
/usr/local/sbin/pure-ftpd -A -B -j -lpuredb:/etc/pureftpd.pdb &

You can add virtual users like this:  #然后你可以像这样子添加虚拟用户(就是下面的命令)

pure-pw useradd user -u username -d /home/username -m

具体连接:http://www.webhostingtalk.com/archive/index.php/t-686333.html    不明白的可以去看下。

 

另外这篇文章也很不错,写的很详细,有兴趣的可以去看下:http://dongfengyu.bokee.com/5781058.html   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值