基于Vsftpd的安全FTP服务器在计算机基础教学中的应用实践

2013-03-20 07:18:50郇玉龙
科技视界 2013年10期
关键词:文件夹命令账号

郇玉龙

(山东中医药高等专科学校,山东 烟台264199)

1 FTP服务需求

在计算机基础教学中,实践操作是非常重要的环节。这就需要教师给学生分发练习素材或者布置作业,学生将做好的作业保存提交给教师审阅查看。

但是为防止学生插优盘或者使用的过程中传染病毒,目前学校机房基本上都采用保护卡或软件保护系统。这样学生上机时保存在计算机硬盘中的数据将随着每次计算机重新启动而不复存在。学生每次下载的相关软件、所做的作业等下次再上课就没有了,即使是放开部分硬盘分区给学生用来存储数据使用,但每次上课的班级、课程不一样,保存在本地硬盘的数据资料很难保证在下次使用。这样就不能让学生接着上次的课程来完成作业,没法保证教学任务的连贯性。

为此我们可以做数据共享,所使用的一般方法就是利用教师机设置一个共享的目录,使别的用户可以通过网上邻居,方便快捷的查找到共享的数据。此微软的xp系统出现之前,一直比较适用,但是,随着时代的发展和教学实践的需要,计算机的软件也在不断的更新,很多的实验室里面计算机所安装的操作系统也在更新换代,但是其系统又对数据的共享进行了严格的控制,使多个用户共享某一文件的要求无法得到满足。所以,当前高校计算机实验室更为紧迫的任务就是能够找到一种既能保证计算机系统的安全性,又能方便用户存储的方法。

依据FTP协议的FTP服务器用户数据存储方法刚好能够满足这种需要,很好地解决了上述问题。FTP协议是专门被用来规定计算机之间进行文件传输的标准和规则,正是因为有了FTP这样的专门协议,才使得人们能够通过不同类型的计算机,使用不同类型的操作系统,对不同类型的文件进行相互传递。

2 FTP服务器的搭建

2.1 Vsftpd简介

Linux下有代表性的FTP服务软件有Wu-ftp、Proftp和Vsftpd。其中的Vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。Vsftpd是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。Vsftpd是一个UNIX类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

2.2 Vsftpd服务的安装与配置

2.2.1 安装

默认Linux都会安装vsftpd服务,可以在终端执行以下命令,查看系统是否已经安装了Vsftpd软件包。

#rpm-qa|grep vsftpd vsftpd-2.0.5-16.el5_4.1如果出现以上结果,表明已安装vsftpd-2.0.5-16.el5_4.1.i386. rpm。

如果没安装,将[红帽Linux.5.5.for.x86.服务器版].rhel-server-5.5-i386-dvd.iso光盘放入光驱,使用mount命令加载光驱,然后找到vsftpd-2.0.5-16.el5_4.1.i386.rpm安装包,进行rpm安装即可,命令如下。

#mount/dev/cdrom/mnt/cdrom

mount:block device/dev/cdrom is write-protected,mounting readonly

#cd/mnt/cdrom/Server

#rpm–ivh vsftpd-2.0.5-16.el5_4.1.i386.rpm

安装时如果提示用到其他依赖包,需要找到之后分别用rpm命令安装。以下是vsftpd服务启动停止的相关命令。

#service vsftpd start 启动vsftpd服务#service vsftpd stop 停止vsftpd服务#service vsftpd restart重启vsftpd服务#ntsysv或#chkconfig–level 35 vsftpd on更改服务自动加载

2.2.2 基本配置

我校现有计算机授课教师16名,上课班级40多个班级,2000多名学生,同时在线上课两个班级200余人使用。我们使用IP地址为10.0.3.100的服务器作为FTP服务器。

在vsftpd服务器中支持匿名用户,本地用户,和虚拟用户3类用户账号,为增强服务器数据安全性,我们停止匿名服务,所有本地用户不允许进行ftp登录,只使用安全性高的虚拟用户进行ftp登录。为简化配置,在此以一个教师账号huanyulong,两个学生班级账号zhihu1、zhihu2为例进行配置。

使用vi命令,打开vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,修改前最好先备份,命令如下。

#cp/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.bak #vi/etc/vsftpd/vsftpd.conf

为停止匿名用户,设置如下anonymous_enable=NO anon_upload_enable=NO

anon_mkdir_write_enable=NO

因使用本地用户登录会获得其它权限,所以需要禁止某些本地系统账户登录ftp,设置如下

userlist_enable=YES userlist_deny=YES

被禁止的本地用户保存在文件/etc/vsftpd/user_list中。

为使登录后的用户不能切换到自己目录以外的其它目录,从而更有利于FTP服务器的安全管理和隐私保护,需要建立/etc/vsftpd/ chroot_list文件,文件中存放需限定的账号,并设置如下

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

本例我们只使用虚拟用户登录,虚拟用户相关的配置添加如下guest_enable=YES 设置允许虚拟用户登录

guest_username=virtual 设置虚拟用户登录时统一使用的本地用户账号为virtual

