双虚拟机实现数据库自动备份

FTP的使用:

1.安装FTP

1、检测系统有没有安装ftp,执行命令:

bash 复制代码
rpm -qa | grep ftp

若存在用rpm命令移除后再行安装,执行命令:

bash 复制代码
rpm -e vsftpd-3.0.2-9.e17.x86_64

2、如果没有安装,则在线安装ftp,执行命令

bash 复制代码
yum install -y vsftpd
yum install -y ftp


2. 启动 vsftpd 服务和开机自动启动服务

执行命令:

bash 复制代码
sudo systemctl start vsftpd 
sudo systemctl enable vsftpd

3、配置vsftp

首先备份当前的 vsftpd conf 文件,执行命令:

bash 复制代码
sudo cp -p /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default

<1>、配置FTP服务,修改/etc/vsftpd/vsftpd.conf文件。

然后执行以下命令,打开vsftpd.conf文件,将配置文件中"anonymous_enable=YES"改为 "anonymous_enable=NO",这样关闭了匿名登录功能;其次禁止切换根目录 101 行 删除#号在chroot_local_user=YES前面的

bash 复制代码
cd /etc/vsftpd/
 
vim vsftpd.conf

<2>、重启vsftpd服务,执行命令:

bash 复制代码
systemctl restart vsftpd

4.添加账户

<1>、添加用户

执行命令:

bash 复制代码
sudo useradd ftpadmin  
 
sudo passwd ftpadmin

输入密码:zj88064488

输入两次密码,匹配成功后,就设置好了ftpadmin帐户的密码了。

<2>、将新用户添加到用户列表

执行命令:echo "ftpadmin" | sudo tee -a /etc/vsftpd/user_list

运行以下命令以创建所需的目录和权限,执行命令:

bash 复制代码
echo "ftpadmin" | sudo tee -a /etc/vsftpd/user_list
sudo mkdir -p /home/ftpadmin/ftp/upload 
sudo chmod 550 /home/ftpadmin/ftp 
sudo chmod 750 /home/ftpadmin/ftp/upload 
sudo chown -R ftpadmin: /home/ftpadmin/ftp

5.配置 SELinux 以保护 FTP 服务器

<1>、允许 FTP 从用户的主目录读取/写入文件,执行命令:

bash 复制代码
setsebool -P /home/ftpadmin/ on
 
semanage boolean -m ftpd_full_access --on

<2>、执行命令:

bash 复制代码
systemctl status vsftpd

查看vsftpd运行状态

<3>、使用创建的用户连接到 FTP 服务器:ftp <ftp-服务器-ip>

或者在在本地测试 ftp:ftp localhost

6.测试连接

用WinSCP或Xftp 在另外一台pc机中,新建站点或新建会话,文件协议选择"FTP",主机名输入FTP服务器地址,用户输入:ftpadmin,密码输入:zj88064488 然后点击保存及登录后可以看到FTP服务器下的文件内容了,测试可以读写即可

配置开机自启:

bash 复制代码
#配置开机自启动
 
执行命令:systemctl enable vsftpd.service
 
#启动
 
执行命令:systemctl start vsftpd.service
 
#停止
 
执行命令:systemctl stop vsftpd.service
 
#查看状态
 
执行命令:systemctl status vsftpd.service

FTP在安装时可能会出现以下几个问题,下面是解决思路:

ftp连接vsftpd时报错500 OOPS

解决方法: 关闭SElinux

临时关闭:

(临时关闭SElinux不需要重启机器)

bash 复制代码
 setenforce 0

永久关闭:

bash 复制代码
vim /etc/sysconfig/selinux

将SELINUX=enforcing 改为SELINUX=disabled

2、500 OOPS: vsftpd: refusing to run with writable root inside chroot() 远程主机关闭连接。

原因:vsftpd出于安全考虑,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

解决方法1:去除用户主目录的写权限。

bash 复制代码
chmod a-w /home/user

user换成你自己的目录

重新连接,成功!

解决方法2:

在vsftpd的配置文件中增加 allow_writeable_chroot=YES

bash 复制代码
vim /etc/vsftpd/vsftpd.conf

在最后面增加 allow_writeable_chroot=YES

相关推荐
野犬寒鸦1 天前
从零起步学习MySQL || 第七章:初识索引底层运用及性能优化(结合底层数据结构讲解)
java·数据库·后端·mysql·oracle
6极地诈唬1 天前
【sqlite】WAL初探
数据库·sqlite
PieroPc1 天前
用Python Streamlit sqlite3 写一个简单博客
数据库·python·sqlite
啊森要自信1 天前
【MySQL 数据库】使用C语言操作MySQL
linux·c语言·开发语言·数据库·mysql
你想考研啊1 天前
二、redis集群部署(3主3从)
数据库·redis·缓存
冉冰学姐1 天前
SSM考试管理z2zvx(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·学生信息管理
友友马1 天前
『 QT 』信号-槽 补充: Qt信号槽断开连接与Lambda槽技巧
开发语言·数据库·qt
凡间客1 天前
5、Python3编程之面向对象
java·服务器·数据库
涛思数据(TDengine)1 天前
TDengine TSDB 3.3.8.0 上线:SMA、TLS、TDgpt、taosX、taosgen 一次全进化
大数据·数据库·时序数据库·tdengine
滴_咕噜咕噜1 天前
【MFC】数据库操作:数据库动态生成
数据库·c++·mfc