pureftpd安装配置
1、下载pureftpd
1 2 3 | #cd /usr/local/src/tarbag #wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.gz |
2、解压pureftpd
1 | #tar –xzvf pure-ftpd-1.0.22.tar.gz –C ../software/ |
3、编译和安装pureftpd
#cd pure-ftpd-1.0.22
#.configure \
–prefix=/usr/local/pureftpd \ //pureftpd安装目录
–with-everything \ //安装几乎所有的功能,包括altlog、cookies、throttling、ratios、ftpwho、upload script、virtual users(puredb)、quotas、virtual hosts、directory aliases、external authentication、Bonjour、privilege separation。
–with-cookie \ //当用户登录时显示指定的横幅
–with-diraliases \ //支持目录别名,用快捷方式代cd命令
–with-extauth \ //编译支持扩展验证的模块,大多数用户不使用这个选项
–with-ftpwho \ //支持pure-ftpwho命令,启用这个功能需要更多的额外内存
–with-language=english \ //修改服务器语言,默认是英文,如果你要做修改,请翻译‘src/messages_en.h’文件
–with-ldap \ //LADP目录支持,需要安装openldap
–with-minimal \ //FTP最小安装,最基本的功能
–with-mysql \ //MySQL支持,如果MySQL安装在自定义目录上,你需要使用命令—with-mysql=/usr/local/mysq这类
–with-nonroot \ //不需要root用户就可以启动服务
若出现configure: error: liblber is needed for LDAP support,需安装openldap-devel
若出现configure: error: Your MySQL client libraries aren’t properly installed, 需要安装mysql-devel
出现类似configure: error: Your MySQL client libraries aren’t properly installed 的错误,请将mysql目录下的 include/mysql下的mysql.h文件以及lib/mysql下的全部文件,连接(直接复制过去或许也可)到 /usr/lib 目录下
#make && make install
4、安装配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | #cd /usr/local/src/software/pure-ftpd-1.0.22 //切换到源码目录 #cd configura-files //切换到这个目录 #chmod 755 pure-config-pl //让用户有完全权限(因为默认没有执行权限) #cp pure-config-pl /usr/local/pureftpd/bin //把执行文件复制到bin目录下 #mkdir /usr/local/pureftpd/etc //新建FTP的配置文件夹目录 #cp pure-ftpd.conf /usr/loca.l/pureftpd/etc //复制ftp配置文件到etc中 #cd .. //切换到/pure-ftpd-1.0.22目录中 #cp pureftpd-ldap.conf /usr/local/pureftpd/etc //相关配置文件复制到etc中 #cp pureftpd-mysql.conf /usr/local/pureftpd/etc //相关配置文件复制到etc中 #cp pureftpd-pgsql.conf /usr/local/pureftpd/etc //相关配置文件复制到etc中 5、pure–ftpd.conf配置 ChrootEveryone yes //锁定所有用户到家目录中 # TrustedGID 100 //信任组ID100,可以不锁定 MaxClientsNumber 50 //最大的客户端数量 MaxClientsPerIP 8 //同一个IP允许8个链接 DisplayDotFiles no //不显示隐藏文件 AnonymousOnly no //只允许匿名用户 NoAnonymous yes//不允许匿名用户 DontResolve yes //禁止反向解析 MaxIdleTime 10 //最大空闲10分钟 # LDAPConfigFile /etc/pureftpd-ldap.conf //LDAP配置文件目录 # MySQLConfigFile /etc/pureftpd-mysql.conf//MySQL配置文件目录 # PGSQLConfigFile /etc/pureftpd-pgsql.conf //PGSQL配置文件目录 PureDB /usr/local/pureftpd/etc/pureftpd.pdb //虚拟用户数据库 # UnixAuthentication yes //主机认证 LimitRecursion 2000 8 //别表最大显示2000个文件,最深8个目录 AnonymousCanCreateDirs no //是否允许匿名用户创建目录 #MaxLoad 4 //最多可下载的数量 # PassivePortRange 30000 50000 //主动连接的端口范围 ForcePassiveIP 192.168.0.1 //这个地址总是直到匿名目录 # AnonymousRatio 1 10 //匿名用户上传下载速度比率 # UserRatio 1 10 //用户上传下载速度比率 # Bind 127.0.0.1,21 //绑定IP和端口 # AnonymousBandwidth 8 //匿名用户带宽8KB # UserBandwidth 8 //用户带宽8KB Umask 133:022 //文件和目录的umask MinUID 1000 //用户ID至少要大于1000才能登陆 AllowUserFXP no //是否允许用户使用FXP协议登陆 AllowAnonymousFXP no //是否允许匿名用户使用FXP协议 ProhibitDotFilesWrite no //是否允许写入点文件 ProhibitDotFilesRead no //是否允许读取点文件 AnonymousCantUpload yes //不允许匿名用户上传 #NoChmod yes //不允许用户改变权限 #KeepAllFiles yes //允许用户断点续传 #Quota 1000:10//磁盘配额 #MaxDiskUsage 99 //磁盘的最大利用率 #NoRename yes //不允许自动重命名 IPV4Only yes //只允许使用IPV4协议 |
6、新建虚拟用户
注意:新建虚拟用户之前需要创建一个组合用户(属于操作系统上的)。
1 2 3 4 5 6 7 8 9 10 11 12 13 | #groupadd –g 1000 ftpgroup //新建一个指定组ID为1000的系统组 #useradd –g 1000 –u 1000 –d /dev/null –s /sbin/nologin ftpuser //新建用户ID1000加入ftpgroup中 #cd /usr/local/pureftpd/bin //切换到bin目录中 #./pure-pw useradd puser –u ftpuser –d /www/ftptest –m //pure-pw useradd 虚拟用户名 –u 寄生到系统用户名 –d FTP目录 –m(把用户密码加入PDB数据库中,不需要重启FTP) #cd /www //切换到WWW中 #chown –R ftpuser:ftpgroup ftptest //把FTP目录的所属用户和组改为虚拟用户所依托的系统用户和组 |
7、启动测试
1 2 3 4 | #/usr/local/pureftpd/bin/pure-config-pl /usr/local/pureftpd/etc/pure-ftpd.conf Running: /usr/local/pureftpd/sbin/pure–ftpd –A –c50 –B –C8 –E –fftp –H –I10 –lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb –L2000:8 –s –U133:022 –u1000 –i –Z–4 |
注:如果出现running说明启动成功。
接下来ftP连接进行测试
8、pureftpd只允许单个ip登陆
1 2 3 4 5 6 7 8 9 | #cd /usr/local/pureftpd/sbin #./pure-pw usermod puser –r 218.66.36.119 –m (备注:–R 只允许的IP地址,其他任何IP地址都会拒绝掉) #./pure-pw usermod pure –r “” (–r 加上””会把之前允许的都清空掉,这样以来所有的IP都可以访问ftp) |
9、查看用户列表
1 | # ./pure-pw list |
10、查看用户详细设置
1 | #./pure-pw show puser |
(若出现pureftpd 530 Sorry, but I can’t trust you错误信息,再配置步骤和配置文件都正确的情况下,可尝试重新下服务器,观察此问题能否解决)
11:rhel下pureftpd自启动的实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # cd /usr/local/src/software/pure-ftpd-1.0.22/contrib/ # ls Makefile Makefile.in pure–vpopauth.pl suse.init Makefile.am pure–stat.pl redhat.init xml_python_processors.txt # cp redhat.init /etc/init.d/pureftpd # chmod 755 /etc/init.d/pureftpd # chkconfig –add pureftpd # chkconfig pureftpd on # service pureftpd restart Stopping pure–config.pl: Starting pure–config.pl: Running: /usr/local/pureftpd/sbin/pure–ftpd —daemonize –A –c50 –B –C10 –E –fftp –H –I10 –lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb –s –U133:022 –u1000 –R –4 |
若出现错误,则检查/etc/init.d/pureftpd启动脚本中定义的路径是否正确.