APP下载

基于中职教学的vsftp服务的应用研究

2020-10-20洪焕江

数码设计 2020年9期
关键词:云计算大数据

洪焕江

摘要:随着科技日新月异,时代步伐的高速向前,互联网作为该时代的产物,已经渗透到社会人们生活的各行各业。伴随着互联网技术不断提高,我国逐渐步入“大数据、云计算”时代。在“大数据、云计算”时代的今天,为中职计算机网络专业开设《cetos7操作系统》这门课程,以就业为导向为学生打下坚实的基础。centos7作为目前流行的新版本的linux系统,需要老师和学生一起去不断地努力研究和学习,解决各类问题,以提高自身的技术水平。本文以vsftp的应用进行研究和学习为切入点,解决搭建vsftp服务器过程碰到的各类问题。

关键词:大数据、云计算;centos7;vsftp

中图分类号:G712 文献标识码:A 文章编号:1672-9129(2020)09-0050-02

1 研究学习的必要性

1.1 centos系统版本更新后内容变化大。centos7由centos6升级而来,在原有的centos6版本基础上进行了很大的改变。单纯的以旧版本的内容去与学生教学,则会抛弃新知识,效果会适得其反。

1.2 centos开启全命令学习模式,难度大,拦路虎多。中职计算机专业学生英文基础差,理解能力弱,加上centos7以全命令的方式学习,命令之多数不胜数,使教师学生无从下手。另外学习centos服务过程中的拦路虎多,单就一条命令足以影响整个实验结果,探索与学习也是迫不及待的。

1.3 cnetos7为目前主流操作系统,安全性较好。与windows系统相比,centos7既免费,系统安全性又较高。就当前而言,绝大多数的网络服务器基本上使用linux操作系统。而vsftp作为该系统的一项常用的服务功能,仔细研究和学习也是不可或缺的。

以下将以vsftp服务器的搭建过程为例,基于中职学生的学习,对centos7中的vsftp的应用进研究和学习。

2 研究学习理论知识,实践部署vsftp服务器

2.1vsftp介绍。ftp也叫文件传输协议,是计算机中最早出现的服务之一,是一个tcp协议,其功能是在服务器与客户端之间进行文件的上传和下载。简单地说ftp就是实现两台计算机之间的拷贝。而vsftp(very secure file transfer protocol)则是centos7系统中一种非常安全的ftp协议,它所使用系统服务为vsfpd服务。它主要由三种登录的访问方式,分别是匿名用户登录、本地用户登录和虚拟用户登录,以下主要围绕这三种登录方式进行研究分析。

2.2vsftp服务的部署。在搭建vsftp服务器之前,首先需要对该服务器进行部署。所谓部署,就是在搭建vsftp之前需要为其进行的一系列的准备工作,一般主要由以下几个步骤。

(1)安装vsftpd服务。

yum install vsftpd -y

(2)手工啟动vsftpd服务。

systemctl start vsftpd

(3)vsftpd开机自启动设置。

systemctl enable vsftpd

(4)检查服务是否已经启动。

systemctl status vsftpd

(5)设置防火墙,使用户能够访问服务器的vsftp服务。

①关闭selinux

setenforce 0

②防火墙开放ftp端口

firewall-cmd --add-service=ftp --zone=public

2.3主配置文件及相关说明

(1)vsftp主配置文件

在vsftp配置中,有一个最重要的文件,即主配置文件,其包含该服务所有的配置信息(默认的服务配置信息和自定义的服务配置信息)。vsfp服务安装后,其主配置文件保存在目录etc/vsftpd下,文件名为/vsftpd.conf。

(2)控制列表文件

控制列表文件,通俗地说,就是用户登录的黑白名单。这里主要有两个文件,一个叫ftpusers文件,另一个叫user_list文件。

①ftpusers文件

ftpusers文件只能作为黑名单存在,也就是说只要在此文件中的用户名单,则是被拉入了vsftp登录时的黑名单,不能登录vsftp,此文件可以进行修改。

②user_list

user_list文件既可以做黑名单,也可以做白名单,具体需要和主配置文件匹配操作。当其为白名单时,若以上两相文件中有相同用户名时,则是属于黑名单,同样不能登录ftp的,

3 探索学习vsftp服务搭建

3.1以匿名用户的方式登录。使用匿名用户的登录时,用户名一般为anonymous或ftp,密码为空或以邮件的形式。默认情况下,部署好vsftp后,匿名用户匿名只能下载,不能上传,主配置文件中默认匿名用户访问的目录为/var/ftp。当对匿名用户登录有特殊需求时,如需要匿名用户可以上传文件时,那么需要按如下操作步骤进行配置。

(1)修改主配置文件vsftpd.conf

①开启匿名用户上传功能

anon_upload_enable=YES

②允许匿名用户对目录及文件具有写的功能

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

(2)设置主目录权限

①去掉匿名用户主目录的写权限,只有把主目录的写权限去掉,匿名用户才允许登录ftp。

chmod a-w /var/ftp

(2)/var/ftp/目录没有了写权限,上传文件就不可以在主目录下,所以需要建立一个子目录pub,并给它添加权限,匿名用户就只能在子目录pub中上传和下载。

chown ftp /var/ftp/pub

②以本地用户的方式登录。部署完vsftp后,本地用户默认情况下与匿名用户不同,它登录后既具有下载权限也具有上传权限。假设以本地用户user为例,使用user用户登录后,它的主目录为/home/user。但是当user用户登录后,可以随意切换到该服务器的各个目录(包括根目录),此时便存在着一个重大的安全隐患。为了消除隐患,一般需要让本地用户登录vsftp时进行家目录锁定,使该用户不能切换到家目录以外的其他目录。以下为具体操作步骤。

