配置FTP虚拟用户及访问控制

配置FTP虚拟用户及访问控制

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

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

创建虚拟用户配置文件

mkdir /etc/vsftpd/vsftpd_user_conf

cd /etc/vsftpd/vsftpd_user_conf

vi zhangsan

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

vi zhaogao

local_root=/home/vsftpd/xmcsxy		# 当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。 
anon_upload_enable=YES	# 是否允许登陆用户有上传权限。
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 /data
mkdir /data/public
mkdir /data/test
mkdir /data/linux

chown -R nfsnobody.nfsnobody /data

chmod 755 -R /data

编辑nfs配置文件

vi /etc/exports

/tmp    *(rw,no_root_squash)
/data/public    10.30.58.0/25(rw)
/data/test    10.30.58.26(rw)
/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点执行一次脚本)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值