首页 > 系统相关 >Linux下PureFTPd配置安装(完整版)

Linux下PureFTPd配置安装(完整版)

时间:2023-10-08 15:22:56浏览次数:46  
标签:ftp ftpd etc usr pure Linux PureFTPd 完整版 local

PureFTPd是一个centos中ftp服务器软件了,我们在网上有很多的关于PureFTPd安装教程了,下面小编来为各位介绍Linux下PureFTPd配置安装教程.

网上关于pureftp的安装教程很多,但是试了以后发现很多其实都不完善,很容易出错,自己安装摸索以后总结如下.

首先安装之前最好用netstat -ntl来查看ftp默认的21端口是不是已经被占用了,同时也可以用ps -ef 指令查看开启了哪些服务,看一下有没有类似sftp或者是vsftp的服务,如果开启,用killall sftp指令把这个服务kill掉.

1.下载pureftp,我下载的是pure-ftpd-1.0.30

指令: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.把配置文件和主要执行文件拷到对应的文件夹下面:

cpconfiguration-file/pure-ftpd.conf/usr/local/pure-ftpd/etc/

cpconfiguration-file/pure-config.pl/usr/local/pure-ftpd/sbin/

chmod755/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的方式探测一下这个端口是不是通的.

 

自动下载安装命令:

yum install -y pure-ftpd

加入开机自启动:(Centos9为例)

systemctl enable pure-ftpd

 

9.pureftp一般需要不用默认的root用户进行操作,一般会另外创建用户名和组,用虚拟用户进行登录.

创建组:groupadd ftpgroup

创建用户:useradd -g ftpgroup -d /dev/null -s /etc ftpuser

创建完成以后可以用cat /etc/passwd和cat /etc/group来查看组和用户是否已经创建好了

10.添加ftp虚拟用户

pure-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

 ChrootEveryoneyes#启用chroot

BrokenClientsCompatibilityyes#兼容不同客户端

Daemonizeyes#后台运行

MaxClientsPerIP20#每个ip最大连接数

VerboseLogyes#记录日志

DisplayDotFilesno#显示隐藏文件

AnonymousOnlyno#只允许匿名用户访问

NoAnonymousyes#不允许匿名用户连接

SyslogFacilitynone#不将日志在syslog日志中显示

DontResolveyes#不进行客户端DNS解析

MaxIdleTime15#最大空闲时间

LimitRecursion20008#浏览限制,文件2000,目录8层

AnonymousCanCreateDirsno#匿名用户可以创建目录

MaxLoad4#超出负载后禁止下载

PassivePortRange4500050000#被动模式端口范围

#AnonymousRatio110#匿名用户上传/下载比率

UserRatio110#所有用户上传/下载比率

AntiWarezyes#禁止下载匿名用户上传但未经验证的文件

#AnonymousBandwidth200#匿名用户带宽限制(KB)

UserBandwidth8#所有用户最大带宽(KB)

Umask133:022#创建文件/目录默认掩码

MinUID100#最大UID限制

AllowUserFXPno#仅运行用户进行FXP传输

AllowAnonymousFXPno#对匿名用户和非匿名用户允许进行匿名FXP传输

ProhibitDotFilesWriteno#不能删除/写入隐藏文件

ProhibitDotFilesReadno#禁止读取隐藏文件

AutoRenameyes#有同名文件时自动重新命名

AnonymousCantUploadyes#不允许匿名用户上传文件

AltLogclf:/var/log/pureftpd.log#clf格式日志文件位置

PureDB/usr/local/pure-ftpd/etc/pureftpd.pdb#用户数据库文件

MaxDiskUsage99#当磁盘使用量打到99%时禁止上传

CreateHomeDiryes#如果虚拟用户的目录不存在则自动创建--phpfensi.com

CustomerProofyes#防止命令误操作

 

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 再尝试重新连接以后上传.

 

对pure-ftp而言,pure-ftp能够自动支持匿名帐号,但是有这样几个设置内容:

1、您的linux系统中是否存在一个帐号叫ftp,并且这个帐号存在一个主目录?如果没有,那么使用如下命令添加:

 useradd -md /var/ftp ftp

2、在pure-ftp的配置文件目录中(/etc/pure-ftpd/conf)是否存在NoAnonymous这个文件,如果不存在则创建它,确保文件中的内容为no

好了,重新启动pure-ftpd,命令:/etc/init.d/pure-ftpd restart

现在你应该可以使用匿名帐号登录你的pure-ftp了。

 如果你希望匿名帐号支持上传,那么需要如下步骤:

1、确定pure-ftp的配置文件目录中(/etc/pure-ftpd/conf)是否存在AnonymousCantUpload文件,如果不存在则创建,确保文件中的内容为no,这个设置是允许匿名帐号上传文件。

