linux资源共享课,基于Linux的教学资源服务器构建

摘要:教学资源共享是信息化校园最主要的功能之一。基于Linux服务器平台,整合Web及FTP服务,设计教师账号及目录以配合权限控制,构建适用于教学的资源服务器。是实现这一功能的有效手段。利用FTP进行文件传输、Web服务器建立目录浏览界面。Quota控制磁盘空间分配。实现教学资源共享厦学生作业上传两大功能。此外,通过Perl脚本语言。实现了用户账户创建及管理的自动化。以便日常维护。经过某院实际服务器长期稳定运行,证明了这一方案的有效性。

随着计算机及互联网技术的发展。信息技术已经渗透到各行各业。其中,校园信息化发展非常迅速。大多数学校都建有计算机教室和多媒体教室。并建立了校园网。校园的信息化使得传统手写黑板的教学方式逐步转为计算机多媒体教学,教学的素材、课件,甚至学生的作业也逐步数字化、电子文档化。笔者介绍一种基于Linux平台,使用FTP、Web、Quota等技术构建适用于教学的资源服务器。教师可以把教学大纲、课件、资料都上传到服务器,上课时可以从服务器直接下载到教室电脑。一方面可以避免使用U盘带来的病毒危害。

同时也为学生下载课件等提供了很大的方便:而学生可以上传作业到服务器,免去了以往通过E-mail或U盘提交作业的繁琐过程。

1 需求分析

该服务器主要有两大功能:资源共享及学生作业上传。

对于教师,需要上传课程资料以及下载学生作业;对于学生。

需要查找浏览教师课程资料,下载资料及上传作业121.用数据流图(DFD)描述如图1所示。

c433b51d0554e884136fc5e3ce333616.png

图1 数据流图

2 总体设计

2.1 服务器操作系统及应用软件选型

1)服务器操作系统服务器的操作系统。常用的有Windows2003及Linux。Linux因为它的低廉、出色的性能以及高稳定性。以及大多数应用软件可以免费获得,越来越被用作服务器操作系统。Linux有许多不同的发行版本。其中Ubuntu系列具有强大的软件包管理系统和服务器软件支持,是一个非常适合用在服务器上的版本。

2)Web服务器软件Apache是世界使用排名第一的Web服务器软件。Apache的特点是简单、速度快、性能稳定,并非常适合在Linux平台上运行。

3)FTP服务器软件Proftpd是实现了一个安全且易于配置的FTP Server。Proftpd能够根据不同的账号与目录来限定其访问权限田。

4)Quota服务器软件Quota是Linux下的一个实现磁盘配额的软件。它能够设定每个用户的磁盘配额。防止用户无限制地使用磁盘空间。它可以从两方面指定磁盘的储存限制:使用者所能够支配的索引节点(Inodes)数量或使用者可以取用的磁盘区块数量。

表1服务器操作系统及应用软件选型

0fb5e8ca37b68bb60aadb4844a4eedfc.png

2.2 账号和目录的设计

服务器用户账号和用户目录的设计。需充分考虑对目录访问权限的控制。根据需求。须保证两点:

1)教师可以上传、下载、删除其课程资料和学生作业。

2)学生只能够下载课程资料和上传作业。

因为eroftpd是根据用户账号或用户所属组设定对不同的目录的访问控制。因此设计如下:

2.2.1 账号的设计

每个教师应拥有一个账号用于上传和下载文件。此账号为教师私有,带密码,而每个教师对应有另一个账号,让学生使用这个账号来下载此教师的课程资料和上传作业。因此,每个教师都对应两个账号,一个私有,带密码的;一个向学生公开。不带密码。教师私有账号可用教师姓名全拼音命名,如huangpeican;公开账号可在私有账号后加字母s以区分,又方便学生记忆。如huangpeicans.教师的私有账号属于teacher这个用户组。公开账号属于STudent这个用户组。因为根据不同的账号。系统可以判断其所属是teacher组还是student组,Proftpd从而根据其所属的组,进行不同的权限控制饵,如表2所示。

表2 账号设计

3ffb04fe0215e0748976249e50166f9f.png

2.2.2主目录的设计

教师主目录指用教师的私有或公开账号通过FTP直接登录到的目录,用于存放课程资料和学生作业。Proftpd通过结合账号与目录来进行权限控制。不同的账号可以有不同访问权限。而同一个账号对不同的目录亦可以有不同的访问权限四。因此在教师主目录下分别建立两个目录:"资源共享"和"学生作业"."资源共享"目录用于存放课程资料,.学生作业"目录用于存放学生作业。基于这样的目录设计。通过配置Proftpd.对两种不同属组的账号(teacher组和student组)进行不同的访问权限控制。如表3所示。

表3目录设计

7aa7facdd999c516484e783539873637.png

2.2.3 Web浏览目录设计

Web浏览目录是指用测览器可以直接访问到的目录。通过这个目录查找所有教师的课程资料。实现查找浏览的功能。因为不希望让教师主目录下的。学生作业"目录通过Web来访问,所以在Web服务器文档根目录(DocumentRoot)中创建到每个教师。资料共享"目录的符号链接(symbolic link)文件。并以教师姓名命名。

3 服务器构建

