导航:首页 > 源码编译 > vsftpd源码包下载

vsftpd源码包下载

发布时间:2022-01-25 16:01:32

⑴ vsftpd只让a用户上传b用户下载c用户可以上传下载,求大神,详细步骤

需要建立虚拟用户,由虚拟用户配置来进一步细化不同权限(如仅上传或仅下载)。
根据用户需求,需要使用虚拟用户,才可进行单独详细设置。
1、安装服务器软件
先使用YUM源安装或者源码编译安装,然后启动VSFTPD服务。
2、生成数据库文件
先创建虚拟用户列表文件logins.txt,添加各个虚拟用户以及对应密码,隔行,单行为用户名称,双行为密码。
然后使用db_load命令生成数据库文件/etc/vsftpd/vsftpd_login.db。
3、设置PAM配置文件
修改VSFTPD服务的PAM配置文件/etc/pam.d/vsftpd
4、修改VSFTPD主配置文件
修改VSFTPD的主配置文件vsftpd.conf
5、创建虚拟用户配置文件
创建虚拟用户对应的本地用户,单独详细的配置各个虚拟用户的配置文件。
6、重启VSFTPD服务
重启VSFTPD服务。

⑵ 虚拟机linux安装vsftpd提示没有安装包怎么办,怎么把安装包放进去

  1. 这么老的版本居然还有人用

  2. 没有安装包 你这个是没yum源 所以只能用其他方式安装

  3. 建议使用rpm 包的安装形式 相对简单一些

  4. 当然你也可以用源码编译安装的方式

⑶ RedHat6.2版本的LINUX怎么安装一个vsftpd.tar.gz包

1.安装
tar xzvf vsftpd-2.0.1.tar.gz
cd vsftpd-2.0.1
make
make install
2.安装配置文件
#cp vsftpd.conf /etc/;
#cp RedHat/vsftpd.pam /etc/pam.d/ftp
3.编辑配置文件/etc/vsftpd.conf
添加:listen=YES
4.启动服务器
#/usr/local/sbin/vsftpd &
mkdir /var/ftp
chmod og-w /var/ftp
5.若打算仅启用/etc/ftpusers文件中出现的用户的话,则要修改/etc/pam.d/ftp中的deny为allow;否则,则出现在文件中的用户为禁止登录服务器的用户。

⑷ chrome 访问vsftpd 不用ftp吗

linux不需要安装vxftpd也可以使用ftp命令(FTP客户端)。

在大多发行版都有打包,请到各大发行版的ftp列表中得到,或者在发行版的安装盘中也能得到。lftp是一个命令行式的ftp客户端。对中文支持较好。如果您在linux 的text模式下,要安装zhcon或者cce之类的。

安装:

1、RPM包管理的系统,请到

http://freshrpms.net
http;//rpmfind.net 上查找lftp的最新包,可以用

#rpm -ivh name.rpm
#rpm -Uvh name.rpm 这是升级之用

2、源码包安装举例:lftp-3.2.0.tar.bz2

#tar zxvf lftp-3.2.0.tar.bz2
#cd lftp-3.2.0
#./configure
#make
#make install

3.调用方法:

lftp ftp://用户名:密码@地址

比如:
[beinan@S01~]$lftp ftp://[email protected]
口令:
lftp [email protected]:~>
lftp [email protected]:~>ls

-rw-r--r-- 1 1000 100 44387 May 18 10:04 xvmain.jpg
-rw-r--r-- 1 1000 100 202643 May 18 09:45 xxx.jpeg
-rw-r--r-- 1 1000 100 0 May 20 10:01 鲨鱼的故事.txt

二、使用方法:

0.简单的用法:lcd 切换本地目录,比如 lcd /opt
get 取回一个文件,put 向ftp服务器传文件;

1、获得帮助:

代码:

lftp [email protected]:~> help
!<shell-command>(commands)
alias [<name> [<value>]]anon
bookmark [SUBCMD] cache [SUBCMD]
cat [-b] <files>cd <rdir>
chmod [OPTS] mode file... close [-a]
[re]cls [opts] [path/][pattern] debug [<level>|off] [-o <file>]
[options] <dirs> exit [<code>|bg]
get [OPTS] <rfile> [-o <lfile>] glob [OPTS] <cmd> <args>
help [<cmd>]history -w file|-r file|-c|-l [cnt]
jobs [-v] kill all|<job_no>
lcd <ldir>lftp [OPTS] <site>
ls [<args>] mget [OPTS] <files>
mirror [OPTS] [remote [local]]mkdir [-p] <dirs>
mole name [args]more <files>
mput [OPTS] <files> mrm <files>
mv <file1> <file2>[re]nlist [<args>]
open [OPTS] <site>pget [OPTS] <rfile> [-o <lfile>]
put [OPTS] <lfile> [-o <rfile>] pwd [-p]
queue [OPTS] [<cmd>]quote <cmd>
repeat [delay] [command]rm [-r] [-f] <files>
rmdir [-f] <dirs> scache [<session_no>]
set [OPT] [<var> [<val>]] site <site_cmd>
source <file> user <user|URL> [<pass>]
version wait [<jobno>]
zcat <files>zmore <files>