pam_service_name=vsftpd.vu 设置虚拟用户认证模块所指向的文件为vsftpd.vu

user_config_dir=/etc/vsftpd_user_conf 设置在/etc/vsftpd_user_conf目录中保存虚拟用户的配置文件

user_sub_token=$USER 设置虚拟用户的工作目录文件夹名字与其账户名相同

其他/etc/vsftpd/vsftpd.conf配置项一般默认即可。

修改保存后,重启vsftpd服务。

由以上配置可知,我们需要用到或创建几个相关的文件。

·/etc/vsftpd/user_list

此文件默认存在,使用vi命令编辑会看到已经存在root、nobody等一些系统账户,然后添加ftp或其他不允许登录的账号。

·/etc/vsftpd/chroot_list

此文件需要自己建立,使用vi命令编辑会看到是个新文件,然后添加需要限定的账号保存即可。此处添加huanyulong、zhihu1、zhihu2三个账号,一行一个账号。

·virtual账号

建立vsftpd虚拟用户所需的系统用户账号,账号名为virtual,指定用户的宿主目录是/home/ftpsite,设置宿主目录的权限为700,命令如下。

#useradd-d/home/ftpsite-s/sbin/nologin virtual

#chmod 700/home/ftpsite/

这样vsftpd服务器中的所有虚拟用户账号登录后都将在/home/ ftpsite目录中,即所有FTP用户的文件和文件夹都存放在/home/ftpsite这个目录中。然后在此目录中创建文件夹huanyulong作为教师的工作目录,学生班级文件夹zhihu1、zhihu2作为学生的工作目录。

·虚拟账号huanyulong、zhihu1、zhihu2

首先,建立虚拟用户的口令文件ftp_logins.txt,文件中奇数行设置虚拟用户的用户名,偶数行设置用户的密码。命令如下:

#vi/etc/vsftpd/ftp_logins.txt

huanyulong奇数行设置虚拟用户名

huanyulong偶数行设置用户口令

zhihu1

zhihu1

zhihu2

zhihu2

:wq 保存退出

然后使用db_load命令生成认证文件。“-f”命令选项设置的值是虚拟用户的口令库文件ftp_logins.txt。命令的参数设置为需要生成的认证文件名如 vsftpd_login.db,该文件放置在目录/etc/vsftpd/下,并应设定其权限为600。如提示没有此命令,需要安装rpm包db4-devel-4.3.29-10.el5.i386.rpm。命令如下

#db_load–T–t hash–f/etc/vsftpd/ftp_logins.txt/etc/vsftpd/ vsftpd_login.db生成认证文件

#chmod 600/etc/vsftpd/vsftpd_login.db

下一步建立虚拟用户所需的PAM配置文件,在/etc/pam.d目录下建立vsftpd虚拟用户身份认证所需的PAM配置文件,名称是vsftpd. vu,内容为:

#cat/etc/pam.d/vsftpd.vu

auth required/lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db =/etc/vsftpd/ vsftpd_login

最后,对不同的虚拟用户设置不同的权限。由以上user_config_dir配置项,可知虚拟用户配置文件存放在/etc/vsftpd_user_conf目录中。使用mkdir命令建立虚拟用户配置文件的保存目录,如下。

#mkdir/etc/vsftpd_user_conf

在/etc/vsftpd_user_conf/目录中可以为每个虚拟用户建立独立的配置文件,配置文件名称和用户名相同。为教师用户建立配置文件huanyulong,并设置该用户具有浏览,下载,上传,改名,删除文件,建立和删除的权限。文件内容如下

#cat huanyulong

anon_world_readable_only=NO 表示用户可以浏览FTP目录和下载文件

anon_upload_enable=YES 表示用户可以上传文件

anon_mkdir_write_enable=YES 表示用户具有建立和删除目录的权利

anon_other_write_enable=YES 表示用户具有文件改名和删除文件的权限

local_root=/home/ftpsite/$USER 表示用户被限定在自己的文件夹下

同理,建立学生班级用户文件zhihu1和zhihu2。通过对以上配置项的组合设置,vsftpd可以为每个虚拟用户配置不同的FTP权限。

至此,我们已经给教师学生分别建好了ftp登录账户,并能登录到自己的文件夹。那教师账号并没有权限访问学生的文件夹,如何实现作业的布置和收发呢?为解决此问题,我们在教师目录下新建子文件夹zhihu1和zhihu2,然后使用mount–bind命令将学生目录挂载到教师目录中,这样教师就能访问学生文件夹了,从而实现作业和任务的布置及提交。操作如下。

#mkdir/home/ftpsite/huanyulong/zhihu1

#mkdir/home/ftpsite/huanyulong/zhihu2

#mount–bind /home/ftpsite/zhihu1 /home/ftpsite/huanyulong/ zhihu1

#mount–bind /home/ftpsite/zhihu2 /home/ftpsite/huanyulong/ zhihu2

至此,FTP服务器端基本设置完毕。

