Linux平台下java程序员的基本功(三)

一、安装vsftpd和LeapFTP,并做相关配置

1、先扫盲

(1)何为vsftpd?
如果你想在你的Linux/Unix服务器上搭建一个安全、高性能、稳定性好的FTP服务器,那么vsftpd可能是你的首选应用。vsftpd意思为“very secure FTP daemon(非常安全的FTP进程)”,是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux、BSD、Solaris、HP-UX以及Irix等系统上面。vsftpd支持很多其他传统的FTP服务器不支持的良好特性。

(2)何为ftp?
FTP的全称是File Transfer Protocol(文件传输协议),顾名思义,就是专门用来传输文件的协议。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着 FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。


2、验证vsftpd是否安装

在安装redhat的时候,如果我们勾选了vsftpd相关选项,那么系统中这个时候已经带了vsftp,就不需要再手动安装了,否则,我们需要手动安装。

如何验证?

打开putty(上节介绍过,不懂点我),连接上远端linux服务器
命令行下输入:rpm -qa| grep vsftpd
如果已经安装就会出现vstfp的版本号相关的信息,如果没有出现就是没有安装

如果未安装,那就得选择安装方式了。

(1)用安装盘安装

插入Red Hat Enterprise Linux 5安装光盘( 第二张光盘) ,使用如下命令 :

1)先把光盘挂载到系统上:

mount /dev/cdrom /mnt
这样光盘的内容就被挂载到/mnt的设备上,现在可以通过/mnt访问光盘上的内容了

2)在光盘上安装vsftp,并且启动vsftp

rpm  -ivh vsftpd*

3)修改启动方式,改为系统启动时,自动启动

chkconfig vsftpd on
也可以查看启动方式
chkconfig --list |grep vsftpd
只要在第2--5为on就能随机启动

4)启动ftp

service vsftpd start

5)连接测试

windows+r打开windows的命令行,输入ftp 服务器ip,例如ftp192.168.40.128

如果出现
连接到……等字样,说明安装成功。