如果针对lftp的每个命令的帮助,应该是:

lftp [email protected]:~> help 命令

比如

代码:
lftp [email protected]:~> help get

用法: get [OPTS] <rfile> [-o <lfile>]

Retrieve remote file <rfile> and store it to local file <lfile>.
-o <lfile> specifies local file name (default - basename of rfile)
-ccontinue, reget
-Edelete remote files after successful transfer
-ause ascii mode (binary is the default)
-O <base> specifies base directory or URL where files should be placed

简介:gftp基于gtk的ftp客户端,大家用的也比较多吧,支持中文目录。如果您的gftp不能支持中文,请升级版本。

# Written in C and has a text interface and a GTK+ 1.2/2.x interface
# Supports the FTP, FTPS (control connection only), HTTP, HTTPS, SSH and FSP protocols
# FTP and HTTP proxy server support
# Supports FXP file transfers (transferring files between 2 remote servers via FTP)
# Supports UNIX, EPLF, Novell, MacOS, VMS, MVS and NT (DOS) style directory listings
# Bookmarks menu to allow you to quickly connect to remote sites

下载安装:

在各大发行版中,都有gftp的打包,可以用各发行版自带的工具来安装。我只说源码包安装:

源码包安装,通用于所有发行版,举例说明:gftp-2.0.18.tar.bz2

代码:
[root@S01ftp]#ls -lh

总用量 1.4M

-rw-r--r--1 root root 1.4M 2005-05-21 09:18 gftp-2.0.18.tar.bz2
[root@S01ftp]#tar jxvf gftp-2.0.18.tar.bz2
[[email protected]]#./configure
[[email protected]]#make
[[email protected]]#make install

注:因为gftp依赖gtk,如果不能make过去,您应该指定PKG_CONFIG_PATH

[[email protected]]# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

调用:

代码:

[[email protected]]#gftp

⑸ Fedora 8配置VSFTP

注意在fc5下面可能有些目录是没有的,这个就需要你自己建立了 我们的步骤分为两大步:安装VSFTP和配置VSFTP。

第一步:安装VSFTP
准备:下载VSFTP源码包或VSFTP的RPM包软件,这里我使用的是vsftpd-
2.0.5.tar.gz,这是目前VSFTP的最高版本,需要有root权限。

使用tar.gz源码包安装VSFTP,把下载的源码包放在一个目录下,这里我建一个目
录ftp,所有的操作都在这个目录下进行:
mkdir ftp
把vsftpd-2.0.5.tar.gz复制到目录ftp下:
cp 下载vsftpd-2.0.5.tar.gz放置目录 ftp/
进入ftp目录:
cd ftp
接下来解压
tar zxvf vsftpd-2.0.5.tar.gz
解压之后ftp目录下多了一个名为vsftpd-2.0.5的目录,进入该目录编译VSFTP:
cd vsftpd-2.0.5编译:
make
编译之后目录下多了一个可执行文件vsftpd,
#ls -l vsftpd
-rwxr-xr-x 1 root root 77144 4月 13 21:17 vsftpd
这是vsftp的主程序。因为vsftp默认需要使用"nobody"这个用户来配置,所以你必
须确定你的系统中有这个用户,一般说都会有的,但为了明确起见,执行下述命令
添加nobody用户:
#adser nobody
adser: user nobody exists
因为我的系统里已经有nobody用户了,所以提示该用户已经存在了。
vsftp默认的配置还需要一个空的目录(empty),该目录的绝对路径应该是
/usr/share/empty/,另外若ftp服务器需要匿名用户(anonymous)需要加一个用户
ftp,此用户的要求这样:用户目录设为/var/ftp,它是VSFTP的匿名用户的映射本
地用户,即指anonymous用户在进程中以ftp用户身分运行 进程,但anonymous用户
并不继承了ftp用户的文件权限,它只拥有其他组的文件权限。可使用下述的命令
完成上面的需求:
#mkdir /var/ftp/
#useradd -d /var/ftp ftp
如果你的系统已经存在有ftp用户的话,使用下面的命令更改目录属主和用户目录:
#chown root.root /var/ftp
#chmod og-w /var/ftp
接下来把编译的文件安装到相应目录:
make install
安装之后,在/usr/local/sbin/目录下有vsftpd这个主程序。
在/etc/xinetd.d下也有一个vsftpd配置文件,这个文件是由xinetd守护进程启动
vsftpd的配置文件。另外你不使用xinetd启动vsftp的话,你应该在/etc/目录下加
一个vsftp的配置文件,默认的文件名为/etc/vsftpd.conf,这个文件你可以手动
编辑,但在我们的源码目录里已经有一个样本配置文件了,可以直接修改这个文件
以满足我们的需求,现在把这个样本配置文件拷贝到这个目录下:
#cp vsftpd.conf /etc/
这样在/etc/下有一个配置文件vsftpd.conf了。
我们来测试一下VSFTP是否能够正常运行,我们采取使用独立进程而不是xinetd来
启动VSFTP,这样要在刚才的文件/etc/vsftpd.conf后面加入一行:
listen=YES
加入之后用下面的命令试试启动VSFTP:
#/usr/local/sbin/vsftpd &
[1] 7208
好了,VSFTP已经启动,进程号为7208。
接下来测试FTP(你应该确定你的机器里没有里别的FTP服务软件运行,否则使用相
同的端口会发生冲突):
# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
OK,FTP服务器运行正常,使用匿名用户ftp登陆成功,你也可以使用anonymous代
替用户名ftp,一样可以成功登陆。