2、确定pure-ftp的配置文件目录中(/etc/pure-ftpd/conf)是否存在AnonymousCanCreateDirs文件,如果不存在则创建,确保文件中的内容为yes,这个设置是允许匿名帐号创建目录。

 ok,到这里在pure-ftp中关于匿名帐号的设置都完成了。

如果想自定义匿名帐号访问指定目录,可以如下操作:(东东自研:[email protected]

a、您的Linux系统中是否存在一个帐号叫ftp,如果有请先删除此用户(以CentOS为例)

cut -d : -f 1 /etc/passwd

userdel -rf ftp

b、确认ftp用户删除后使用如下命令:(例如我们的匿名目录指定为/ftp/mynm下)

useradd -md /ftp/mynm ftp

其它操作和上面基本一致。

标签:ftp,ftpd,etc,usr,pure,Linux,PureFTPd,完整版,local
From: https://www.cnblogs.com/xlpc/p/17749162.html

相关文章

  • linux酷炫命令 hollywood
    1、https://cloud.tencent.com/developer/article/2275804ubuntu系统安装说实话这个命令可能就是抖音里很火的那个,你眼中的程序猿VS现实中的程序猿,安装命令如下:sudoapt-getinstallhollywood执行结果如下: 5.cal命令    2、......
  • Linux cat、echo、seq、sort、cut、tr、diff、uniq
    cat和echo特点:cat:从文件或标准输入读取内容并显示到标准输出(通常是屏幕)。提供一个或多个文件名作为参数时,cat会连续显示这些文件的内容。echo:输出参数内容到标准输出,提供给echo的任何内容(无论是文本、变量还是混合内容)都会被当作参数,然后echo将这些参数显示出来。c......
  • Linux问题记录
    Linux问题记录​#Linux问题记录#​用户不在sudoers文件中,此事将被报告我们首先使用命令suroot切换至root用户,此时需要验证root用户密码然后我们查看/etc/sudoers文件内容是否包含当前用户权限如果没有权限,使用命令vim/etc/sudoers编辑文件增加shone用......
  • Linux:远程Ubuntu服务器误修改sudoers 导致无法sudo的解决办法
    问题复现本来想用腾讯云测试一下用户权限管理,给test用户设置面密码登录,修改/etc/sudoers如下testALL=(ALL:ALL)NOPASSWD:ALL手抖忘了写NOPASSWD后面的冒号,导致关闭后sudo直接报错(base)ubuntu@VM-16-11-ubuntu:~$sudovim/etc/sudoers>>>/etc/sudoers:syntaxe......
  • linux内核升级和内核源码编译
    一、ubuntu通过命令安装内核版本1、检查原系统内核版本uname-r2、搜索可用linux内核版本apt-cachesearchlinux|greplinux-headers3、通过apt命令安装内核apt-getinstall linux-headers-5.4.0-80-generic linux-image-5.4.0-80-generic4、安装成功后查看/boot目录......
  • Linux-grep或和与操作
    一、或(or)操作1、使用选项-Egrep-E'a1|a2’filename//找出文件(filename)中包含a1或者包含a2的行2、使用egrepegrep‘a1|a2’filename//用egrep同样可以实现3、使用选项-e使用grep-e选项,只能传递一个参数。在单条命令中使用多个-e选项grep-ea1-ea2filename//......
  • linux跳过cmake,安装高版本的wgrib2
    一、安装依赖包yumgroupinstall'DevelopmentTools'yuminstallzlib-devel-yyuminstalllibpng-devel-yyuminstallopenssl-devel-yyum-yinstallgccgcc-c++opensslopenssl-develtar二、下载wgrib2编译包并且解压,修改makefiletarxvfwgrib2.tgz.v3.1.2......
  • Rockchip RK3399 - linux下抓取usb数据包
    ----------------------------------------------------------------------------------------------------------------------------开发板:NanoPC-T4开发板eMMC:16GBLPDDR3:4GB显示屏:15.6英寸HDMI接口显示屏u-boot:2017.09linux:4.19----------------------------------......
  • 基于 Linux、C++实现的高性能内存池
    1.引入内存池的意义  内存池(MemoryPool)是一种内存分配方式,又被称为固定大小区块规划(fixed-size-blocksallocation)。通常我们习惯直接使用new、malloc等API申请分配内存,但是这种方式非常容易产生内存碎片,早晚都会申请内存失败。并且在比较复杂的代码或者继承的屎山......
  • Linux系统目录结构
    linux系统目录结构 linux的/目录linux目录:一切从/开始,/是最顶级的目录 类似Windows只有一个C盘 linux的一级目录bin:二进制命令所在的目录,这个目录存放着最经常使用的命令。dev:硬件设备所在的目录磁盘光驱,home:普通用户的家目录 root:管理员用户的家目录mn......