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

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 68 ::
收藏到网摘: 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.