使用RPM包安装VSFTP就容易多了,只需要执行下面的命令:
#rpm -ivh sftpd-1.1.3-8.i386.rpm

好了,看来我们的VSFTP至此为止安装得很正确并且运行得非常良好,这样我们可
以进入第二大步:配置VSFTP。

第二步:配置VSFTP
a)使本地用户能登录FTP。按照上面的源码安装配置我们的FTP还不能让本地用户登
录,因为缺少一个认证PAM文件,在源码目录下有一个RedHat/vsftpd.pam认证文
件,把它复制到/etc/pam.d/ftp。
#cp RedHat/vsftpd.pam /etc/pam.d/ftp
测试一下,假设有一个本地用户test,登录FTP:
#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
看来情况很好:)
b)配置匿名用户有浏览,读写,创建目录权限的FTP。这种配置的FTP是极度不安全
的FTP,但在某些FTP网站上可能希望能匿名用户能上传文件,因此有必要讲解一下:
编辑配置VSFTP的配置文件vsftpd.conf,在文件加入下面几行:
anon_world_readable_only=NO //关闭匿名用户只读权限,这个选项是控制匿名用
户只能下载具有可读权限的文件,绝不允许有其他权限,特别是写权限,因此要使
匿名用户有写权限,应该禁止它
anon_upload_enable=YES //匿名用户上传权限开放
anon_mkdir_write_enable=YES //匿名用户写和创建目录权限开放
write_enable=YES //这是VSFTP控制用户改变文件系统的权限的选项,若任何用户
要使用改变文件系统命令(如,读写,删除等等操作)都必须使它开放,默认值是NO
OK,保存后退出。
测试:
#ftp127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put mp3.txt
local: mp3.txt remote: mp3.txt
227 Entering Passive Mode (127,0,0,1,25,17)
150 Ok to send data.
226 File receive OK.
682 bytes sent in 0.00885 secs (75 Kbytes/sec)
测试成功,匿名用户已经有了上传的权限。
几点说明:
1, anon_other_write_enable选项可以使匿名用户删除文件目录,一般不开启。
2,匿名用户要拥有上传的权限除应该在上面VSFTP的配置文件里设置几项之外,还
应该使目录的其他组权限有写的权限。
c)其他的几种有用的配置选项。
1,开启ACSII上传下载传输模式
ascii_download_enable=YES //开启了下载时的ASCII模式数据传输
ascii_upload_enable=YES //开启了上传时的ASCII模式数据传输
因为二进制传输不用进行二进制和ASCII码之间的相互转化,因而速度较ASCII模式
快,VSFTP在默认情况下是不开启ASCII码传输模式的,上述两个语句使ASCII上传
下载传输模式分别开启。
2,更改FTP服务器默认监听端口
listen_port=2121 //改变默认的21端口号为2121
3,设置用户会话的空闲中断时间
idle_session_timeout=300 //连接服务器的用户在5分钟时间内没有任何动作将被
断开,默认为300
4,设置空闲的数据连接的中断时间
data_connection_timeout=300 //数据连接空闲5分钟将被断开,默认为300秒
5,设置客户端空闲时的自动中断和激活连接的时间
accept_timeout=60 //客户端建立PASV模式数据连接空闲1分钟自动中断,默认为60秒
connect_timeout=60 //客户端在中断1分钟后自动激活连接,默认为60秒
6,设置最大传输速率限制
local_max_rate=50000 //本地用户最大传输速率为50kbytes/s
anon_max_rate=30000 //匿名用户最大传输速率为30kbytes/s
若把上述的数值设为0则为不限速,这也是VSFTP的默认值。
7,设置最大客户端连接数
max_clients=30 //服务器最大连接数设为30,默认为0,即不加以限制,安全的
FTP应该加以限制
8,设置客户端连接时的端口范围
pasv_min_port=50000
pasv_max_port=60000
上述语句使客户端连接端口范围在50000至60000之间,这有利于提高服务器的安
全。默认两个值都是0,即不限制,使用任意端口。
9,把用户限制在家目录,即设置chroot()
chroot_local_user
chroot_list_enable
chroot_list_file
要设置chroot(),可以使用
chroot_local_user=YES
上述语句是使全部的本地用户都被限制在家目录,这无法只限制特定的用户,要限
制特定用户,使用下面的方法:
chroot_local_user=NO //关闭本地用户chroot()
chroot_list_enable=YES //开启要设置chroot()用户项
chroot_list_file=/etc/vsftpd.chroot_list //指定要设置chroot()的特定用户
文件,这个文件的格式应该每个用户名占用一行
11,开启进站或进入目录的欢迎或说明性文字
dirmessage_enable=YES //开启目录文字选项
message_file=.welcome //欢迎或说明性文字文件设为.welcome,在默认是.message
这样在目录下建立文件.welcome(默认是.message),在用户进入目录时可把该文件
的内容显示出来。
10,开启FTP服务器的日志功能
xferlog_enable=YES //启动日志记录功能,记录在xferlog_file指明的文件里
xferlog_file=/var/log/ftp.log //日志记录在文件/var/log/ftp.log里,默认值
为/var/log/xferlog
上面不是默认配置,默认配置是如下语句
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log //日志记录在/var/log/vsftpd.log里,
默认也是这个文件
默认配置xferlog_std_format语句没有启用。
d)配置基于用户的访问控制
有两种方法:
A)使用认证文件,前面我们让本地用户能够登录服务器的时候是使用源码树里的一
个样本pam文件(RedHat/vsftpd.pam),把它复制到/etc/pam.d/目录下并改名为ftp
就可使本地用户登录,改名为ftp的原因是VSFTP默认的pam认证文件名为ftp,但我
们可以使用下面的语句来改变
pam_service_name=vsftppam //这样设置后VSFTP使用/etc/pam.d/vsftppam文件来
认证用户
回来主题,应该如何使本地用户不能登录呢?回想到原来本地用户不能够登录是因
为没有ftp这个认证文件,那么我们把它删除就可以了。
B)使用VSFTP相关的几个语句
userlist_enable
userlist_deny
userlist_file
用这三个语句可以控制指定用户不能登录,方法如下:
userlist_enable=YES //用户清单功能开启
userlist_deny=YES //把用户清单设为拒绝用户清单
userlist_file=/etc/vsftpd.user_list //用户清单文件为
/etc/vsftpd.user_list,这个文件的格式也是一个用户名占用一行
因为第二个语句把文件/etc/vsftpd.user_list设为拒绝用户清单,那么,文件里
面的用户名都不能登录。
或是另外一种设置方法:
userlist_enable=YES //用户清单功能开启
userlist_deny=NO //把用户清单设为接受用户清单
userlist_file=/etc/vsftpd.user_list //用户清单文件为/etc/vsftpd.user_list
因为第二个语句把文件/etc/vsftpd.user_list设为接受用户清单,那么,文件里
面的用户名都能登录,不在文件里的用户不能登录。
从这里可以看出userlist_deny语句起了开关的作用,可把用户清单文件设为拒绝
或是接受,是不是很有趣?:)

