共享资源库系统

本文详细介绍了如何配置和管理FTP服务,包括vsftpd的安装、虚拟用户设置、访问权限控制以及FTP黑白名单的使用。同时,文章还涵盖了NFS服务的部署,包括NFS服务器的启动、配置文件详解、权限设置以及客户端挂载验证。此外,还提到了crontab定时任务和备份脚本的使用,确保系统资源的安全和高效管理。
摘要由CSDN通过智能技术生成

共享资源库系统

一、FTP服务
1.配置主机名

# hostnamectl set-hostname ftp

2.vsftp部署安装
通过yum源安装vsftp:

# yum -y install vsftpd telnet
# systemctl start vsftpd          
 #启动服务
# netstat -ntpl |grep 21
# systemctl stop firewalld
# setenforce 0
# cd /etc/vsftpd/
# cp vsftpd.conf{,.bak}
# egrep -v '^#|^$' vsftpd.conf.bak
# egrep -v '^#|^$' vsftpd.conf.bak >vsftpd.conf 
# cat vsftpd.conf

在这里插入图片描述
主配置文件:/etc/vsftpd/vsftpd.conf
主程序:/usr/sbin/vsftpd
常用的全局配置项:

  • listen=YES:是否以独立运行的方式监听服务

  • listen_address=192.168.x.x:设置监听的 IP 地址

  • listen_port=21:设置监听 FTP 服务的端口号

  • write_enable=YES:是否启用写入权限

  • download_enable=YES:是否允许下载文件

  • userlist_enable=YES:是否启用 user_list 列表文件

  • userlist_deny=YES:是否禁用 user_list 中的用户

  • max_clients=0:限制并发客户端连接数

  • max_per_ip=0:限制同一 IP 地址的并发连接数

  • guest_enable=YES:启用虚拟用户

  • user_config_dir=/etc/vsftpd/vsftpd_user_conf :虚拟用户使用的配置文件目录

  • allow_writeable_chroot=YES:允许写入用户主目录
    常用的匿名 FTP 配置项:

  • anonymous_enable=YES:启用匿名访问

  • anon_umask=022:匿名用户所上传文件的权限掩码

  • anon_root=/var/ftp:匿名用户的 FTP 根目录

  • anon_upload_enable=YES:允许上传文件

  • anon_mkdir_write_enable=YES:允许创建目录

  • anon_other_write_enable=YES:开放其他写入权

  • anon_max_rate=0:限制最大传输速率(字节/秒)
    常用的本地用户 FTP 配置项:

  • local_enable=YES:是否启用本地系统用户

  • local_umask=022:本地用户所上传文件的权限掩码

  • local_root=/var/ftp:设置本地用户的 FTP 根目录

  • chroot_local_user=YES:是否将用户禁锢在主目录
    3.虚拟用户配置
    在vsftpd服务器中,使用虚拟用户的主要好处在与:可以将FTP登录的账号与系统登录账号区分开,用户名、密码都不相同,从而进一步增强了FTP服务器的安全性。
    基本步骤。如下图:
    在这里插入图片描述

  • 创建账号数据
    vsftpd服务使用Berkeley DB格式的数据库文件来存放虚拟用户账号。建立这种数据库文件需要用到db_load工具,db_load工具由db4-utils软件包提供,默认已安装。
    ① 创建文本格式的用户名、密码列表。
    奇数行:账号名,偶数行:密码(即上一行中账号的密码)
    ② 转化为 Berkeley DB 格式的数据文件
    需要db_load 转换工具,默认已安装。

  • “-f”用于指定数据源文件

  • “-T”表示允许非Berkeley DB的应用程序使用从文本格式转换的DB数据文件

  • “-t hash”用于指定读取数据文件的基本方法
    ③ 为了提高虚拟用户账号文件的安全性,应将文件权限设置为600,以免数据外泄。
    如下:

[root@ftp vsftpd]# vi /etc/vsftpd/users.conf
zhangsan
1234
zhaogao
5678
[root@ftp vsftpd]# db_load -T -t hash -f /etc/vsftpd/users.conf /etc/vsftpd/users.db
[root@ftp vsftpd]# chmod 600 users.db

④ 创建 FTP 根目录及虚拟用户映射的系统用户(此账号无需设置密码及登录shell)。如下:

[root@ftp ~]# useradd vsftpd -d /home/vsftpd -s /sbin/nologin
[root@ftp ~]# mkdir -p /home/vsftpd/xmcsxy
[root@ftp ~]# chmod -R 755 /home/vsftpd

⑤ 建立支持虚拟用户的PAM认证文件
创建好虚拟用户的账号数据文件后,还需要对vsftpd服务的配置做相应的调整,以便识别并读取新的用户信息。在vsftpd服务器中,用户认证是通过PAM(Pluggable Authentication Module,可插拔认证模块)机制来实现的,该机制包含灵活的选择认证方式。Vsftpd服务默认的PAM认证文件位于/etc/pam.d/vsftpd,该文件适用于以Linux主机的系统用户账号进行认证。若要读取虚拟用户的账号数据文件,则需要创建新的PAM认证配置。

[root@ftp ~]# vi /etc/pam.d/vsftpd

在这里插入图片描述

  • 添加虚拟用户支持
    ① 在 vsftpd.conf 文件中添加虚拟用户支持配置。
[root@ftp ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO        #禁止匿名用户登录
增加下面配置参数:
chroot_local_user=YES        #禁止用户访问除主目录以外的目录
guest_enable=YES           #启用虚拟用户
allow_writeable_chroot=YES        # 允许写入用户主目录

在这里插入图片描述
② 为不同的虚拟用户建立独立的配置文件
通过前面的几个步骤,实际上已经可以重新加载vsftpd并提供服务了,使用任一个虚拟用户账号都可以登录FTP服务器并下载文件。但因为所有的虚拟用户都映射到同一个系统用户账号,因此FTP访问权限也是相同的,要么只能下载,要么只能上传。
若要为不同的虚拟用户账号设置不同的访问权限,可以通过为每个虚拟用户建立单独的配置文件来实现。为FTP用户启用独立配置文件,需要修改vsftpd.conf配置文件,添加“user_config_dir”配置项。

[root@ftp ~]# vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vsftpd_user_conf 	#虚拟用户使用的配置文件目录

③ 有了上述配置以后,就可以在/etc/vsftpd/vsftpd_user_conf 目录中为每个虚拟用户分别建立配置文件了。

[root@ftp ~]# mkdir -p /etc/vsftpd/vsftpd_user_conf
[root@ftp ~]# cd /etc/vsftpd/vsftpd_user_conf/
[root@ftp 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
# chmod -R 755 *

在vsftpd.conf文件中启用了“user_config_dir”配置项以后,应该为每一个虚拟用户都建立一个单独的配置文件(可以是空文件),否则该用户可能无法登录。在每个用户的独立配置文件中,可以添加新的配置项来限制访问权限、下载速率等。
4.重启服务并测试
重启服务生效配置文件:

[root@ftp ~]# systemctl restart vsftpd
[root@ftp ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

使用虚拟 FTP 账户访问测试:
zhangsan用户可以登录,并可以浏览、下载,也可以上传。
测试之前:关闭防火墙以及安全规则;

[root@ftp vsftpd_user_conf]# systemctl stop firewalld
[root@ftp vsftpd_user_conf]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@ftp vsftpd_user_conf]# setenforce 0

先往家目录写入一个文件:

[root@ftp ~]# cd /home/vsftpd/xmcsxy/
[root@ftp xmcsxy]# touch a.txt

在另一台虚拟机上安装NFS

[root@localhost ~]# yum install -y  nfs-utils   
#安装nfs服务
[root@localhost ~]# yum install -y 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值