FreeBSD Pure-ftpd 配置详解
一、安装配置pure-ftpd
[root@bsd01 ~]#cd /usr/ports/ftp/pure-ftpd
[root@bsd01 pure-ftpd]#make install clean
然后会出现“make config”的界面,选择需要的组件即可:
Options for pure-ftpd 1.0.21_2
────────────────────────────────────
[ ] LDAP Support for users in LDAP directories
[X] MYSQL Support for users in MySQL database
[X] PAM Support for PAM authentication
[ ] PGSQL Support for users in PostgreSQL database
[X] PRIVSEP Enable privilege separation
[X] PERUSERLIMITS Per-user concurrency limits
[X] THROTTLING Bandwidth throttling
[X] BANNER Show pure-ftpd welcome upon session start
[ ] UPLOADSCRIPT Support uploadscript daemon
[X] UTF8 Support for charset conversion (expreimental)
[X] SENDFILE Support for the sendfile syscall
────────────────────────────────────
安装完毕后,可以清除一下配置选项:
[root@bsd01 pure-ftpd]#make rmconfig
*如果你想让pureftpd开机自动启动,则编辑/etc/rc.conf文件,加入“ pureftpd_enable="YES" ”。
先复制pure-ftpd.conf配置文件,并授予可以修改的权限:
[root@bsd01 pure-ftpd]#cd /usr/local/etc
[root@bsd01 etc]#cp pure-ftpd.conf.sample pure-ftpd.conf
[root@bsd01 etc]#chmod u+w pure-ftpd.conf
现在编辑pure-ftpd.conf文件:
[root@bsd01 etc]#vi pure-ftpd.conf
NoAnonymous no
修改为
NoAnonymous yes
# PureDB /etc/pureftpd.pdb
修改为
PureDB /usr/local/etc/pureftpd.pdb
#CreateHomeDir yes
修改为
CreateHomeDir yes
然后重启一下pure-ftpd服务:
[root@bsd01 etc]#/usr/local/etc/rc.d/pure-ftpd restart
Stopping pureftpd.
Waiting for PIDS: 2861.
Starting pureftpd.
Running: /usr/local/sbin/pure-ftpd -A -c50 -B -C8 -D -fftp -H -I15 -lmysql:/usr/local/etc/pureftpd-mysql.conf -lpuredb:/usr/local/etc/pureftpd.pdb -L2000:8 -m4 -s -U133:022 -u100 -j -k99 -Z
二、pureftpd用户的管理
pureftpd的用户可以使用2种方法存放,一种为使用Mysql数据库存放;一种为文本数据库,也就是pureftpd.pdb文件。 我们采用的是pdb方案。
我们先要在系统上建立一个用户,提供给ftp的虚拟用户做权限映射:
[root@bsd01 ~]#pw group add ftpuser -g 2001
[root@bsd01 ~]#pw user add joeson -u 2001 -g 2001 -s /dev/null -d /home/web -m
[root@bsd01 ~]#id joeson ; finger joeson
uid=2001(joeson) gid=2001(joeson) groups=2001(ftpuser)
Login: joeson Name: User joeson
Directory: /home/web Shell: /dev/null
Never logged in.
No Mail.
No Plan.
使用pureftpd.pdb文本数据库来管理ftp虚拟用户
pureftpd.pdb虚拟用户只要使用pure-pw命令来管理,pure-pw有很多参数,可以使用“pure-pw --help”来查看。
大致为:pure-pw useradd | usermod | userdel | passwd | show | mkdb | list。
作用为: 添加用户 | 修改用户 | 删除用户 | 修改密码 | 查看登陆状态 | 写入数据库 | 列出所有用
现在我们做一个实例:在文本数据库中建立一个ftp用户:用户名:joeson,密码:123,home目录:/data/web:
1). 先建立目录:
[root@bsd01 ~]#cd /data
[root@bsd01 data1]#mkdir web
[root@bsd01 data1]#touch ./web/test.php
[root@bsd01 data1]#chown -R 2001:2001 web
[root@bsd01 data1]#ls -l web
total 0
-rw-r--r-- 1 joeson ftpuser 0 Nov 27 06:15 test.coos
2). 然后添加用户:
[root@bsd01 data1]#pure-pw useradd joeson -u 2001 -g 2001 -d /data/web
Password:123
Enter it again:123
[root@bsd01 data1]#pure-pw mkdb
[root@bsd01 data1]#pure-pw list
joeson /data/web/./
Look!我们的joeson也可以正常登陆。
现在,pure-ftpd-已成功部署。
注: 添加和删除直接在pureftpd.pdb里操作就可以了