搭建FTP/NFS服务(vsftpd基于虚拟用户的访问形式)

题目:搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)

1)基于虚拟用户的访问形式;

2)匿名不允许上传;

3)禁锢所有的用户于其家目录当中;

4)限制最大并发连接数为200;

5)匿名用户的最大传输速率512KB/s;

6)虚拟用户的账号存储在mysql数据库当中。

7)数据库通过NFS进行共享。

搭建环境:

FTP/NFS服务器:192.168.10.99 (CentOS 7)

搭建FTP/NFS详细过程:

1、配置vsftpd基于pam_mysql的虚拟用户的访问形式,虚拟用户的账号存储在mysql数据库当中。其中已创建的虚拟用户有tom和jerry,密码分别为123和321

这一步骤详细过程参考博客《vsftpd基于pam_mysql的虚拟用户机制》

2、编辑vsftpd配置文件/etc/vsftpd/vsftpd.conf

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf
# 设置匿名用户不允许上传
anonymous_enable=YES
anon_upload_enable=NO

# 禁锢所有的用户于其家目录当中
chroot_local_user=YES

# 限制最大并发连接数为200
max_clients=200

# 设置匿名用户的最大传输速率512KB/s
anon_max_rate=512000

3、重启vsftpd服务

[[email protected] ~]# systemctl restart vsftpd.service
[[email protected] ~]# ss -tnl | grep :21
LISTEN     0      32          :::21                      :::*

4、数据库通过NFS进行共享

#由mysql主配置文件/etc/my.cnf可知,mysql数据库目录为/var/lib/mysql,通过NFS进行共享

[[email protected] ~]# vim /etc/exports
/var/lib/mysql  192.168.0.0/16(rw,no_root_squash)

此处之所以需要添加no_root_squash这个选项,是因为mysql服务在第一次启动时需要以管理员root身份进行初始化,因此在第一次启动之后就可以去掉no_root_squash选项了。

#启动NFS服务

[[email protected] ~]# systemctl start nfs.service

#确保NFS客户端和NFS服务端的mysql用户的UID一致

#客户端查看NFS共享

[[email protected] ~]# showmount -e 192.168.10.99
Export list for 192.168.10.99:
/var/lib/mysql 192.168.0.0/16

#客户端挂载NFS共享文件系统

[[email protected] ~]# mkdir -p /mydata/data
[[email protected] ~]# chown -R mysql.mysql /mydata/data    # 修改权限使mysql有rwx权限
[[email protected] ~]# mount -t nfs 192.168.10.99:/var/lib/mysql /mydata/data

#客户端下载mariadb-server,编辑配置文件/etc/my.cnf,修改如下配置项

[[email protected] ~]# yum -y install mariadb-server
[[email protected] ~]# vim /etc/my.cnf
[mysqld]
datadir=/mydata/data
socket=/mydata/data/mysql.sock

#启动mysql服务

[[email protected] ~]# systemctl start mariadb

需要注意的是,mysql命令行客户端工具默认的socket路径是/var/lib/mysql/mysql.sock,所以在使用mysql时会出现如下问题:

[[email protected] ~]# mysql
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)

解决方法如下。

方法一:使用-S选项指明socket文件路径

[[email protected] ~]# mysql -S /mydata/data/mysql.sock

方法二:创建链接socket文件

[[email protected] ~]# ln -s /mydata/data/mysql.sock /var/lib/mysql/mysql.sock
# 之后就可以直接使用mysql了

另外需要注意的是,当有多个主机的数据库通过NFS共享数据时,只能启动其中的一个数据库服务,其它的主机上的数据库服务必须关闭。

经过测试,在任何一台主机上的数据库中创建的数据都能够同步。

时间: 2024-08-08 03:38:45

搭建FTP/NFS服务(vsftpd基于虚拟用户的访问形式)的相关文章

搭建 FTP 文件服务vsftpd

安装并启动 FTP 服务 安装 VSFTPD 使用 yum 安装 vsftpd: yum install vsftpd -y vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.appspot.com/vsftpd.html],它可能是 UNIX-like 系统下最安全和快速的 FTP 服务器软件. 启动 VSFTPD 安装完成后,启动 FTP 服务: service vsftpd start 启动后,可以看到系统已经[监听了 2

vsftpd使用虚拟用户认证

1.vsftpd安装ip:192.168.20.129 Centos 6.4-64系统) [[email protected] ~]# yum install -y vsftpd db4-utils 2.配置vsftp [[email protected] ~]#mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak [[email protected] ~]# vim /etc/vsftpd/vsftpd.conf listen=YES a