e)配置安全的匿名FTP站点。要求匿名用户只有浏览和下载权限,没有其他的用户。
通过上面的学习,配置这种常见的匿名FTP站点很容易:
首先,把本地用户禁止登录,可以使用上面介绍的方法,这里不再复述。
然后,确定把下面的语句设为下面的样例:
anon_world_readable_only=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
write_enable=NO
这样做之后,就能有一个满足要求的FTP站点了,其实只要设
anon_world_readable_only=YES也可以做到上述效果的了。

f)上面讲述的启动服务器的方法是都是以独立(standalone)进程的方式启动的,还
有一种启动VSFTP的方法,就是使用超级服务器xinetd启动,这两种方法的区别
是,xinetd的启动使支持的并发进程比独立进程方式启动少,不适合访问人数多的
大站点,一般如果访问的流量少可以使用xinetd启动,如果是访问的流量多应该以
独立方式启动。好了,下面介绍以xinetd启动的方法:
编辑/etc/vsftpd.conf把原来加入的listen=YES这行删除,或前面加注释#
编辑/etc/xinetd.d/vsftpd(这个文件在源码安装时已经被复制存在了),确定这行
值为NO:
disable= NO
执行下面的命令重启xinetd服务器:
#service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
成功通过xinetd启动VSFTP了。
可以通过xinetd的功能实现控制VSFTP,下面一一介绍:
1,配置基于主机的访问控制
配置基于主机的访问控制可以使用超级服务器xinetd的功能,由xinetd去控制特定
的IP可以访问FTP服务器,VSFTP只提供基于本地用户的访问控制,控制特定的访问
可使用下面的xinetd的语句:
only_from //允许访问IP
no_access //拒绝访问IP
per_source //每个IP的最大连接数
instances //并发最高连接数
access_time //访问时间
banner_fail //登录失败显示的内容文件
这里的具体使用属于xinetd的内容,可以参考相关内容,这里就不多说了.

⑹ 如何借助vsftpd在Linux上构建安全的FTP服务

vsftpd的安装过程

vsftpd 守护程序的安装相当简单,在每个主要发行版中都可以找到vsftpd的RPM包,很多情况下,它已经被装上了。如果没有的话,源代码可以在网站http://vsftpd.beasts.org/上找到,下载后执行手工安装。目前最新的版本为:vsftpd2.0.3。

得到源代码并解开tar包后,进入新建的目录,并运行make。下面是进行手工安装的示例:

# tar xzvf vsftpd-2.0.3.tar.gz

# cd vsftpd-2.0.3

# make

这之前我们应该看看用户“nobody”和目录“/usr/share/empty”是否存在,如果需要的话我们就新建这一对用户和目录。如果我们允许用户匿名访问,用户“ftp”和目录“var/ftp”也需要创建。使用如下两个命令完成:

# mkdir /var/ftp

# useradd -d /var/ftp ftp

由于安全原因,目录 “/var/ftp” 不应该属于用户 “ftp”,也不应该有写权限。如果用户已经存在的话,用下面的两个命令,我们可以改变目录的所有者并去掉其他用户的写权限:

# chown root.root /var/ftp

# chmod og-w /var/ftp

达到了所有的先决条件后,我们可以安装 vsftp-daemon 了。

# make install

这样,就完成了vsftpd的安装,当然,这个安装过程比较复杂,在我们现在使用的Linux系统当中,很多都是使用RPM包来安装的,这样简单快捷,下面介绍如何通过使用RPM包来安装vsftpd。

在RedHat Linux9中自带了vsftpd,下面是安装的步骤:

1. 首先查看是否安装了vsftpd,如果已经安装,则可以直接使用。

# rpm - q|grep vsftpd

2. 没有安装的话,将下载来的vsftpd-1.1.3-8.i386.rpm的RPM包进行安装。

# rpm - vh vsftpd-1.1.3-8.i386.rpm

通过以上两步,就能顺利地完成安装过程。

配置文件介绍

配置文件的路径为 /etc/vsftpd.conf。和Linux系统中的大多数配置文件一样,vsftpd的配置文件中以#开始注释,下面对配置文件的重要内容选项进行详细的介绍,合理的使用配置文件是保证FTP安全传输的前提。

查看配置文件:

#vi /etc/vsftpd.conf

设置是否允许匿名访问:

# Anonymus FTP-access permitted? YES/NO

anonymous_enable=NO

设置是否允许匿名上传文件:

# Permit anonymus upload? YES/NO

anon_upload_enable=NO

设置是否运允许匿名建立目录:

# Permission for anonymus users to make new directories? YES/NO

anon_mkdir_write_enable=NO

设置是否允许匿名用户进行删除或者改名等操作:

# Permission for anonymus users to do other write operations - like renaming or deleting? YES/NO

anon_other_write_enable=NO

设置是否允许本地用户登录:

# Log on by local users permitted? YES/NO

local_enable=YES

设置是否将本地用户锁定在主目录:

# Shall local users be locked into their home directory? YES/NO

chroot_local_user=YES

设置最高传输速度:

# Highest permitted data transfer rate in bytes per second for local logged on users. Default = 0 (unlimited)

local_max_rate=7200

设置是否允许通常的写操作:

# General write permission? YES/NO

write_enable=YES

设置是否在改变目录后发送消息:

# Enable messages when changing directories? YES/NO

dirmessage_enable=YES

设置服务器向登录客户端发送的欢迎信息:

# Welcome banner at users logon.

ftpd_banner="Welcome to neo5k's FTP service."

设置是否激活日志功能:

# Activate logging? YES/NO

xferlog_enable=YES

设置是否对所有的FTP操作作日志,如果设置是,则可能产生巨大的数据:

# Logging of all FTP activities? YES/NO

# Careful! This can generate large quantities of data.

log_ftp_protocol=NO

设置是否只允许在端口20建立连接:

# Confirm connections are established on port 20 (ftp data) only. YES/NO

connect_from_port_20=YES

设置无任何操作的超时时间:

# Timeout ring idle sessions

idle_session_timeout=600

设置数据连接的超时时间:

# Data connection timeout

data_connection_timeout=120

设置访问所使用的PAM:

# Access through Pluggable Authentication Moles (PAM)

pam_service_name=vsftpd

设置工作模式是否为独立模式:

# Standalone operation? YES/NO - depending on operation mode (inetd, xinetd, Standalone)

# The author's FTP service is being startet with xinetd, therefore the value here is NO.

listen=YES

设置是否使用tcp_wrappers作为主机访问控制方式:

tcp_wrappers =YES

启动 FTP 服务

启动vsftpd可以采用三种方式:inetd、xinetd和standalone(独立)工作模式。由于目前使用的xinetd扩展了inetd,它比inetd更加高效和实用,包括诸如请求记录、访问控制、将业务与网络接口绑定等改进,所以通常使用xinetd,本文将介绍xinetd以及standalone两种启动方式。

1. xinetd方式启动

使用该启动方式,在上述的配置文件当中,应该将listen=YES设为list=NO,并且将tcp_wrappers=YES设为tcp_wrappers=NO,并且使用如下命令将vsftpd的文档目录拷贝到/etc/xinetd.d目录下:

# cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd

# vi /etc/xinetd.d/vsftpd

将disable=yes设为disable=no即可。一个关于该启动方式的的配置文件如下所示:

# cat /etc/xinetd.d/vsftpd

# default: on