服务器的构建分为3个阶段:第一阶段Linux系统安装。

第二阶段用户账号、目录及磁盘配额的配置,第三阶段服务器软件安装配置。如图2所示。

245f5e9aeb93e1dc0fcb6f6eb2387817.png

图2 服务器构建实施过程

3.1 Linux系统安装

第一实施阶段的总体目标是建立一个合适、稳定、软件安装方便的Linux服务器,并安装SsH服务器使得后续工作可以通过远程连接方式进行。

1)安装Ubunm Linux服务器

下载Ubuntu 8.04发行版本的IOS镜像文件。刻录到光盘,并安装。

2)软件升级

设置更新源。尽量选用国内的源,

63ddf491d69bc153611d45c523c679c6.png

3)安装SSH服务器,用于远程登录。

94494bd40269a4d12a7f6782ca2d70f2.png

3.2用户账号、目录及磁盘配额的配置

第二实施阶段的总体目标是建立用户、组及相关目录,并设置目录属主及属组、用户磁盘配额。这个阶段需要进行Perl的安装及应用编程。

a4065d46b1f164e2571940f48b0103c7.png

3)用户管理,目录权限设置。建立教师账号。设置相应的主目录及目录权限。这个工作很繁琐,重复性高,因此使用Perl脚本程序自动进行,提高效率。

①建立教师主目录的上级目录。

06dcec24fdbbb67488019187d60c3bbb.png

②建立一份由"username"、"chinesename"、"passwd"、.dONe"4个字段组成的教师信息文件teaching。conf。在里面录入教师的账号名、姓名、密码及处理完与否标志。

③编写Perl脚本。Perl是一种设计成可以把简单工作简单化,同时又不失去处理困难问题能力的语言。它可以很容易操作数字,文本,文件和目录以及运行外部程序,因此非常适合编写脚本程序,提高管理效率。程序流程图如图3所示。

8619e067217fb7dcfad1f0edae5a628c.png

图3程序流程图

70a5b203783de591f615becbda5f4bb7.png

3.3服务器软件安装配置

第三实施阶段的总体目标是安装配置Web、FTP服务器。

3.3.1 Web服务安装配置。

ced6efe85905cd33f7575046d92f1ed6.png

3.3.2 FTP服务安装配置。

8c8163831377c87df75fb61885de2baf.png

4总结

教学资源服务器主要的功能是资源共享。资源共享必须解决文件的存取、查找浏览等问题。笔者提出一种基于Linux平台。使用FTP、Web、Quota等技术构建的适用于教学的资源服务器的设计思想。利用兀甲进行文件的传输,Web服务器建立目录浏览界面。Quota控制磁盘空间的分配,实现了教学资源共享及学生作业上传的两大功能。通过给每个教师配置私有账号和公开账号。并针对"资源共享"和"学生作业"目录进行FTP权限控制。防止学生下载作业及破坏课程资料。由于服务器系统是基于Linux平台。系统的性能及稳定性得到很好的保证、软件安装配置简单。在使用上也非常方便,使用IE浏览器以HTTP或FTP方式即可访问教学资源。而无需安装任何客户端软件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现在Linux系统上上传文件到Windows服务器上,可以通过使用Java的SMB协议相关的库来实现。 SMB(Server Message Block)协议是Windows操作系统上的一种网络通信协议,用于在网络上共享文件、打印机等资源。为了在Linux系统上使用SMB协议来上传文件,可以使用jcifs库。 首先,需要在Java项目中引入jcifs库的依赖,以便使用SMB相关的类和方法。具体的引入方式可以根据使用的构建工具来实现,比如使用Maven可以在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>jcifs</groupId> <artifactId>jcifs</artifactId> <version>1.3.19</version> </dependency> ``` 接下来,需要编写Java代码来实现上传文件的逻辑。以下是一个简单的样例代码: ```java import jcifs.smb.*; import java.io.*; public class FileUploader { public static void main(String[] args) { String sourceFilePath = "/path/to/local/file.txt"; // 本地文件路径 String destinationFilePath = "smb://windows_server_ip/shared_folder/remote_file.txt"; // Windows服务器共享文件夹路径 NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, "username", "password"); // Windows服务器的用户名和密码 SmbFile sourceFile; try { sourceFile = new SmbFile(sourceFilePath); SmbFile destinationFile = new SmbFile(destinationFilePath, auth); destinationFile.createNewFile(); // 创建目标文件 // 打开文件输入流和输出流,进行文件拷贝 try (InputStream in = new BufferedInputStream(new FileInputStream(sourceFile)); OutputStream out = new BufferedOutputStream(new SmbFileOutputStream(destinationFile))) { byte[] buffer = new byte[4096]; int len; while ((len = in.read(buffer)) > 0) { out.write(buffer, 0, len); } System.out.println("文件上传成功!"); } catch (IOException e) { e.printStackTrace(); } } catch (MalformedURLException e) { e.printStackTrace(); } } } ``` 在上述代码中,需要替换`sourceFilePath`为待上传的本地文件路径,`destinationFilePath`为Windows服务器共享文件夹的路径,以及`username`和`password`为Windows服务器的用户名和密码。 通过以上代码,就可以实现将文件从Linux系统上上传到Windows服务器上的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值