15.4 xshell使用xftp传输文件
15.5 使用pure-ftpd搭建ftp服务
扩展
vsftp使用mysql存放虚拟用户并验证 http://www.aminglinux.com/bbs/thread-342-1-1.html
ftp的主动和被动模式 http://www.aminglinux.com/bbs/thread-961-1-1.html
15.4 xshell使用xftp传输文件:
接上(接55)
~2.
使用xftp。在xshell界面按Ctrl+Alt+F,会提示安装xftp
安装后,按Ctrl+Alt+F会直接进入xftp(输入用户密码)
前提是xshell要登录一台机器(因为走的是ssh协议)
如下图:
传输文件的时候,双击要下载的文件就可以到对面的机器去。或直接拖过去
因为走的是ssh协议,所以即使关掉vsftpd也没有关系
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15.5 使用pure-ftpd搭建ftp服务:
相比vsftpd更加的简单、清亮。如果客户或者朋友需要搭建ftp服务,就可以使用pure-ftpd。
~1.yum install -y epel-release #需要安装epel的扩展源(报错的话需要安装)
~2.yum install -y pure-ftpd
~3.vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb这行,把行首的#删除
也就是,把密码配置文件这一行要指定
~4.systemctl stop vsftpd
同样属于ftp软件,都是监听的21端口。所以要关闭vsftpd,不然会报错
~5.systemctl start pure-ftpd
~6.mkdir /data/ftp
~7.useradd -u 1010 pure-ftp
~8.chown -R pure-ftp:pure-ftp /data/ftp
~9.pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp
使用pure-pw创建用户。
首先指定用户名
-u指定系统的用户是谁(跟vsftpd一样的,会映射系统的用户,因为用的虚拟用户
-d指定虚拟用户的家目录
~10.pure-pw mkdb
mkdb把密码生成,使pure-ftpd所能识别的文件(跟vsftpd操作的.db文件类似)
~11.测试
实例:
[root@afeilinux-01 ~]# yum install -y pure-ftpd
# PureDB user database (see README.Virtual-Users) #在这一行下面
PureDB /etc/pure-ftpd/pureftpd.pdb #这一行前面的注释去掉
[root@afeilinux-01 ~]# systemctl stop vsftpd
[root@afeilinux-01 ~]# systemctl start pure-ftpd
[root@afeilinux-01 ~]# ps aux |grep ftp #查看一下
root 5872 0.0 0.1 202612 1324 ? Ss 17:04 0:00 pure-ftpd (SERVER)
root 5913 0.0 0.0 112724 988 pts/0 R+ 17:07 0:00 grep --color=auto ftp
[root@afeilinux-01 ~]# netstat -lntp #查看一下
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:36653 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 5532/rpc.mountd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 5872/pure-ftpd (SER
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 864/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 981/master
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:47234 0.0.0.0:* LISTEN 4701/rpc.statd
tcp6 0 0 :::3306 :::* LISTEN 1128/mysqld
tcp6 0 0 :::45100 :::* LISTEN -
tcp6 0 0 :::39311 :::* LISTEN 4701/rpc.statd
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::20048 :::* LISTEN 5532/rpc.mountd
tcp6 0 0 :::21 :::* LISTEN 5872/pure-ftpd (SER
tcp6 0 0 :::22 :::* LISTEN 864/sshd
tcp6 0 0 ::1:25 :::* LISTEN 981/master
tcp6 0 0 :::2049 :::* LISTEN -
[root@afeilinux-01 ~]# mkdir /data/ftp
[root@afeilinux-01 ~]# useradd -u 1010 pure-ftp
[root@afeilinux-01 ~]# chown -R pure-ftp:pure-ftp /data/ftp
[root@afeilinux-01 ~]# pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp
Password: wangxin789
Enter it again:
[root@afeilinux ~]# pure-pw --help #可查看他的用法
Usage :
pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]
-D/-d <home directory> [-c <gecos>]
[-t <download bandwidth>] [-T <upload bandwidth>]
[-n <max number of files>] [-N <max Mbytes>]
[-q <upload ratio>] [-Q <download ratio>]
[-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
[-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
[-y <max number of concurrent sessions>]
[-z <hhmm>-<hhmm>] [-m]
pure-pw usermod <login> -f <passwd file> -u <uid> [-g <gid>]
-D/-d <home directory> -[c <gecos>]
[-t <download bandwidth>] [-T <upload bandwidth>]
[-n <max number of files>] [-N <max Mbytes>]
[-q <upload ratio>] [-Q <download ratio>]
[-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
[-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
[-y <max number of concurrent sessions>]
[-z <hhmm>-<hhmm>] [-m]
pure-pw userdel <login> [-f <passwd file>] [-m]
pure-pw passwd <login> [-f <passwd file>] [-m]
pure-pw show <login> [-f <passwd file>]
pure-pw mkdb [<puredb database file> [-f <passwd file>]]
[-F <puredb file>]
pure-pw list [-f <passwd file>]
-d <home directory> : chroot user (recommended)
-D <home directory> : don't chroot user
-<option> '' : set this option to unlimited
-m : also update the /etc/pure-ftpd/pureftpd.pdb database
For a 1:10 ratio, use -q 1 -Q 10
To allow access only between 9 am and 6 pm, use -z 0900-1800
[root@afeilinux-01 ~]# pure-pw mkdb #不做这一步是不能登录的
pure-pw list /userdel/usermod/passwd 列出所有用户
以下测试:
[root@afeilinux-01 ~]# touch /data/ftp/123.txt #先touch一个文件
[root@afeilinux-01 ~]# lftp ftp_usera@127.0.0.1 #测试登录
口令:
lftp ftp_usera@127.0.0.1:~> ls #成功,看一下
drwxr-xr-x 2 1010 pure-ftp 21 Jul 31 17:09 .
drwxr-xr-x 2 1010 pure-ftp 21 Jul 31 17:09 ..
-rw-r--r-- 1 0 0 0 Jul 31 17:09 123.txt