# description: The vsftpd FTP server serves FTP connections. It uses

# normal, unencrypted usernames and passwords for authentication.

service ftp

{

socket_type = stream

wait = no

user = root

server = /usr/sbin/vsftpd

nice = 10

disable = no

flags = IPv4

}

现在,就可以使用如下命令来启动vsftpd了。

停止独立运行的vsftpd:

# service vsftpd stop

重新启动xinetd守护进程:

# service xinetd restart

另外一点需要说明的是:如果想在系统启动时就自动运行该服务,那么需要使用setup命令,在网络服务配置的项目中,选中vsftpd守护进程即可。

2. 独立工作模式启动

vsftpd也可以工作在独立工作模式下。这样,我们需要再次打开“/etc/vsftpd.conf”做如下修改:

# Shall the vsftp daemon run in standalone operation? YES/NO

listen=YES

在这项设置之后,守护进程可以用如下方式启动:

# service vsftpd start

同样地,在独立工作模式下,我们必须保证vsftpd没有被xinetd启动,这个可以使用如下命令来进行检查:

# pstree|grep vsftpd

测试运行

在成功地安装和配置之后,我们将对该FTP服务器进行简单的测试运行,示例如下:

# ftp liyang

Connected to liyang.

220 (vsFTPd 1.1.3)

Name (liyang:root): anonymous

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls -l

229 Entering Extended Passive Mode

150 Here comes the directory listing

drwxr-xr-x 20 500 100 400 Jun 04 16:14 mp3

drwxr-xr-x 3 500 100 464 Feb 09 21:28 test

drwxr-xr-x 57 500 100 5143 Jun 15 19:23 working

226 Directory send OK.

上述过程测试了FTP服务器的成功运行,并且浏览了服务器上的几个文件夹

⑺ 解释vsftpd源代码

vsftpd配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格。对于每个配置命令,在配置文件中还列出了相关的配置说明,利用vi编辑器可实现对配置文件的编辑修改。方法如下:
#vi /etc/vsftpd/vsftpd.conf

1.登录和对匿名用户的设置
write_enable=YES //是否对登录用户开启写权限。属全局性设置。默认NO
local_enable=YES //是否允许本地用户登录FTP服务器。默认为NO
anonymous_enable=YES //设置是否允许匿名用户登录FTP服务器。默认为YES
ftp_username=ftp //定义匿名用户的账户名称,默认值为ftp。
no_anon_password=YES //匿名用户登录时是否询问口令。设置为YES,则不询问。默
认NO
anon_world_readable_only=YES //匿名用户是否允许下载可阅读的文档,默认为YES。
anon_upload_enable=YES //是否允许匿名用户上传文件。只有在write_enable设置为
YES时,该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为NO。
anon_mkdir_write_enable=YES //是否允许匿名用户创建目录。只有在write_enable设置为 YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。
anon_other_write_enable=NO //若设置为YES,则匿名用户会被允许拥有多于
上传和建立目录的权限,还会拥有删除和更名权限。默认值为NO。

2.设置欢迎信息
用户登录FTP服务器成功后,服务器可向登录用户输出预设置的欢迎信息。
ftpd_banner=Welcome to my FTP server.
//该配置项用于设置比较简短的欢迎信息。若欢迎信息较多,则可使用banner_file配置项。
banner_file=/etc/vsftpd/banner
//设置用户登录时,将要显示输出的文件。该设置项将覆盖ftpd_banner的设置。
dirmessage_enable=YES
//设置是否显示目录消息。若设置为YES,则当用户进入特定目录(比如/var/ftp/linux)时,将显示该目录中的由message_file配置项指定的文件(.message)中的内容。
message_file=.message //设置目录消息文件。可将显示信息存入该文件。该文件需要放在 相应的目录(比如/var/ftp/linux)下

3.设置用户登录后所在的目录
local_root=/var/ftp
// 设置本地用户登录后所在的目录。默认配置文件中没有设置该项,此时用户登录FTP服务器后,所在的目录为该用户的主目录,对于root用户,则为/root目录。
anon_root=/var/ftp
//设置匿名用户登录后所在的目录。若未指定,则默认为/var/ftp目录。

4.控制用户是否允许切换到上级目录
在默认配置下,用户可以使用“cd..”命名切换到上级目录。比如,若用户登录后所在的目录为/var/ftp,则在“ftp>”命令行下,执行“cd..”命令后,用户将切换到其上级目录/var,若继续执行该命令,则可进入Linux系统的根目录,从而可以对整个Linux的文件系统进行操作。

若设置了write_enable=YES,则用户还可对根目录下的文件进行改写操作,会给系统带来极大的安全隐患,因此,必须防止用户切换到Linux的根目录,相关的配置项如下:
chroot_list_enable=YES
// 设置是否启用chroot_list_file配置项指定的用户列表文件。设置为YES则除了列在j/etc/vsftpd/chroot_list文件中的的帐号外,所有登录的用户都可以进入ftp根目录之外的目录。默认NO
chroot_list_file=/etc/vsftpd/chroot_list
// 用于指定用户列表文件,该文件用于控制哪些用户可以切换到FTP站点根目录的上级目录。
chroot_local_user=YES
// 用于指定用户列表文件中的用户,是否允许切换到上级目录。默认NO
注意:要对本地用户查看效果,需先设置local_root=/var/ftp