2.3 FTP用户密码的修改

在实际应用中,用户如果需要修改FTP用户密码时,我们可以找管理员在服务器端修改,也可以利用DOS命令自己来进行远程修改。首先启动计算机系统的MS-DOS方式,输入如下命令:

命令格式为:FTP+FTP服务器IP地址。

如:FTP 10.0.3.100,按回车键确认。

此后会出现用户名输入提示:“user”, 键入用户名, 如:“huanyulong”。按回车,出现输入密码提示:“Password”,键入密码后按回车即可登录到服务器中。

然后用户使用如下命令修改密码。

命令格式为:quote site pswd+空格+旧密码+空格+新密码

按回车键确认后出现提示:“230 Password Changed Okay”字样,则表明修改成功。

3 FTP服务在计算机基础教学中的使用

所有的专用FTP客户端程序如CuteFTP、FlashFXP等软件都可以作为教师和学生访问各自主目录、下载和上传保存文件的客户程序。但是因为还需要安装额外的程序,所以我们直接使用“我的电脑窗口”的形式来访问FTP服务器。

首先打开我的电脑,在地址栏中输入FTP://10.0.3.100,回车之后在弹出的窗口中输入教师用户名和密码,点击登录,进入教师文件夹,并可以看到zhihu1和zhihu2两个学生班级文件夹。教师在自己的文件夹中可以存放自己的个人资料,在学生班级文件夹中放置给学生准备的素材,布置作业内容,或者建立子文件夹对资料进一步分类整理。同时,可以访问学生班级文件夹,查看各个学生提交的作业情况。

打开我的电脑,在地址栏中输入FTP://10.0.3.100,回车之后在弹出的窗口中输入学生班级用户名和密码,点击登录,进入学生班级文件夹,可以看到学生自己的文件夹以及授课老师给建立的资料文件夹等。在班级文件夹中学生可以自己创建个人文件夹,以“学号+姓名”的方式命名,学生提交的作业和临时存储的文档均放入各自文件夹内,如图1所示。

图1 学生班级用户文件夹示意图

4 FTP服务在计算机基础教学中的应用效果

FTP服务可以根据需求为师生提供网络资源的上传和下载服务,在实际教学过程中取得了很好的效果。

4.1 解决了计算机机房中的数据传输问题

FTP服务器有效的解决了不同计算机操作系统之间的的数据信息共享和传输问题,对于数据信息的访问用户数量没有限制。解决了计算机机房中硬盘写保护问题,从而使机房防范病毒能力提高,提升了局域网速度。并且类似游戏之类的非教学教研资料也没有可以存放的空间,假如尝试存放,那么很快被发现并及时处理。

4.2 教师布置作业与学生查阅作业更简便、灵活和安全可靠

以往教师上课,学生需要通过优盘等外部设备拷取自己的素材,这样既费时费力,频繁的热插拔设备又会缩短设备的使用寿命。而每次提交作业也会出现排队现象,影响正常的教学秩序。现在有了FTP服务器,为授课教师提供授课素材、上课学生提交作业提供了方便,缩短教师上课时用来传输数据和提交作业的时间,提高了计算机的使用效率,从而大大提高了教学质量。

4.3 有助于教师和学生建立网络资源应用的信息素养

教师用户目录、学生个人目录及公共资源目录为教师和学生在FTP服务器上提供了磁盘空间,其应用灵活,使学生网络应用知识方面的学习更得心应手,有助于教师和学生建立网络服务器应用意识与信息素养,有利于培养教师和学生成为网络应用服务的熟练用户。

[1]李森,任晓娜.Linux下安全FTP服务器的构建[J].科技信息,2008(05).

[2]涂俊英.基于Linux的FTP服务器安全研究[J].信息与电脑,2010(10):15.

[3]梁建国,张斌,王欣伟.基于vsftpd的安全FTP服务器的构建[J].计算机与网络,2009,16:54.

[4]李志刚.FTP服务器在计算机实验室教学中的应用[J].大连轻工业学院学报,2007,26(2);182-184.

[5]林元乖.FTP在计算机实验室管理中的应用[J].琼州大学学报,2005,12(5);52-54.

[6]裴纯礼.FTP文件传送服务及其在教学中的应用[J].中国信息技术教育,2003,12.

[7]陈祥琳.Linux从入门到精通[M].人民邮电出版社,2012.

[8]RHEL5中配置vsftpd搭建FTP服务器[OL].http://bbs.51cto.com/thread-717151-1.html,2010-6-21.

猜你喜欢
文件夹命令账号
磁力文件夹
只听主人的命令
彤彤的聊天账号
施诈计骗走游戏账号
派出所工作(2021年4期)2021-05-17 15:19:10
移防命令下达后
调动右键 解决文件夹管理三大难题
Google Play游戏取消账号绑定没有Google账号也能玩
CHIP新电脑(2016年3期)2016-03-10 14:52:50
这是人民的命令
TC一键直达常用文件夹
电脑迷(2015年1期)2015-04-29 21:24:13
蓝色命令