vsftp安装配置手册(更新版)-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 2090701
  • 博文数量: 195
  • 博客积分: 4378
  • 博客等级: 上校
  • 技术积分: 4046
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-09 11:37
个人简介

白天和黑夜只交替没交换无法想像对方的世界

文章分类

全部博文(195)

文章存档

2014年(3)

2013年(20)

2012年(18)

2011年(107)

2010年(17)

2009年(5)

2008年(20)

2007年(5)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: linux

2008-11-26 22:40:18

程序及pam组件来完成vsftp搭建,实现ftp功能。

1.         ftp功能

2.         用户锁定目录

3.         上传下载可行

4.         不使用系统帐户验证

5.         多用户支持

vsftpd-2.0.7

db4-devel-4.2.52-7.1
db4-4.2.52-7.1
db4-utils-4.2.52-7.1

首先下载vsftp组件

wget

解压至目录

#tar zxvf vsftpd-2.0.7.tar.gz

#cd vsftpd-2.0.7

清除编译环境

#make clean

开始进入编译预准备

#vi builddefs.h

将其中vsf_build_tcpwrappersvsf_build_pamvsf_build_ssl所在行undef改为define

vsftpd的目录里编译

#make

随后创建必要的帐号,目录:

#useradd nobody  //可能你的系统已经存在此帐号,那就不用建立

#mkdir /usr/share/empty  //可能你的系统已经存在此目录,那就不用建立

#mkdir /var/ftp  //可能你的系统已经存在此目录,那就不用建立

#useradd -d /var/ftp ftp  //可能你的系统已经存在此帐号,那就不用建立

#chown root:root /var/ftp

#chmod og-w /var/ftp

请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆shell设置成/sbin/nologin,比如以上的nobodyftp我就设置成/sbin/nologin

开始安装

#install -m 755 vsftpd /usr/local/sbin/vsftpd-pam

#install -m 644 vsftpd.8 /usr/share/man/man8

#install -m 644 vsftpd.conf.5 /usr/share/man/man5

#install -m 644 vsftpd.conf /etc/vsftpd-pam.conf

1.         查看系统是否有相应软件包

#rpm –qa | grep db4
db4-utils-4.3.29-9.fc6

db4-4.3.29-9.fc6

db4-devel-4.3.29-9.fc6

如果没有则需要安装

2.         建立一个logins.txt的文件,单行为用户名,双行为密码

#vi /home/logins.txt

test

123456

3.         建立数据库文件并设置文件属性

#db_load -t -t hash -f /home/logins.txt /etc/vsftpd_login.db

#chmod 600 /etc/vsftpd_login.db

4.         建立认证文件

新建文件

#vi /etc/pam.d/ftp

并加入下面两行

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

5.         建立一个虚拟用户

useradd -d /home/vsftpd -s /sbin/nologin vsftpd

6.         修改配置文件

#vi /etc/vsftpd-pam.conf

在配置文件修改或添加以下选项

listen=yes
listen_port=21
tcp_wrappers=yes //
支持tcp_wrappers,限制访问
(/etc/hosts.allow,/etc/hosts.deny)
listen=yes
的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式
)
anonymous_enable=no
local_enable=yes  //pam
方式此处必须为yes,如果不是将出现如下错误:

500 oops: vsftpd: both local and anonymous access disabled!
write_enable=no
anon_upload_enable=no
anon_mkdir_write_enable=no
anon_other_write_enable=no
chroot_local_user=yes
guest_enable=yes
guest_username=vsftpd //
这两行的意思是采用虚拟用户形式
virtual_use_local_privs=yes //
虚拟用户和本地用户权限相同
pasv_enable=yes //
建立资料联机采用被动方式

anon_world_readable_only=no

7.         启动程序

#/usr/local/sbin/vsftpd-pam /etc/vsftpd-pam.conf &

报错:500 oops: bad bool value in config file for: tcp_wrappers

8.         测试连接

#

报错:[root@lvs3 vsftpd-2.0.7]# ftp localhost

connected to lvs3.

500 oops: vsftpd: cannot locate user specified in 'guest_username':vsftpd

connected to 127.0.0.1.

220 (vsftpd 2.0.7)

530 please login with user and pass.

530 please login with user and pass.

kerberos_v4 rejected as an authentication type

name (127.0.0.1:root): pool1

331 please specify the password.

password:

230 login successful.

remote system type is unix.

using binary mode to transfer files.

ftp> dir

227 entering passive mode (127,0,0,1,83,150)

150 here comes the directory listing.

226 directory send ok.

ftp> quit

221 goodbye.

1.         建立所有需要登录用户

#vi /home/logins.txt

test

123456

test

234567

单行为用户名,双行为密码

2.         更新数据文件

#db_load -t -t hash -f /home/logins.txt /etc/vsftpd_login.db

3.         配置用户环境

#mkdir /etc/vsftpd_user_conf/

#vi /etc/vsftpd-pam.conf 加入如下语句
user_config_dir=/etc/vsftpd_user_conf

-----------------------以下为单用户循环配置,每用户都需要建立------------------------------

#mkdir /home/vsftpd/test

#vi /etc/vsftpd_user_conf/test

添加内容

local_root=/home/vsftpd/test
write_enable=yes
anon_world_readable_only=no
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes

保存退出

修改配置及目录权限

# chmod 700 /home/vsftpd/test
# chown vsftpd.vsftpd /home/vsftpd/test/

---------------------------------用户配置结束---------------------------------------

4.         测试用户是否登录到自己目录及上传下载正常

1.         在建立好的每个用户/目录下建立测试文件两个(文件名不要相同);

2.         使用客户端软件从外部测试;

3.         分别登录两个以上的帐号,通过察看根目录存在文件检查是否引导到不同/目录下;

4.         尝试下载测试文件到本地;

5.         尝试删除测试文件;

6.         尝试上传文件到测试帐号;

7.         测试完成。

阅读(4699) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图