具体情况有以下几种:
1)当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。
2)当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到站点根目录的上级目录;未在文件中列出的用户,可以切换到上级目录。
3)当chroot_list_enable=NO,chroot_local_user=YES时,所有用户均不能切换到上级目录。
4)当chroot_list_enable=NO,chroot_local_user=NO时,所有用户均可以切换到上级目录。
5)当用户不允许切换到上级目录时,登录后FTP站点的根目录“/”是该FTP账户的主目录,即文件的系统的/var/ftp目录。

5.设置访问控制
(1)设置允许或不允许访问的主机(见TBP14)
tcp_wrappers=YES用来设置vsftpd服务器是否与tcp wrapper相结合,进行主机的访问控制。默认设置为YES,vsftpd服务器会检查/etc/hosts.allow和/etc/hosts.deny中的设置,以决定请求连接的主机是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。
比如,若要仅允许192.168.168.1~192.168.168.254的用户,可以访问连接vsftpd服务器,则可在/etc/hosts.allow文件中添加以下内容:
vsftpd:192.168.168.0/255.255.255.0 :allow
all:all:deny

(2)设置允许或不允许访问的用户
对用户的访问控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件来控制实现。相关配置命令如下:
userlist_enable=YES
// 决定/etc/vsftpd/user_list文件是否启用生效。YES则生效,NO不生效。
userlist_deny=YES
// 决定/etc/vsftpd/user_list文件中的用户是允许访问还是不允许访问。若设置为YES,则/etc/vsftpd/user_list文件中的用户将不允许访问FTP服务器;若设置为NO,则只有vsftpd.user_list文件中的用户,才能访问FTP服务器。

6.设置访问速度
anon_max_rate=0
//设置匿名用户所能使用的最大传输速度,单位为b/s。若设置为0,则不受速度限制,此为默认值。
local_max_rate=0
// 设置本地用户所能使用的最大传输速度。默认为0,不受限制。

7.定义用户配置文件
在vsftpd服务器中,不同用户还可使用不同的配置,这要通过用户配置文件来实现。
user_config_dir=/etc/vsftpd/userconf //用于设置用户配置文件所在的目录。
设置了该配置项后,当用户登录FTP服务器时,系统就会到/etc/vsftpd/userconf目录下读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。比如,利用用户配置文件,可实现对不同用户进行访问的速度进行控制,在各用户配置文件中,定义local_max_rate配置,以决定该用户允许的访问速度。

8.与连接相关的设置
listen=YES
//设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默认值,建议不要更改。很多与服务器运行相关的配置命令,需要此运行模式才有效。若设置为NO,则vsftpd不是以独立的服务运行,要受xinetd服务的管理控制,功能上会受限制。

max_clients=0
//设置vsftpd允许的最大连接数,默认为0,表示不受限制。若设置为150时,则同时允许有150个连接,超出的将拒绝建立连接。只有在以standalone模式运行时才有效。

max_per_ip=0
// 设置每个IP地址允许与FTP服务器同时建立连接的数目。默认为0,不受限制。通常可对此配置进行设置,防止同一个用户建立太多的连接。只有在以standalone模式运行时才有效。

listen_address=IP地址
//设置在指定的IP地址上侦听用户的FTP请求。若不设置,则对服务器所绑定的所有IP地址进行侦听。只有在以standalone模式运行时才有效。对于只绑定了一个IP地址的服务器,不需要配置该项,默认情况下,配置文件中没有该配置项。若服务器同时绑定了多个IP地址,则应通过该配置项,指定在哪个IP地址上提供FTP服务,即指定FTP服务器所使用的IP地址。
注意:设置此值前后,可以通过netstat -tnl对比端口的监听情况

accept_timeout=60
//设置建立被动(PASV)数据连接的超时时间,单位为秒,默认值为60。
connect_timeout=60
// PORT方式下建立数据连接的超时时间,单位为秒。
data_connection_timeout=300
//设置建立FTP数据连接的超时时间,默认为300秒。

idle_session_timeout=600
//设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒,默认为600秒。即设置发呆的逾时时间,在这个时间内,若没有数据传送或指令的输入,则会强行断开连接。
pam_service_name=vsftpd
//设置在PAM所使用的名称,默认值为vsftpd。

setproctitle_enable=NO|YES
//设置每个与FTP服务器的连接,是否以不同的进程表现出来,默认值为NO,此时只有一个名为vsftpd的进程。若设置为YES,则每个连接都会有一个vsftpd进程,使用“ps -ef|grep ftp”命令可查看到详细的FTP连接信息。安全起见,建议关闭。

