在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
基本的安装使用方法 首先安装之前最好用netstat -ntl来查看ftp默认的21端口是不是已经被占用了,同时也可以用ps -ef 指令查看开启了哪些服务,看一下有没有类似sftp或者是vsftp的服务,如果开启,用killall sftp指令把这个服务kill掉 复制代码 代码如下: wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.30.tar.bz2 2.解压: 复制代码 代码如下:tar -xvjf pure-ftpd-1.0.30.tar.bz2 进入到解压后目录: 复制代码 代码如下:cd pure-ftpd-1.0.30 3.编译方式,推荐使用全部安装: 复制代码 代码如下:./configure –prefix=/usr/local/pure-ftpd/ –with- language=simplified-chinese –with-everything 4.安装: 复制代码 代码如下:make && make check && make install 5.建立相应的安装目录: 复制代码 代码如下:mkdir /usr/local/pure-ftpd/etc 6.把配置文件和主要执行文件拷到对应的文件夹下面: 复制代码 代码如下:cp configuration-file/pure-ftpd.conf /usr/local/pure-ftpd/etc/ cp configuration-file/pure-config.pl /usr/local/pure-ftpd/sbin/ chmod 755 /usr/local/pure-ftpd/sbin/pure-config.pl 7.定制一下系统的环境变量: 复制代码 代码如下:cd /usr/local/bin/ ln -s /usr/local/pure-ftpd/bin/* . ln -s /usr/local/pure-ftpd/sbin/* /usr/local/sbin/ ln -s /usr/local/pure-ftpd/man/man8/* /usr/local/share/man/man8/ 8.启动pureftp服务器: 复制代码 代码如下:pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf 屏幕上一般显示如下信息: Running: /usr/local/pure-ftpd/sbin/pure-ftpd -A -b -B -C20 -d -e -fnone -H -I15 -L2000:8 -M -m4 -p45000:50000 -q1:10 -s -t200 -U133:022 -u100 -r -Oclf:/var/log/pureftpd.log -k99 -Z 此时可以用在命令行窗口下telnet ip地址 21的方式探测一下这个端口是不是通的 9.pureftp一般需要不用默认的root用户进行操作,一般会另外创建用户名和组,用虚拟用户进行登录 创建组: 复制代码 代码如下:groupadd ftpgroup 创建用户: 复制代码 代码如下:useradd -g ftpgroup -d /dev/null -s /etc ftpuser 创建完成以后可以用cat /etc/passwd和cat /etc/group来查看组和用户是否已经创建好了 10.添加ftp虚拟用户 复制代码 代码如下:ure-pw useradd test -u ftpuser -d /home/ftpusers/test 如果添加完成以后想要删除可以使用pure-pw userdel test这条指令 想要修改密码可以使用pure-pw passwd test这条指令 11.查看用户信息 复制代码 代码如下:pure-pw show test 12.生成数据库文件 复制代码 代码如下:pure-pw mkdb 13.一定要注意修改配置文件,因为很多配置文件数据库的默认安装位置并不是实际位置,这样就会造成每次登 陆的时候都找不到密码,ftp一直显示passwd required,所以安装好以后一定要修改配置文件,尤其是粉红色的 部位,注意修改 打开配置文件: 复制代码 代码如下:vi /usr/local/pure-ftpd/etc/pure-ftpd.conf ChrootEveryone yes # 启用chroot BrokenClientsCompatibility yes # 兼容不同客户端 Daemonize yes # 后台运行 MaxClientsPerIP 20 # 每个ip最大连接数 VerboseLog yes # 记录日志 DisplayDotFiles no # 显示隐藏文件 AnonymousOnly no # 只允许匿名用户访问 NoAnonymous yes # 不允许匿名用户连接 SyslogFacility none # 不将日志在syslog日志中显示 DontResolve yes # 不进行客户端DNS解析 MaxIdleTime 15 # 最大空闲时间 LimitRecursion 2000 8 # 浏览限制,文件2000,目录8层 AnonymousCanCreateDirs no # 匿名用户可以创建目录 MaxLoad 4 # 超出负载后禁止下载 PassivePortRange 45000 50000 # 被动模式端口范围 #AnonymousRatio 1 10 # 匿名用户上传/下载比率 UserRatio 1 10 # 所有用户上传/下载比率 AntiWarez yes # 禁止下载匿名用户上传但未经验证的文件 #AnonymousBandwidth 200 # 匿名用户带宽限制(KB) UserBandwidth 8 # 所有用户最大带宽(KB) Umask 133:022 # 创建文件/目录默认掩码 MinUID 100 # 最大UID限制 AllowUserFXP no # 仅运行用户进行FXP传输 AllowAnonymousFXP no # 对匿名用户和非匿名用户允许进行匿名 FXP 传输 ProhibitDotFilesWrite no # 不能删除/写入隐藏文件 ProhibitDotFilesRead no # 禁止读取隐藏文件 AutoRename yes # 有同名文件时自动重新命名 AnonymousCantUpload yes # 不允许匿名用户上传文件 AltLog clf:/var/log/pureftpd.log # clf格式日志文件位置 PureDB /usr/local/pure-ftpd/etc/pureftpd.pdb # 用户数据库文件 MaxDiskUsage 99 # 当磁盘使用量打到99%时禁止上传 CreateHomeDir yes # 如果虚拟用户的目录不存在则自动创建 CustomerProof yes # 防止命令误操作 PureDB /usr/local/pure-ftpd/etc/pureftpd.pdb这个地方一定要记得修改,不然会一直 登不上去,修改完成以后可以再次执行 14.重新生成数据库文件 复制代码 代码如下:pure-pw mkdb 15.先把之前的pureftp服务kill掉 复制代码 代码如下: killall pure-ftpd 16.然后重新启动 复制代码 代码如下:/usr/local/pure-ftpd/sbin/pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf 17.此时一般已经可以成功登录,但是有可能还是无法上传到服务器上去,此时一般是权限问题, 登录到ftp的家目录下 复制代码 代码如下:cd /home/ftpusers/test 修改test文件夹下的文件权限 复制代码 代码如下: chown ftpuser:ftpgroup wenjian1 再尝试重新连接以后上传。 连接超时问题解决纪实 原因 而在windows下使用FileZilla测试并没有问题。仔细看了下FileZilla的日志,发现有一行 想到pureftpd用的是云主机,而云主机的网卡只绑定有内网IP,外网IP应该是绑定在路由了。猜测ftp客户端使用被动模式连接pureftpd的时候,pureftpd返回了一个内网IP。 可以知道服务器的确返回了一个内网地址。 复制代码 代码如下:ForcePassiveIP 1.1.1.1 1.1.1.1为pureftpd外网ip。重启之后问题解决。 |
请发表评论