(1)在主配置vsftpd.conf中把以下几行注释去掉

①开启对本地用户chroot的限制,YES为默认所有用户都不能切出家目录,NO代表默认用户都可以切出家目录。

chroot_local_user=YES

②启用特殊例外用户列表

chroot_list_enable=YES

③指定存放特殊例外用户的列表位置。

chroot_list_file=/etc/vsftpd/chroot_list

(2)在目录/etc/vsftpd/下创建文件chroot_list文件,把需要例外的用户添加到此文件中,此处可以理解为白名单,即放入文件的用户为可以切换出家目录。对于此列表,需要结合上文匹配使用。当chroot_local_user的值是YES则该文件中的用户是可以切出家目录,如果是NO,该文件中的用户则能不出家目录,一行只能写一个用户。

(3)更改目录权限,若以本地用户user为例。

①去除主目录user的写权限

chmod u-w /home/user/

②添加子目录ftp,并设置写权限

chown ftp /home /user/ftp

若要在使家目录/home/user可以具备写的权限,也可以在主配置文件vsftpd.conf中添加命令allow_writeable_chroot=YES来代替家目录权限的设置。

(4)对于本地用户的登录,也可以通过ftpuser和user_list这两个用户列表文件来控制访问。

2.3以虚拟用户的方式登录

(1)ftp使用过程中的安全问题

ftp在操作使用中暴露出以下众多的问题:

①ftp在传输过程中,是以明文的方式进行的,当客户端采用本地用户登录时,那么会直接将服务器的本地用户暴露在互联网中,如果没有相关的安全设置,ftp客户端用户会使用本地用户去登录你的计算机。

②其次需要大量的ftp用户账户时,管理员则必须创建大量的本地用户,又给安全带来了不小的挑战。

综上所述,其实如果ftp登录的用户不是本地系统真实存在的用户,那么系统的安全问题就能够解决了,这就引出了虚拟用户。

(2)虚拟用户方式登录的操作

在创建虚拟用户后,给每个虚拟用户单独建立目录,并建立自己的配置文件,这样每个用户都可以单独来配置自已的权限,并可以单独指定上传目录。详细地操作可以按如下进行。

①添加虚拟用户及口令文件

在/etc/vsftpd/目录下创建vuser.txt文件,此处文件名可以任意,存放文件位置也任意,并在文件中添加一行用户名一行密码。

vim /etc/vsftpd/vuser.txt

aa

123

bb

123

②把新建立的虚拟用户名和密码打包生成数据库文件,并赋予600权限。

db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

chmod 600 /etc/vsftpd/vuser.db

③编辑vsftpd的PAM认证文件,文件位于目录/etc/pam.d/下,清空文件中所有的内容,只添加以下两行。

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

其中lib64代表64位系统。

④把虚拟用户和本地用户user(假设存在user本地用户)进行关联,创建宿主目录vftproot并赋予权限。

useradd -d /home/vftproot -s /sbin/nologin user

chmod 755 /home/vftproot

⑤修改主配置文件vsftpd.conf。

allow_writeable_chroot=YES #這样可以避免主目录需要去除写的权限。

guest_enable=YES #开启虚拟用户

guest_username=user#映射虚拟用户至本地用户

user_config_dir=/etc/vsftpd/vusers_dir#指定虚拟用户配置文件存放位置

pam_ service_name=vsfpd pam #认证文件

⑥建立存放虚拟用户配置文件的主目录

mkdir /etc/vsftpd/vusers_dir

⑦在vusers_dir目录下为每个虚拟用户建立各自的配置文件。若没有为某用户创建其配置文件,则这一用户是依据主配置文件的全局配置为准。以下给aa用户添加配置文件。

vim /etc/vsftpd/vusers_dir/aa

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/tmp/aa #給aa指定独立的上传目录。

⑧建立user用户上传目录,并添加权限。

mkdir /tmp/aa

chown user /tmp/aa/

⑨重启vsftpd服务并测试

systemctl vsftpd restart

配置完后可以达到如下效果:

(1)禁止匿名用户登录(配置文件修改)

(2)禁止本地系统用户登录(pam文件修改)

(3)允许虚拟用户登录(配置文件修改)

(4)aa的上传目录是/tmp/aa,并且允许看,下载,上传

(5)如果bb用户没有定义上传下载的主目录,则bb用户上传目录是虚拟用户的默认目录/home/vftproot,只能查看,下载,而不能上传。

4 结语

本文基于中职学生的基础以及需要达到的知识层面,通过对vsftp服务器搭建学习中存在的各类问题,系统的罗列出vsftp三种登录方式在搭建服务器时详细过程。当学生在学习过程中触类不同的登录方式时,理解剖析,积极应对,冷静处理。通过vsftp服务的研究探索,进一步强化对centos7系统服务的掌握,努力提升学习兴趣,扩大知识层面,为跨入“大数据、云计算”的大门打下坚实的基础。

参考文献:

[1]高志君.Linux系统管理与服务器配置(基于CentOS7)[M].北京:电子工业出版社.2018.

[2]唐乾林,黎现云.Linux基础与服务配置(基于CentOS7.6)[M]北京:人民邮电出版社2019.

猜你喜欢

云计算大数据
志愿服务与“互联网+”结合模式探究
云计算与虚拟化
基于云计算的移动学习平台的设计
大数据环境下基于移动客户端的传统媒体转型思路
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用
基于大数据背景下的智慧城市建设研究
数据+舆情:南方报业创新转型提高服务能力的探索