centos 7搭建基于虚拟用户的FTP服务

该博文主要记录了centos 7中使用vsftpd服务的虚拟用户配置过程,即将一个真实的系统用户映射为多个虚拟用户. 部署vsftpd虚拟用户的思路: 过程如下: 建立虚拟FTP用户的账号数据库文件. 创建FTP根目录及虚拟用户映射的系统用户. 建立支持虚拟用户的PAM认证文件. 在vsftpd.conf文件中添加支持配置. 为个别虚拟用户建立独立的配置文件. 重新加载vsftpd配置. 使用虚拟FTP账户访问进而测试是否成功. 该博文是最初写博文时,写过的一篇博文,当初不懂排版,截图比较多,导

基于 Ubuntu 搭建 FTP 文件服务

搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsftpd -y vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.appspot.com/vsftpd.html],它可能是 UNIX-like 系统下最安全和快速的 FTP 服务器软件. 启动 VSFTPD 安装完成后 VSFTPD

邮件服务系列之四基于虚拟用户的虚拟域的邮件系统(安装courier-authlib以及部分配置方法)

要受使用Mutt必须安装一个收邮件的代理,例如dovecot,配置完成之后启动服务, Mutt用户的邮件代理 mutt -f 指定用户的邮箱,路径,一般指定对应的协议即可访问, mutt用户的界面如下所示,是纯文本界面 具体的使用如下所示 #mutt -f pop://[email protected] 出现如下所示的界面,输入对应的密码 登陆以后出现一个界面 根据提示可以进行简单的查看以及收发删除邮件的操作,是一个很方便使用的纯文本的邮件收发系统 虚拟主机,虚拟域 1.web服务器中虚拟主机:

vsftpd基于本地用户和mysql认证配置

虚拟用户认证 vsftp vsftpd软件包仅140KB 官方站点:http://vsftpd.beasts.org/ 主程序:/usr/sbin/vsftpd 服务名:vsftpd 用户控制列表文件 /etc/vsftpd/ftpusers /etc/vsftpd/user_list                    //禁止登录的FTP用户列表, 仅提供一份FTP用户列表,是否禁止登录取决于主配置文件中的设置 主配置文件 /etc/vsftpd/vsftpd.conf ftp的典型消息

vsftpd+pam_mysql 虚拟用户配置

公司项目需求: 我们公司是化妆品电子商务公司 1.搭建一台ftp服务器用于上传包裹快递面单图片,实现基本的上传下载功能 2.vsftpd通过虚拟用户登录,可以外网访问 3.限制虚拟用户登录ip 4.虚拟用户相关配置文件可以界面操作添加.修改等,而且要及时更新 下面主要是1.2两步实现步骤及注意事项 3.4两步在另一篇博客里有详细的说明及代码(vsftpd+pam_mysql+shell) 安装pam_mysql  (请一定要安装,下面安装vsftpd错误3给出了解释)这里没有给出mysql的安装

Centos FTP服务器的原理以及虚拟用户的配置

前面笔者写过一篇"FTP本地用户"随笔,那只是一个案例,并没有完整的写出来作用.配置文件解析和原理,今天笔者将发布"FTP服务器的原理以及虚拟用户的配置"随笔 FTP服务的原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文件传输协议,FTP协议是现今使用最为广泛的网络文件共享协议之一 现在也一直有在用着FTP协议来进行各种文件的传输,FTP为人们提供了一种可靠的方式在网络上进行文件的共享 FTP是C/S架构的服务,拥有一个

Pure-FTPd实现基于虚拟帐号访问的FTP服务器

Pure-FTPd是一个免费的(BSD),安全的,符合标准的FTP服务器.它可以基于web页面进行管理,管理起来非常方便和高效:同时,它支持虚拟用户进行访问,大大提高了它的安全性.它提供了共同的需求,简单的答案,再加上独特的有用的功能,为个人用户和主机提供商. Pure-FTPd可以支持多种操作系统(Linux, OpenBSD, NetBSD, DragonflyBSD FreeBSD, Solaris, Tru64,Darwin, Irix,HPUX,AIXand iPhone.),支持多种