(2)用下载包安装(注:该方法摘自 http://os.51cto.com/art/201008/221989.htm,由于方法1很容易安装,所以并未验证该方法,但理论可行)

比如我们下载的是 vsftpd-2.0.3.tar.gz ;

[root@localhost ~]# tar zxvf vsftpd-2.0.3.tar.gz
[root@localhost ~]# cd vsftpd-2.0.3
[root@localhost ~]# make ;make install     (这里应该需要GCC,后面我们会提到它的安装方式)
[root@localhost ~]# cp vsftpd.conf /etc
然后修改/etc/vsftpd.conf ,在配置文件的最后一行加入下面一行;

listen=yes
源码包安装的方法,如果您的系统是RPM包管理的系统,可以删除/etc/xinetd.d/vsftpd 这个文件;然后启动xinetd 服务器;

[root@localhost ~]# /etc/init.d/xinetd restart
停止 xinetd:                                              [  确定  ]
启动 xinetd:                                              [  确定  ]
vsFTPd运行有两种模式,在RPM包管理的系重审统,大多是由Fedora/Redhat 开发而来,对于这样的系统有xinted服务器一说;对于非RPM包管理的系统,一般没有xinted这一说。为了保证本文档的统一,我们都不要用xinetd模式,而用initd运行模式来启动和管理服务器,也就是独立运行模式。

相关阅读:什么是xinetd模式和initd模式?

像其它守护程序一样,vsftpd提供了standalone和inetd(inetd或xinetd)两种运行模式。简单解释一下, standalone一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,因此经常应用于对实时反应要求较高的专业FTP服务器。inetd恰恰相反,由于只在外部连接发送请求时才调用FTP进程,因此不适合应用在同时连接数量较多的系统。此外,inetd模式不占用系统资源。除了反应速度和占用资源两方面的影响外,vsftpd还提供了一些额外的高级功能,如inetd模式支持per_IP(单一IP)限制,而 standalone模式则更有利于PAM验证功能的应用。

xinetd模式和standalone模式的区别

以xinetd模式运行的服务表示该服务进程并不以守护进程执行,以FTPD进程为例吧,以xinetd模式运行这个服务,情况是这样的,本身FTP服务是会监听21号端口的,但是以这种模式运行这个服务的话,21号端口则由xinetd进程来监听(此时FTPD服务并没有运行),如果你的网卡接收到有21号端口请求,则有xinetd进程会去调用FTPD程序,将在21号端口接收到的请求数据移交给FTPD进程去处理,处理完后FTPD进程退出,而xinetd进程继续监听21号端口,这有点类似windows的svhost进程;而以 standalone模式运行的服务则是服务进程,如ftpd以守护进程在内存中运行,接收到21号端口的请求后由FTPD进程fork出一个子进程进行处理,而原进程继续监听21号端口。

¥xinetd运行模式

大多数较新的系统采用的是xinetd超级服务守护进程。使用“vi /etc/xinetd.d/vsftpd” 看一下它的内容,如下:

disable = no 
socket_type = stream
wait = no
# 这表示设备是激活的,它正在使用标准的TCP Sockets。
如果“/etc/vsftpd.conf”中的有选项为“listen=YES”,注销它
最后,重启xinetd,命令如下:
$ /etc/rc.d/init.d/xinetd restart
需要注意的是,“/etc/xinetd.d”目录中仅能开启一个FTP服务。

¥standalone模式

standalone模式便于实现PAM验证功能。进入这种模式首先要关闭xinetd下的vsftpd,设置

“disable = yes”,或者注销掉“/etc/inetd.conf”中相应的行。然后修改“/etc/vsftpd.con

f”中的选项为“listen=YES”。

如果是standlone模式,那么它是作为单独的一个服务启动的,不需要系统协作,不作为系统服务,  

如果要是成为xinetd模式,那么它的服务就要受系统服务的限制,比如创建一个新的服务进程,但是也有缺点,如果xinetd服务本身出了问题,那么相关的服务也是会受到影响的。
 
--------------------------------------------------------------------------
可能会遇到的问题
¥vsftpd匿名用户不能上传文件和删除
¥root用户无法登陆

这就需要我们vsftp进行简单的配置

3、vsftpd配置

主配置文件有三个:
/etc/vsftpd/vsftpd.conf
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list


修改前建议使用“cp”命令备份这三个文件,修改完成后需要重启vsftpd服务才能使设置生效。

匿名用户访问配置
¥启动后FTP服务器就可以登陆了
  匿名用户在text模式下,要用用户名ftp,密码也是ftp,来进行登陆;如果是用FTP工具来匿名登陆的话,用户名和密码都为:anonymous。默认情况下匿名用户可以访问和下载,但不能进行上传、删除、新建目录、执行文件等操作!
  本地用户可以登陆,并可以离开自家目录至有权访问的其他目录,并在权限允许的情况下进行上传和下载,写在文件/etc/vsftpd.ftpusers中的本地用户禁止登录。

¥允许匿名用户上传文件
需要修改/etc/vsftpd/vsftpd.conf文件,把以下两项前的“#”去掉。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
重启vsftpd服务。

¥仅允许匿名用户访问
指需要限制本地账号访问,修改/etc/vsftpd/vsftpd.conf文件,把以下两项前的“#”去掉。
local_enable=YES
write_enable=YES
重启vsftpd服务。

¥设置欢迎信息
修改/etc/vsftpd/vsftpd.conf文件
ftpd_banner=*****
*****即为设置的欢迎信息。
重启vsftpd服务。

¥设置最大传输率
修改/etc/vsftpd/vsftpd.conf文件
设置匿名用户的最大传输速率为20Kbps,应添加以下语句:
anon_max_rate=20000
设置本地账号的最大传输速率为1Mbps,应添加以下语句:
local_max_rate=1000000

¥设置服务器最大并发数和用户最大线程数
修改/etc/vsftpd/vsftpd.conf文件
设置服务器最大并发数为99,应添加以下语句:
max_clients=99
设置用户同一时段的最大连接数,应添加以下语句:
max_per_ip=5

¥禁止某些IP段的主机匿名访问服务器
修改vsftpd.conf文件,确认有如下语句:
tcp_wrappers=YES
修改/etc/hosts.allow文件,增加1行命令:
vsftpd:192.168.1.1:DENY
表示限制IP为192.168.1.1的主机访问FTP服务器。
重启vsftpd服务。

¥用ASCII方法传送数据
修改/etc/vsftpd/vsftpd.conf文件,
ascii_upload_enable=YES
ascii_download_enable=YES
重启vsftpd服务。

¥设置数据传输中断间隔时间
修改/etc/vsftpd/vsftpd.conf文件,
idle_session_timeout=600
表明空闲会话时间为600秒。
data_connection_timeout=120
表明数据连接超时时间为120秒。
重启vsftpd服务。

本地用户访问配置


¥使用用户列表进行访问控制
修改/etc/vsftpd/vsftpd.conf文件,按以下语句设置:
userlist_enable=NO
表明vsftpd.ftpuser文件中的用户将被禁止访问FTP服务器。
userlist_enable=YES
userlist_deny=NO
表明仅允许vsftpd.user_list文件中的用户访问FTP服务器。
userlist_enable=YES
userlist_deny=YES
表明vsftpd.ftpuser和vsftpd.user_list文件中的用户都不能访问FTP服务器。

¥限制用户目录的访问权限
修改/etc/vsftpd/vsftpd.conf文件
chroot_local_user=YES
表明用户登录后不能访问自己目录以外的其它目录或文件。

¥修改默认端口
FTP服务器默认的端口是21,如需要修改端口,请修改/etc/vsftpd/vsftpd.conf文件,以下语句:
listen_port=4444
表明FTP服务器的端口号为4444,应该尽量大于4000


3、安装leapFtp

接着扫盲
(1)何为LeapFTP?
LeapFTP是一款小巧强大的FTP工具之一,友好的用户界面,稳定的传输速度,LeapFTP与FlashFXP 、CuteFTP堪称FTP 三剑客。FlashFXP传输速度比较快,但有时对于一些教育网FTP站点却无法连接;LeapFTP传输速度稳定,能够连接绝大多数FTP站点(包括一些教育网站点);CuteFTP虽然相对来说比较庞大,但其自带了许多免费的FTP站点,资源丰富。总之来说,三者各有所长。

google下,下载绿色版,直接解压即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值