FTP+NFS+crontab案例实施

本文介绍了一个基于FTP和NFS的资源共享方案,详细步骤包括搭建FTP服务器、NFS服务器,配置虚拟用户,限制带宽和权限,以及设置自动备份。适用于需要在多个工坊间共享资源的企业。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例:

以工坊单位为基础,每个工坊设立一个单独共享资源目录,创建FTP虚拟用户名为zhang1-6;权限限制只有下载没有上传的权限,限制最大带宽60KB;zhang1-6用户的家目录名称对应6个不同的工坊名词缩写;新建一块20G存储磁盘挂载到nfs的共享目录上,每周一晚上21点要求备份一次nfs的共享数据,到/backup/weekbackup目录下, 存放在以日期命名的目录;每14天清除上上一周的备份数据。

实施:

IP主机名备注
192.168.117.14ssFTP服务器
192.168.117.15eeNFS服务器

1.为ee主机增加一块20G硬盘,创建/sharedir目录,并将新磁盘挂载到/sharedir目录下
在这里插入图片描述
在这里插入图片描述

2.两台主机都分别安装并启动nfs服务

[root@ee ~]# yum install -y nfs-utils rpcbind
[root@ee ~]# systemctl start nfs
[root@ee ~]# systemctl enable nfs
[root@ee ~]# systemctl start rpcbind
[root@ee ~]# systemctl enable rpcbind

[root@ss ~]# yum install -y nfs-utils rpcbind
[root@ss ~]# systemctl start nfs
[root@ss ~]# systemctl enable nfs
[root@ss ~]# systemctl start rpcbind
[root@ss ~]# systemctl enable rpcbind

3.ee主机创建共享目录并赋予权限

[root@ee ~]# mkdir /sharedir/yyw
[root@ee ~]# mkdir /sharedir/dsj
[root@ee ~]# mkdir /sharedir/xcx
[root@ee ~]# mkdir /sharedir/yx
[root@ee ~]# mkdir /sharedir/az
[root@ee ~]# mkdir /sharedir/jw
[root@ee ~]# chown -R nfsnobody:nfsnobody /sharedir/
[root@ee ~]# chmod -R 755 /sharedir/

4.ee主机配置nfs并重载配置

[root@ee ~]# vim /etc/exports
/sharedir/   *(rw)
[root@ee ~]# systemctl reload nfs

5.ss创建/nfsdir目录,并将ee主机的/sharedir挂载至ss主机的/nfsdir目录下

[root@ss ~]# mkdir /ftpdir
[root@ss ~]# mount -t nfs 192.168.117.15:/sharedir /ftpdir
[root@ss ~]# df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/sda3                  44G  1.3G   43G   3% /
devtmpfs                  1.9G     0  1.9G   0% /dev
tmpfs                     1.9G     0  1.9G   0% /dev/shm
tmpfs                     1.9G   12M  1.9G   1% /run
tmpfs                     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                 2.0G  137M  1.9G   7% /boot
tmpfs                     378M     0  378M   0% /run/user/0
192.168.117.15:/sharedir   20G   32M   20G   1% /ftpdir

6.ss主机安装并启动vsftpd服务及lftp工具

[root@ss ~]# yum install -y vsftpd lftp
[root@ss ~]# systemctl start vsftpd
[root@ss ~]# systemctl enable vsftpd

7.ss主机创建虚拟用户账号文件(奇数行为用户名,偶数行为密码),创建zhang1-6虚拟用户

[root@ss ~]# vim /etc/vsftpd/user.conf
zhang1
123456
zhang2
123456
zhang3
123456
zhang4
123456
zhang5
123456
zhang6
123456

8.ss主机创建数据库文件并赋予权限

[root@ss ~]# db_load -T -t hash -f /etc/vsftpd/user.conf /etc/vsftpd/user.db
[root@ss ~]# chmod 600 /etc/vsftpd/user.*

9.ss主机清空pam认证文件,添加两行配置

[root@ss ~]# vim /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/user
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/user

10.ss主机修改ftp配置文件

[root@ss ~]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES  //限制用户所在的主目录
guest_enable=YES  //启用虚拟用户
allow_writeable_chroot=YES  //允许写入用户主目录
user_config_dir=/etc/vsftpd/vsftpd_user_conf  //虚拟用户配置文件目录,配置了此项后,要为每一个虚拟用户都建立配置文件
anon_max_rate=60000  //限制用户最大带宽60KB

11.ss主机建立虚拟用户的配置文件,配置完成后重新加载服务

[root@ss ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@ss ~]# cd /etc/vsftpd/vsftpd_user_conf/
[root@ss vsftpd_user_conf]# vim zhang1  //以zhang1用户为例,分别创建6个用户的配置文件
local_root=/ftpdir/yyw
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=NO
[root@ss ~]# systemctl restart vsftpd

10.ss主机创建大小为200M的文件用于测试限制带宽,以zhang1用户,/ftpdir/yyw目录为例

[root@ss ~]# dd if=/dev/zero of=/ftpdir/yyw/file1 bs=1M count=200

11.使用lftp工具,通过zhang1账号登陆进行测试,带宽不超过60KB,权限限制为只能下载不能上传,符合需求
在这里插入图片描述
在这里插入图片描述

12.ee主机编写备份脚本

[root@ee ~]# vim /usr/local/sbin/backup.sh
#!/bin/bash

bakfile=/sharedir/*
bak2dir=/backup/weekbackup/`date +"%F"`
predir=/backup/weekbackup/`date -d "-2 weeks" +"%F"`
baklog=/backup/backup_log.txt

if [ -d $bak2dir ]; then
    echo "`date +'%F'`:$bak2dir is exist." >> $baklog
else
    mkdir -p $bak2dir
    cp -rf $bakfile $bak2dir
    rm -rf $predir
    echo "`date +'%F'`:backup to $bak2dir is successful." >> $baklog
fi

13.ee主机设置定时任务:每周一晚上21点执行一次脚本

[root@ee ~]# crontab -e
* 21 * * 1 /bin/bash /usr/local/sbin/backup.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值