当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux下vsftp的安装和配置方法

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 Linux下vsftp的安装和配置方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 86 ::
收藏到网摘: n/a

重新安装和配置虚拟用户

以下都是在root用户下进行的

#tar zxvf vsftpd-2.0.5.tar.gz ——解压

#cd vsftpd-2.0.5.tar.gz ——解压后进入vsftpd-2.0.5.tar.gz目录

# mkdir /usr/share/empty/ ——VSFTPD默认设置需要一个空目录:/usr/share/empty

# mkdir /var/ftp/ ——如果容许匿名用户(anonymous),那么你将需要一个"ftp"用户和其home目录(这个home目录不属于“ftp”用户,而且“ftp"用户也对其没有写权限)在你的系统中存在。

#adduser 然后回车,依照程序说明来添加两个用户"nobody" 和"ftp" ,'nobody'一般都已经存在来,如果添加时提示用户已经存在,就不用添了。 'ftp'用户设置时主目录都设在/var/ftp

#chmod 755 /var/ftp ——把/var/ftp目录的权限设为drwxr-xr-x

#make

#make install

#cp vsftpd.conf /etc ——"make install"不会拷贝默认的配置文件,所以手工拷贝过去。不同的系统位置可能不一样,看一下,如果有/etc/vsftp目录的话,就拷贝到/etc/vsftp下

安装完成。

测试一下:

编辑/etc/vsftpd.conf, 在最下面加入以下这一行:

listen=YES

确定你没有运行其他FTP服务(否则VSFTPD不能占用FTP所需的21端口)。

# /usr/local/sbin/vsftpd &

[1] 306

如果一切正常,那么你将连上FTP服务器

#ftp localhost

Connected to localhost (127.0.0.1)。

220 (vsFTPd 2.0.1)

Name : ftp

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

运行方式:

VSFTPD能运行在独立模式(standalone)或者通过inetd来启动。

独立模式(standalone)就是前面测试时用的方法,在vsftpd.conf加入"listen=YES"

用xinetd服务启动

请在/etc/xinetd.d/vsftpd

service ftp

{

socket_type = stream

wait = no

user = root

server = /usr/local/sbin/vsftpd

# server_args =

# log_on_success += DURATION USERID

# log_on_failure += USERID

nice = 10

disable = no

}

配置vsftp

修改/etc/vsftpd.conf,

vsftpd.conf比较的简单,有很多选项没有列出来,具体可以看blog里的另外篇。

有几个可能会比较常用到的但是不在vsftpd.conf中的列在下面:

让vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsftpd.conf中加上如下的两行:

max_clients=100

max_per_ip=5

anon_max_rate=数字 ——这是匿名的下载速度

local_max_rate=数字 ——这是vsFTP服务器上普通用户的下载速度

注:这个数字的单位是字节,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以100KB下载,所以这个数字应该是1024x100=102400 所以我们要在vsftpd.conf中加入下面的两行 :

anon_max_rate=102400

local_max_rate=102400

目录的说明:

在vsftpd.cof文件中,有 dirmessage_enable=YES,然后在目录中建一个文件 " .message " 在文件中写上有关目录的说明就可以了。

配置vsftp 虚拟用户

1.生成虚拟用户口令库文件。为了建立此口令库文件,先要生成一个文本文件。该文件的格式如下,单数行为用户名,偶数行为口令:

#vi account.txt

ylg

1234

zhanghong

4321

gou

5678

2.生成口令库文件,并修改其权限:

#db_load -T -t hash -f ./account.txt /etc/account.db

#chmod 600 /etc/account.db

3.新建一个虚拟用户的PAM文件。加上如下两行内容:

#vi /etc/pam.d/vsftp.vu

auth required /lib/security/pam_userdb.so db=/etc/account

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

4.建立虚拟用户,设置该用户所要访问的目录,并设置虚拟用户访问的权限:

#useradd -d /ftpsite virtual_user

#chmod 700 /ftpsite

经过该步骤的设置,/ftpsite就是virtual_user用户的主目录,该用户也是/ftpsite目录的拥有者。除root用户之外,只有该用户具有对该目录的读、写和执行的权限。

5.生成一个测试文件。先切换至virtual_user用户身份,然后在/ftpsite目录下创建一个文件:

#su -virtual_user

$vi /ftpsite/mytest

This is a test file.

$su - root

6.编辑/etc/vsftpd.conf文件,使其整个文件内容如下所示(去掉了注释内容):

anonymous_enable=NO

local_enable=YES

local_umask=022

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

one_process_model=NO

chroot_local_user=YES

ftpd_banner=Welcom to my FTP server.

anon_world_readable_only=NO

guest_enable=YES

guest_username=virtual_user

pam_service_name=vsftp.vu

上面代码中,guest_enable=YES表示启用虚拟用户;guest_username=virtual则是将虚拟用户映射为本地用户,这样虚拟用户登录后才能进入本地用户virtual的目录/ftpsite;pam_service_name=vsftp.vu指定PAM的配置文件为vsftp.vu.