1. 需求分析
1.1 课题简介
随着计算机互联网的迅速发展,大多数学校已经实现教学的信息化,从传统的黑板教学方式转变为现阶段的多媒体教学,教学的资源,素材课件,甚至学生的作业也都实现数字化,为了实现这一功能,运用课程所学知识,构建一种基于 Linux 系统的教学资源服务器。教师可以把资源上传到服务器,供学生下载,可以把教学大纲、课件、资料都上传到服务器,上课时可以从服务器直接下载到教室电脑,学生也可以上传作业,供给老师批改,从而让教师教学更加便利。
1.2 需求分析
服务器主要实现教学资源共享以及学生作业上传两大功能,并且能针对教师和学生所用账号,对资源共享和学生作业两个目录进行权限控制,使得教师可以上传、下载、删除其资源共享和学生作业目录下的内容,而学生只能下载资源共享目录下的内容和上传作业。
2. 总体设计
2.1 账号和目录设计
每个教师应拥有一个账号用于上传和下载文件,此账号为教师私有,带密码,而每个教师对应有另一个账号,让学生使用这个账号来下载教师的课程资料和上传作业。因此,每个教师都对应两个账号,一个私有,带密码的;一个向学生公开,不带密码。
表 1 账号设计
账号类型 | 所属组 | 密码 |
---|---|---|
私有账户 | 教师 | 123 |
公开账户 | 学生 | 123 |
表 2 目录设计
目录 | 教师权限 | 学生权限 |
---|---|---|
资源共享 | 完全权限 | 查看、下载 |
学生作业 | 完全权限 | 查看、上传 |
2.2 权限控制方案设计
- 每个教师都有一个私人账号和一个公开账号,后者的密码和账号相同
- 每个教师都有对应的“资源共享”和“学生作业”两个目录
- 可通过 FTP 的方式上传和下载文件,权限设置为教师可以上传、下载、删除其资源共享和学生作业目录下的内容,而学生只能下载资源共享目录下的内容和上传作业
3. 服务器构建
3.1 基本系统配置
操作系统:Linux(Ubuntu 14.04.6 LTS)
Web服务器:apache2 (2.4.7)
FTP服务器:proftpd-basic
Samba服务器:Samba
Libtalloc2
3.1.1 软件源服务器地址修改
在路径 /etc/apt/sources.list中编辑下载源服务器
3.1.2 安装Vim
3.2 账号及其对应目录的创建
3.2.1 创建账号
防止ftp用户用终端登录
在/etc/shells上加一行/usr/sbin/nologin
3.2.2 创建目录
设置文件所属组和所属用户
学生加写作业的权限
3.3 FTP服务器安装与配置
3.3.1 软件安装
更新包信息
升级
安装proftpd
查看proftpd状态
3.3.2 服务器配置
sudo vim /etc/proftpd /proftpd.conf
限制student用户组,删除目录(RMD),删除文件(DELE) ,上传(STOR),下载(RETR)
sudo /etc/init.d/proftpd restart
重启ftp服务器
3.4 HTTP服务器安装与配置
3.4.1 软件安装
3.4.2 服务器配置
删除原有的文件,建立软连接
3.5 Samba服务器安装与配置
3.5.1 软件安装
3.5.2 服务器配置
在/etc/samba/smb.conf中配置
创建samba用户
Sudo smbpasswd –a zhangjie
重启samba sudo service sambd restart
在我的电脑中输入192.168.239.128zhangjie然后输入账号密码登录
3.6 shell管理程序的设计与实现
编写namefile.txt文件里面是教师的账号
编写shell.sh
4. 服务器功能测试
4.1 FTP文件传输功能测试
4.1.1 教师私人账号功能测试
教师私人账号拥有对资源共享和学生作业这两个文件夹里面的所有内容的增加和删除功能
4.1.2教师公开账号功能测试
教师的公开账号只能查看并下载共享资源里面的内容,只能上传学生作业,不能删除和下载作业
4.2 HTTP浏览共享资源功能测试
4.3 通过Samba访问共享资源功能测试
在我的电脑上方输入栏输入Samba服务器的ip地址
然后通过账号,密码登录
5. 总结
5.1完成的任务情况和心得体会
教学资源服务器主要的功能基本实现。资源共享需要解决文件的存取、查找浏览等问题。利用FTP进行文件的传输,Web服务器建立目录浏览界面,实现了教学资源共享及学生作业上传的两大功能。通过给每个教师配置私有账号和公开账号,并针对“资源共享”和“学生作业”目录进行FTP权限控制,防止学生下载作业及破坏课程资料。由于服务器系统是基于Linux平台,系统的性能及稳定性得到很好的保证、软件安装配置简单。在使用上也非常方便,使用浏览器或FTP方式即可访问教学资源,而无需安装任何客户端软件。
5.2存在的问题和改进思路
ftp用户可以通过远程终端登录主机,存在安全隐患,可在/etc/shells上加一行/usr/sbin/nologin,新增ftp用户时,设置权限防止ftp用户通过远程终端登录。
ftp只能管理文件的上传,下载,不能管理磁盘的空间存储容量等问题,可能会出现文件过多,空间容量不足的情况,可以安装相应的存储空间管理软件,协助管理。
教师的私有账号有学生作业这个文件夹的全部权限,但是公共账号如果在学生作业上传了一个文件,那么教师的私有账号无法删除这个文件夹,只能通过后期管理员修改权限删除。