9.FTP工作方式与端口设置
(1)FTP工作方式简介
FTP的工作方式有两种,一种是PORT FTP,另一种是PASV FTP。下面介绍其工作方式。
二者的区别在于PORT FTP的数据传输端口是由FTP服务器指定的,而PASV FTP则是由FTP客户端指定的,而且每次数据连接所使用的端口号都不同。正因为如此,所以在CuteFTP等FTP客户端软件中,其连接类型设置项中有PORT和PASV两种选择。

当FTP服务器设置为PASV工作模式时,客户端也必须设置为PASV连接类型。若客户端连接类型设置为PORT,则能建立FTP连接,但在执行ls或get等需要数据请求的命令时,将会出现无响应并最终报告无法建立数据连接。

(2)与端口相关的配置
listen_port=21
// 设置FTP服务器建立连接所侦听的端口,默认值为21。
连接非标准端口示例:ftp www.sunflower.org 7000
connect_from_port_20=YES
// 默认值为YES,指定FTP数据传输连接使用20端口。若设置为NO,则进行数据连接时,所使用的端口由ftp_data_port指定。

ftp_data_port=20
//设置PORT方式下FTP数据连接所使用的端口,默认值为20。
pasv_enable=YES|NO
//若设置为YES,则使用PASV工作模式;若设置为NO,使用PORT模式。默认为YES,即使用PASV模式。
pasv_max_port=0
//设置在PASV工作方式下,数据连接可以使用的端口范围的上界。默认值为0,表示任意端口。
pasv_mim_port=0
//设置在PASV工作方式下,数据连接可以使用的端口范围的下界。默认值为0,表示任意端口。

10.设置传输模式
FTP在传输数据时,可使用二进制(Binary)方式,也可使用ASCII模式来上传或下载数据。
ascii_download_enable=YES //设置是否启用ASCII模式下载数据。默认为NO。
ascii_upload_enable=YES //设置是否启用ASCII模式上传数据。默认为NO。

11.设置上传文档的所属关系和权限
(1)设置匿名上传文档的属主
chown_uploads=YES
//用于设置是否改变匿名用户上传的文档的属主。默认为NO。若设置为YES,则匿名用户上传的文档的属主将被设置为chown_username配置项所设置的用户名。
chown_username=whoever
//设置匿名用户上传的文档的属主名。只有chown_uploads=YES时才有效。建议不要设置为root用户。 但系统默root

(2)新增文档的权限设定
local_umask=022
//设置本地用户新增文档的umask,默认为022,对应的权限为755。umask为022,对应的二进制数为000 010 010,将其取反为111 101 101,转换成十进制数,即为权限值755,代表文档的所有者(属主)有读写执行权,所属组有读和执行权,其他用户有读和执行权。022适合于大多数情况,一般不需要更改。若设置为077,则对应的权限为700。
anon_umask=022 //设置匿名用户新增文档的umask。默认077
file_open_mode=0755 //设置上传文档的权限。权限采用数字格式。 默认0666

12.日志文件
xferlog_enable=YES //是否启用上传/下载日志记录。默认为NO
xferlog_file=var/log/vsftpd.log //设置日志文件名及路径。需启用xferlog_enable选项
xferlog_std_format=YES //日志文件是否使用标准的xferlog日志文件格式(与wu-ftpd使用的格式相同) 。默认为NO

13.其他设置
text_userdb_names=NO
//设置在执行ls命令时,是显示UID、GID还是显示出具体的用户名或组名称。默认为NO,以UID和GID方式显示,若希望显示用户名和组名称,则设置为YES。
ls_recurse_enable=YES
//若设置为YES,则允许执行“ls –R”这个命令,默认值为NO。在配置文件中该配置项被注释掉了,与此类似的还有一些配置,需要启用时,将注释符去掉并进行YES或NO的设置即可。

⑻ 求Linux大神帮忙解决centos6.2源代码安装vsftpd-3.0.0make报错问题

为什么不用yum源呢 很方便,我觉得自己编译安装的话需要看你的Makefile,而且你这个错误貌似是和内核不兼容,建议用yum源试试

⑼ linux中怎么看源码包和rpm包安装的服务的版本是多少

源码包安装或者说是编译安装,是查不到安装软件的版本号的。只有rpm包才可以。编译安装完成后只能到指定的目录下查看是否有相应的文件。

阅读全文

与vsftpd源码包下载相关的资料

热点内容
android图片变灰 浏览:268
linuxvi下一个 浏览:975
安卓手机的应用锁怎么解 浏览:735
linux增加路径 浏览:849
sql身份证号最后四位加密 浏览:533
xp系统表格加密 浏览:856
光遇安卓军大衣什么时候上线 浏览:840
android应用商店图标 浏览:341
java计算圆的面积 浏览:643
应用编译优化recovery 浏览:577
域控命令n 浏览:258
php导出文件 浏览:15
谷歌地图网页版无法连接服务器地址 浏览:298
菜鸟工具在线编译python 浏览:858
栅格化命令有何作用 浏览:825
为什么压缩文件不能解压 浏览:311
足球app哪个软件好 浏览:96
产品经理逼疯程序员的一天 浏览:17
修改svn服务器ip地址 浏览:584
下列关于编译说法正确的是 浏览:246