yum install -y vsftpd
yum install -y net-tools telnet
systemctl restart vsftpd
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
cp vsftpd.conf{,.bak}
egrep -v ‘^#|^$’ vsftpd.conf.bak > vsftpd.conf

配置虚拟用户
vi users.conf

db_load -T -t hash -f /etc/vsftpd/users.conf /etc/vsftpd/users.db
chmod 600 users.db

创建 FTP 根目录及虚拟用户映射的系统用户
useradd vsftpd -d /home/vsftpd -s /sbin/nologin
mkdir -p /home/vsftpd/xmcsxy
chmod -R 755 /home/vsftpd

vi /etc/pam.d/vsftpd # 读取虚拟用户的账号数据文件,则需要创建新的PAM认证配置
vi /etc/vsftpd/vsftpd.conf

  1. anonymous_enable=NO #禁止匿名用户登录
  2. 增加下面配置参数:
  3. chroot_local_user=YES #禁止用户访问除主目录以外的目录
  4. guest_enable=YES #启用虚拟用户
  5. allow_writeable_chroot=YES # 允许写入用户主目录
  6. user_config_dir=/etc/vsftpd/vsftpd_user_conf #虚拟用户使用的配置文件目录

创建虚拟用户配置文件
mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
vi zhangsan

  1. local_root=/home/vsftpd/xmcsxy # 当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。
  2. anon_upload_enable=YES # 是否允许登陆用户有上传权限。
  3. write_enable=YES # 是否允许登陆用户有写权限。

vi zhaogao

  1. local_root=/home/vsftpd/xmcsxy # 当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。
  2. anon_upload_enable=YES # 是否允许登陆用户有上传权限。
  3. write_enable=YES # 是否允许登陆用户有写权限。

重启vsftpd
systemctl restart vsftpd
systemctl status vsftpd
给虚拟用户配置文件授权755
chmod -R 755 *
给虚拟用户配置文件目录授权755,给vsftpd更目录授权777,不然无法正常上传下载文件
chmod -R 755 /etc/vsftpd/vsftpd_user_conf
chmod 777 -R /home/vsftpd/
测试
cd /home/vsftpd/xmcsxy/
touch a.txt

部署NFS

两个节点关闭防火墙se
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
两个节点安装NFS
yum install -y nfs-utils rpcbind
id nfsnobody 查看这个用户是否存在
两个节点启动NFS相关服务
systemctl start rpcbind && systemctl enable rpcbind
systemctl start nfs && systemctl enable nfs
主节点创建共享目录
mkdir /datamkdir /data/publicmkdir /data/testmkdir /data/linux
chown -R nfsnobody.nfsnobody /data
chmod 755 -R /data
编辑nfs配置文件
vi /etc/exports

  1. /tmp *(rw,no_root_squash)
  2. /data/public 10.30.58.0/25(rw)
  3. /data/test 10.30.58.26(rw)
  4. /data/linux *.xmcsxy.com(rw,all_squash,anonuid=40,anongid=40)

exportfs -rv

从节点测试
showmount -e 10.30.58.27 #测试从节点是否能发现共享目录
mkdir /root/test #创建一个挂在目录挂载nfs测试
mount -t nfs 10.30.58.27:/data/test /root/test #挂载nfs
df -h #查看挂载情况
umount /root/test/ #卸载写入开机启动
vi /etc/fstab #配置开机自动挂在,注意不能写错,否则会导致虚拟机无法开机
mount -a #重新挂载配置文件的项目
df -h #查看是否挂载成功

shell脚本定时备份共享目录

vi /usr/local/sbin/backup.sh

#!/bin/bash

a=`date '+%Y%m%d'`
b=/backup/weekbackup
c=/var/log/backup.log
pname=$(rpm -qa | grep rsync)
#判断rsync是否存在
if [ $? -eq 0 ]
then
    echo "软件包rsync已经安装。"
else
    echo "软件包rsync没有安装"
    yum -y install rsync >> /dev/null
    if [ $? -eq 0 ];then
        echo "安装rsync完成。"
    else
        echo "安装rsync失败。"
    fi
fi
#判断备份目录是否存在,并增量备份。
if [ ! -d "$b" ];then
        mkdir -p $b
        echo "$a Backup File missing!" >> /var/log/backup.log
        rsync -rvz /data/* $b/$a
else
        rsync -rvz /data/* $b/$a
        if [ -d $b/$a ];then
                echo "$a Backup success." >> /var/log/backup.log
                find $b -mtime +14 | xargs rm -rf
        else
                echo "$a Backup failed." >> /var/log/backup.log
        fi
fi

chmod 755 /usr/local/sbin/backup.sh
crontab -e
1 /7 sh /usr/local/sbin/backup.sh #添加定时任务:(每7天凌晨1点执行一次脚本)