ftp服务器搭建

安装vsftpd服务

rpm -qa | grep vsftpd  # 检查服务器是否已经安装vsftpd服务

在这里插入图片描述

如果无任何提示,说明未安装。

rpm -e vsftpd-3.0.2-29.el7_9.x86_64  # 卸载vsftpd服务
yum install vsftpd -y  # 安装vsftpd服务

ftp服务器搭建_第1张图片

安装完成后,查看vsftpd服务状态:

systemctl status vsftpd
service vsftpd status

ftp服务器搭建_第2张图片
说明vsftpd服务已安装成功,还未启动。

修改配置文件

查看当前vsftpd配置文件

cat /etc/vsftpd/vsftpd.conf | grep -v '^#'  # 查看配置文件中有效的配置

ftp服务器搭建_第3张图片

修改vsftpd配置文件

参考链接1:http://unix-linux-server.blogspot.com/2015/01/install-and-configure-vsftpd-on-centos.html

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
chroot_local_user=YES
allow_writeable_chroot=YES

在这里插入图片描述
在配置文件最后添加以上配置,保存退出。

访问ftp服务器的用户的创建与配置

Linux下完全删除一个用户。

userdel -r ftpuser
find / -name '*ftpuser*'

在这里插入图片描述
设置ftp用户的帐号为 admin,密码为123456,根目录为 /home/admin/,且不允许通过ssh登录。

useradd -d /home/admin/ -s /sbin/nologin admin

passwd admin

ftp服务器搭建_第4张图片

启动vsftpd服务

systemctl restart vsftpd  # 重启vsftpd服务
systemctl start vsftpd  # 启动vsftpd服务
systemctl stop vsftpd  # 关闭vsftpd服务

也可使用以下命令达到相同的效果。

service vsftpd restart  # 重启vsftpd服务
service vsftpd start  # 启动vsftpd服务
service vsftpd stop  # 关闭vsftpd服务

按照命令行提示,service是通过调用/bin/systemctl这个命令来实现的,因此最终都是通过systemctl命令进行服务的管理。
ftp服务器搭建_第5张图片
ftp服务器搭建_第6张图片
vsftpd设置为开机自启动。

chkconfig vsftpd on  # 设置为开机自动启动
chkconfig --list  # 查看开机自启动项
systemctl list-unit-files | grep vsftpd  # 查看是否将vsftpd服务添加到开机自启动中

ftp服务器搭建_第7张图片

测试登录

本地测试登录

yum install ftp -y  # 安装ftp

在这里插入图片描述

ftp localhost  # 本机测试登录

ftp服务器搭建_第8张图片
530 Login incorrect解决方案:https://blog.csdn.net/wlchn/article/details/50855447

vim /etc/pam.d/vsftpd

# 注释掉pam_shells.so所在的行

ftp服务器搭建_第9张图片
再次登录。
ftp服务器搭建_第10张图片
可以登录,但创建文件夹失败550error。或者无法登录报500 OOPS: chroot, Login failed. 421 Service not available, remote server has closed connection.

解决方法(对SELinux进行设置)。
参考链接1:https://sysadminxpert.com/how-to-install-and-configure-vsftpd-on-centos-7/
参考链接2:http://unix-linux-server.blogspot.com/2015/01/install-and-configure-vsftpd-on-centos.html
参考链接3:https://blog.csdn.net/huyanqing2013/article/details/9350729

# 解决方法1
getsebool -a | grep ftp
setsebool -P ftpd_full_access on
chmod -R 777 /home/admin  # 如果仍然无法对其进行操作
# 解决方法2
setsebool -P ftp_home_dir 1
setsebool -P /home/admin/ on
yum install policycoreutils-python -y  # install semanage dependency
semanage boolean -m ftpd_full_access --on
systemctl restart vsftpd

ftp服务器搭建_第11张图片
本地测试无问题。
在这里插入图片描述

远程登录测试

ftp 192.168.191.128

在这里插入图片描述
无法访问,解决方法。

# 开放防火墙的21号端口
firewall-cmd --permanent --zone=public --add-port=21/tcp

# 开启防火墙的情况下,需要开放FTP端口,增加ftp服务,否则远程机无法连接
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

在这里插入图片描述
可以登录,且可以对文件进行访问等操作。
ftp服务器搭建_第12张图片
通过Windows文件资源管理器进行访问。
ftp服务器搭建_第13张图片
将数据库安装包通过ftp复制到服务器的/home/admin目录下。
ftp服务器搭建_第14张图片
在这里插入图片描述
文件传输成功。

补充:使用scp命令进行文件的传输

在Windows将下载好的db文件传输到服务器的/home/admin目录下。

scp "E:\os\iso\Linux\LINUX.X64_193000_db_home.zip" root@192.168.191.128:/home/admin

在这里插入图片描述
检测是否上传成功。
在这里插入图片描述

你可能感兴趣的