Linux使用5—Linux使用5—CentOS7离线安装ftp

CentOS 7 离线安装 FTP

一、检查是否已经安装,什么都没出现,说明没有安装。

1
rpm -qa | grep vsftpd

二、下载rpm包

下载对应版本的FTP服务器:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)

我下载这个vsftpd-3.0.2-28.el7.x86_64.rpm;

搜索 ftp(x86-64)下载ftp客户端,为了测试准备。我下载这个 ftp-0.17-67.el7.x86_64.rpm

三、安装vsftpd

1
2
将下载的rpm包上传到服务器,然后执行以下命令安装:
rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm --force --nodeps

四、配置ftp,主要配置 vsftpd.conf 文件

配置文件目录vim /etc/vsftpd/vsftpd.conf,修改为以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 禁止匿名登入
anonymous_enable=NO

# 对用户访问只限制在主目录,不能访问其他目录
chroot_local_user=YES
chroot_list_enable=NO
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
userlist_deny=NO


reverse_lookup_enable=NO
allow_writeable_chroot=YES
local_root=/home/ftp
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

五、开放相关防火墙端口(21,6000-7000端口)

1
2
3
4
5
6
7
firewall-cmd --zone=public --add-port=6000-7000/tcp --permanent   # 开放6000-7000端口

firewall-cmd --zone=public --remove-port=6000-7000/tcp --permanent #关闭6000-7000端口

firewall-cmd --reload # 配置立即生效

firewall-cmd --zone=public --list-ports #查看防火墙所有开放的端口

添加ftp用户及权限

1
2
3
4
5
6
7
8
9
10
#添加用户 ftpup,并指定该用户的主目录为/home/ftp
useradd -d /home/ftp -s /sbin/nologin ftpup
#为用户ftpup设置密码
passwd ftpup
#输入用户密码 #输入密码
#再次输入密码 #再次输入密码

# 文件夹权限
chmod -R 755 /home/ftp
chown -R ftpup /home/ftp

重启ftp

1
2
3
4
5
6
#停止ftp
service vsftpd stop
#启动ftp
service vsftpd start
#重启ftp
service vsftpd restart

安装ftp客户端

一、同样先检查是否安装:

1
rpm -qa | grep ftp

二、以强制安装方式 进行安装:

1
2
rpm -ivh ftp-0.17-67.el7.x86_64.rpm --force --nodeps

三、测试

1
2
3
4
ftp localhost
#输入用户名
#输入密码
#提示:login successful

四、常用命令

1、将源主机文件传到连接的主机上

1
put 源文件路径 目标文件路径 

2、将目标主机文件传到源主机上

1
get 目标文件路径 源文件路径 

3、退出

1
quit

问题一:

Connected to localhost (::1).
220 (vsFTPd 3.0.2)
Name (localhost:root): ftpup
530 Permission denied.

处理:/etc/vsftpd/vsftpd.conf中一下内容从YES修改为NO,如下
userlist_enable=NO

问题二:

331 Please specify the password.

出现错误的原因,是因为ubuntu启用了PAM,所在用到vsftp时需要用到 /etc/pam.d/vsftpd 这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。所以解决的办法就是删除这个文件

处理:rm /etc/pam.d/vsftpd

https://blog.csdn.net/yunhan0609/article/details/83055883