操作系统的版本:
[root@centos8 ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
[root@centos8 ~]#
[root@centos8 ~]# uname -r
4.18.0-193.el8.x86_64
下载pure-ftpd-1.0.47.tar.gz:https://pan.baidu.com/s/1BabTr2PzXzTdmBGLE53HwQ
安装依赖软件包:
yum -y install gcc gcc-c++ autoconf automake make
dnf -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
编译安装:
tar -zxvf pure-ftpd-1.0.47.tar.gz && cd pure-ftpd-1.0.47
./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-peruserlimits --with-tls
make && make install
修改PureFTPd的配置文件:(可拿以下代码直接覆盖原文件,记得去掉注释)
[root@centos8 ~]# cat /usr/local/pureftpd/etc/pure-ftpd.conf |grep -v ^# |grep -v ^$
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous yes #不允许匿名用户
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
LimitRecursion 10000 8
AnonymousCanCreateDirs no
MaxLoad 4
PassivePortRange 9000 9045 #开放的端口
AntiWarez yes
Umask 133:022
MinUID 100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload yes
CreateHomeDir yes
MaxDiskUsage 99
CustomerProof yes
IPV4Only yes
启动PureFTPd服务:
[root@centos8 ~]# /usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf
[root@centos8 ~]# ps -ef |grep pure-ftpd |grep -v grep
root 21062 1 0 15:48 ? 00:00:00 /usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf
[root@centos8 ~]# echo $?
0
[root@centos8 ~]#
[root@centos8 ~]# pgrep -l pure-ftpd
21062 pure-ftpd
[root@centos8 ~]# echo $?
0
关闭PureFTPd服务:
[root@centos8 ~]# killall -9 pure-ftpd
-bash: killall: 未找到命令
[root@centos8 ~]# yum -y install psmisc
[root@centos8 ~]# killall -9 pure-ftpd
[root@centos8 ~]#
[root@centos8 ~]# ps -ef |grep pure-ftpd |grep -v grep
[root@centos8 ~]# echo $?
1
[root@centos8 ~]# pgrep -l pure-ftpd
[root@centos8 ~]# echo $?
1
检测PureFTPd的监听端口:(PureFTPd服务运行时)
[root@centos8 ~]# netstat -anp |grep pure-ftpd
-bash: netstat: 未找到命令
[root@centos8 ~]# dnf -y install net-tools
[root@centos8 ~]# netstat -anp |grep pure-ftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21609/pure-ftpd
unix 2 [ ] DGRAM 51980 21609/pure-ftpd
unix 3 [ ] STREAM CONNECTED 51983 21609/pure-ftpd
[root@centos8 ~]# echo $?
0
检测PureFTPd的监听端口:(PureFTPd服务关闭时)
[root@centos8 ~]# netstat -anp |grep pure-ftpd
[root@centos8 ~]# echo $?
1
创建一个真实的系统用户:
useradd -d /home/pure -s /sbin/nologin pure
创建FTP目录:
mkdir -p /www/web
chmod -R 777 /www/web/
添加FTP虚拟用户(zhuohua),并指定其FTP目录:
/usr/local/pureftpd/bin/pure-pw useradd zhuohua -u pure -d /www/web/
注释:要自定义FTP虚拟用户zhuohua的密码
每添加一个新的FTP虚拟用户后,都要重新生成数据库文件:
[root@centos8 ~]# /usr/local/pureftpd/bin/pure-pw mkdb
[root@centos8 ~]#
[root@centos8 ~]# ls -lh /usr/local/pureftpd/bin/pure-pw
-rwxr-xr-x. 1 root root 158K 10月 10 15:45 /usr/local/pureftpd/bin/pure-pw
pure-ftpd开启日志功能:(要重启服务器才生效)
[root@centos8 ~]# vi /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
修改为:
*.info;mail.none;authpriv.none;cron.none;ftp.none /var/log/messages
文件后面追加:
ftp.* /var/log/pureftpd.log
创建pure-ftpd的日志文件:
[root@centos8 ~]# touch /var/log/pureftpd.log
[root@centos8 ~]# chmod 777 /var/log/pureftpd.log
打开防火墙(firewalld)以下端口:( TCP 21、9000-9045 )
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=9000-9045/tcp --permanent
firewall-cmd --reload
查看Firewalld的配置文件:
[root@centos8 ~]# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<service name="cockpit"/>
<port port="21" protocol="tcp"/>
<port port="9000-9045" protocol="tcp"/>
</zone>
######
软件winscp的下载链接:https://pan.baidu.com/s/1lXa21_RrPjSPnxALZbPhGw
WinSCP是常用的FTP、SFTP客户端软件,这里使用的文件协议为 FTP
至此,上传、下载都是没有问题的;对于/www/web/里面的所有内容,zhuohua具有完全控制的权限:
查看PureFTPd的日志:
[root@centos8 ~]# cat /var/log/pureftpd.log
Oct 10 16:15:15 centos8 pure-ftpd[1579]: (?@192.168.168.159) [INFO] New connection from 192.168.168.159
Oct 10 16:15:15 centos8 pure-ftpd[1579]: (?@192.168.168.159) [INFO] zhuohua is now logged in
Oct 10 16:17:24 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [INFO] Can't change directory to /dir1/: No such file or directory
Oct 10 16:17:24 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/.bash_logout uploaded (20 bytes, 9.85KB/sec)
Oct 10 16:17:24 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/.bash_profile uploaded (188 bytes, 199.55KB/sec)
Oct 10 16:17:24 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/2.txt uploaded (5 bytes, 5.18KB/sec)
Oct 10 16:17:24 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/my_private_key.ppk uploaded (1460 bytes, 59.40KB/sec)
Oct 10 16:17:24 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/zabbix.conf.php uploaded (415 bytes, 487.20KB/sec)
Oct 10 16:17:25 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//FlashFXP-v3.51.1200H.zip uploaded (3412982 bytes, 6718.68KB/sec)
Oct 10 16:19:51 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/.bash_logout downloaded (20 bytes, 81.35KB/sec)
Oct 10 16:19:51 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/.bash_profile downloaded (188 bytes, 296.17KB/sec)
Oct 10 16:19:51 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/2.txt downloaded (5 bytes, 11.93KB/sec)
Oct 10 16:19:51 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/my_private_key.ppk downloaded (1460 bytes, 8147.36KB/sec)
Oct 10 16:19:51 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//dir1/zabbix.conf.php downloaded (415 bytes, 1949.36KB/sec)
Oct 10 16:19:51 centos8 pure-ftpd[1579]: (zhuohua@192.168.168.159) [NOTICE] /www/web//FlashFXP-v3.51.1200H.zip downloaded (3412982 bytes, 92505.83KB/sec)
注释:uploaded为客户端上传东西到服务器;downloaded为客户端从服务器下载东西。
修改某个FTP虚拟用户的密码:
/usr/local/pureftpd/bin/pure-pw passwd zhuohua
每次修改完FTP虚拟用户的密码,都要重新生成数据库文件:
[root@centos8 ~]# /usr/local/pureftpd/bin/pure-pw mkdb
###
再添加一个FTP虚拟用户(happy),并指定其FTP目录:
/usr/local/pureftpd/bin/pure-pw useradd happy -u pure -d /www/web2/
每添加一个新的FTP虚拟用户后,都要重新生成数据库文件:
[root@centos8 ~]# /usr/local/pureftpd/bin/pure-pw mkdb
再创建一个FTP目录:
mkdir -p /www/web2
chmod -R 777 /www/web2/
备注:对于/www/web2/里面的所有内容,happy具有完全控制的权限。
###
查看一下FTP虚拟用户列表文件:
[root@centos8 ~]# cat /usr/local/pureftpd/etc/pureftpd.passwd
zhuohua:$2a$08$LseHAgOBPgm0FWzFdq48EuPgdMnW9PgpHC4wPvZIfYYYMjGobe/Bu:1000:1000::/www/web/./::::::::::::
happy:$2a$08$VUhrXXWUgEXsiEEYWsh0EuHB554GyvV2XbOTPw8nyDbIbMudTosqi:1000:1000::/www/web2/./::::::::::::
###
查看某个FTP虚拟用户的信息:
/usr/local/pureftpd/bin/pure-pw show happy
笺注:
FTP虚拟用户可以上传、下载、删除文件夹、文件等等,上传的文件、文件夹的属主和属组都是pure
不同的FTP虚拟用户可以有自己的FTP目录,也可以共用一个FTP目录
删除某个FTP虚拟用户:
/usr/local/pureftpd/bin/pure-pw userdel happy
/usr/local/pureftpd/bin/pure-pw mkdb
相关文章:
CentOS8_将PureFTPd添加为标准系统服务
CentOS6_PureFTPd虚拟用户验证
CentOS8防火墙(firewalld)
CentOS8_vsftpd虚拟用户
Zabbix使用SNMP监控CentOS7/Redhat7 |