简易教育云存储系统的搭建过程

2021-11-08 14:36向武刚
科学与信息化 2021年27期
关键词:U盘文件夹账号

向武刚

五峰土家族自治县高级中学 湖北 宜昌 443413

引言

在教学工作中U盘的使用破坏了一体机设备,通过全流程解决方案的详解搭建起局域网存储云生态,以此为契机,解决这个棘手的现实问题。本文重点阐述开源软件FTP软件FileZilla_Server的上传用户名的程序生成方法,对建设局域网存储云也做了全过程的介绍;文章最后反映了在实际的教学应用中,此教育云得到了教师的广泛应用,提高了工作效率,得到了相关使用者的好评。但随着时间的流逝,管理问题随之出现,很多一体机的U盘口被损坏了,原因是绝大多数教师将课件存到U盘里,到教室上课就插上去,次数多了,一体机U盘口也就损坏严重。虽然我们信息中心推荐大家用QQ、钉钉等通信软件传送文件,但在实践过程中老师们仍然觉得在教师一体机上用软键盘输入密码登录很麻烦,再者学校规定教师上课不能携带手机进入教室,也就不能通过摄像头扫描二维码的方式来登录APP,于是老师们就用U盘传输文件。但一体机保修期快要结束,如何让老师们在使用一体机时不用U盘传输课件成了急切需要解决的问题,不然后期设备维修的费用将是一笔不小的开支[1]。

为了解决这种情况,我经过较长时间的摸索,设计出了一个云存储方案,①利用学校已有的服务器资源,在它上面建立一个FTP服务器,在管理端给每个老师生成上传课件资源所用的用户名与密码,并且为老师下载课件文件建立一个名为anonymous、密码为空的匿名账户;同时在上传根目录下建立好以教师中文名命名的文件夹;②教师在FTP电脑客户端通账号与密码登录服务器,上传课件自己的文件夹里,或者删除自己的课件;③新建一个匿名登录FTP服务器的网页文件,并且下发到每个班级的一体机桌面,老师在上课时打开这个网页文件便可以匿名登录FTP服务器,进入教育云空间自己的文件夹里下载课件,避免了使用软键盘输入密码的麻烦。这个方案既保证了上传文件时FTP服务器的安全,也方便了教师在一体机端无障碍的下载课件,服务于教学。整个教育云方案的架构如图1所示。

图1 存储云结构图

在FTP服务器领域,Serv-u软件大名鼎鼎,功能齐全,但好的东西需要购买,所以在了解serv-u后就把它放到了一边。笔者找到了免费的开源FTP软件FileZilla_Server,它有易于使用、多协议支持、多窗口、使用方便等特点。下载9.60-2版本服务端软件,默认安装,安装成功后启动服务,在管理界面里添加teacher组,设置共享目录,分配创建子目录的权限,文件的读取、写入、删除权限。在用户栏里新建用户,将用户分配给teacher组,为该用户设置密码。接着建立一个匿名anonymous账户用来下载课件,此账户的共享目录设置成与teacher组相同。启用FileZilla客户端,输入服务器地址,账号与密码,登录服务器,选择自己的文件夹并上传了课件。通过在一体机运行网页文件匿名登录FTP服务器,下载课件的速度很快,方便程度也好于U盘。但随着方案的向前推进,问题也随之呈现,单位总共有200左右一线教师,需要在FTP服务器新建200左右相应的账号,但FileZilla_Server管理端没有批量建立用户的功能,所以方需要给管理端增加这个功能[2]。

俗话说得好,遇事莫慌,于是进入FileZilla_Server安装目录,仔细分析文件组成结构,查看账号文件。安装目录下有一个FileZilla Server.xml文件,这个文件内容包含FTP服务器的所有配置,以下文件部分内容引起了我的格外注意:

图2 密码格式图

Pass,Salt值是通过算法实现的,通过阅读命名来看,应该与账号密码有关[3]。经过推敲弄明白了这两行代码的含义,Salt值的生成规则是从所有的可见的ASCII字符集中随机选择出64个字符。Pass值是大写的十六进制组成的密码,它的生成规则是密码字符串和Salt值连接后,进行SHA512的散列值计算,计算出的值经过十六进制转换得到。用户在登录时输入用户名和密码,管理端通过以上散列算法计算出一个十六制形式的字符串,与读取FileZilla Server.xml文件得到相应用户的Pass值比较,相同便验证通过。不同则拒绝该用户访问云空间,以下就是批量生成用户Salt、Pass这两个值的C#代码与相关注释:

使用前将C#代码编译生成相应的应用程序,并将应用程序拷贝到“d:1”文件夹里。教师的电话号码作为登录账号,每个号码一行,存储成hm.txt,作为数据源,同时将FileZilla Server.xml文件也拷贝到“d:1”文件夹下。启动应用程序生成教师的账号等内容到FileZilla Server.xml里,最后把FileZilla Server.xml文件拷贝到FileZilla Server安装目录下,重启服务,教师就可以用分配的账号与密码登录FTP服务器了。

批量生成账号的问题解决了,还需要建立以教师的汉语名字来命名的上传文件夹,笔者在这里采用批处理文件建立多个子文件夹的方法,新建有全校教师姓名的电子表格文件,将教师名字放在一列,通过转置函数将列转换成行,并把这个工作表另存为带逗号分隔符的CSV文件,接着将CSV文件修改成BAT批处理文件,编辑这个文件,内容格式为“md张三,李四……”最后将BAT拷贝到FTP服务器teachers组的共享上传目录,运行批处理文件,生成以200个教师姓名命名的文件夹。

接下来做一个教育云说明书,同FileZilla客户端文件一并提供给老师们;将匿名登录的网页文件发送到教室的一体机,学校教育云存储系统就搭建成功了。至此方案的最终目的达到了,保护了一体机U盘口,为学校的可持续发展尽到了微薄之力。

多日的技术上的艰辛探索,使我明白了一个道理,很多的开源者贡献着自己的聪明才智,他们不计名利,开发出各种免费、好用的软件,在我们利用他们的成果来提高工作效率时,需要感恩这些付出的开源者,在他们身上真正体现了科学没有国界的品质,当你在写程序时也尽量做一个分享者,把自己对软件的功能扩充部分无私的贡献出去,服务大众。

猜你喜欢
U盘文件夹账号
玩游戏没账号租一个就行
施诈计骗走游戏账号
Fast Folders,让你的文件夹四通八达
自动辨认插口方向的U盘
让U盘起死回生
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
Google Play游戏取消账号绑定没有Google账号也能玩
不容忽视的空文件夹
U盘“闹肚子”