常州五颜六色网络技术有限公司 -> 技术文档 -> debian下vsftpd的安装 登录 -> 注册 -> 回复主题 -> 发表主题

阿七 2007-08-18 14:56
vsftpd是一个很不错的ftp服务器软件,它的名字(very security ftpd)就告诉我们它的突出特点就是安全性。
debian下安装vsftpd十分简单,apt-get install vsfpd就可以了。它的默认的配置文件是/etc/vsftpd。网上有很多配置vsftpd的文章,而我认为只要仔细看一下 /usr/share/doc/vsftpd/EXAMPLE下的例子就可以了。下面我就谈谈自己在配置中认为是重要的地方



1,如果想配置虚拟用户,只要将
guest_enable=YES
guest_username=ftp
打开就可以了。关键问题在于虚拟用户的pam 认证,我每次都是在这里出问题。首先请使用db3而不要使用db4.x的工具来生成相应数据文件,其次生成的文件名是vsftpd_login.db,而 pam认证中只需指明文件名是vsftpd_login就可以了。还有/etc/pam.d/vsftpd这个文件是用于local user登陆的,想要使用虚拟用户这个文件中应该只包含这两句话
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
关于pam配置文章可以参考书籍。

2,在默认情况下,虚拟用户有anonymous用户的权限。也就是说想让虚拟用户具有上载的权限,就必须打开 anon_upload_enable=YES选项。其次默认情况下anonymous只能下载world readable权限的文件(也就是说所有人都能read),如果设置
anon_world_readable_only=NO
则能下载所有类型的文件

3,xinetd和inetd。如果想让inetd来启动vsftpd,首先在/etc/servers这个文件中加入
vsftpd 3216/tcp
即能设定vsftpd使用端口3216。然后在inetd.conf中加入下面一句话就行了
vsftpd stream tcp nowait root /usr/sbin/tcpd /usr/sbin/vsftpd

如果想使用xinetd,则在/etc/xinetd下建一个文件vsftpd,然后填入下列内容即可

service vsftpd
{
disable = no
socket_type = stream
protocal = tcp
type = UNLISTED
wait = no
user = root
server = /usr/sbin/vsftpd
port = 3216
per_source = 2
instances = 20
only_from = 166.111.0.0 219.224.0.0/16 127.0.0.1
no_access = 192.168.1.3
banner_fail = /etc/vsftpd.busy_banner
log_on_success += PID HOST DURATION
log_on_failure += HOST
}

其中如果是/etc/service中没有列出服务,则type,protocal port必须指定。
需要注意的是219.224.0.0/16是用cidr方式来表示子网掩码,它说明在32的ip地址中有16是用来表示网络的,有32-26=16位是用来表示主机的。也就是说166.111.168.0/255.255.255.0和166.111.168.0/24是一致的。

阿七 2007-08-20 14:20
如何在debian上安装vsftpd .

vsftpd号称是最安全的ftp server.看看记录好象也不是吹的.于是就装了一个.其实过程挺简单的,就当作给各位懒人参考一下吧:

如果你用redhat或其他linux的话,请参考用rpm或者下载.tar.gz来安装.

在debian下安装比较简单,通常就那么一个命令. 先确保你的机器能正常上网.然后用root登陆

debian:/#apt-get install vsftpd

这样就已经安装完了.是不是很简单?

当然不是了,关键是在配置上面.这样安装完后,/etc目录下会有个配置文件vsftpd.conf. 默然不更改的话,只能够用anonymous登陆.那当然不是我需要的了.我的需求比较简单,我只需要某几个特定的用户能登陆ftp server,其他无关人等不能登陆. 先把anonymous_enable=YES改成anonymous_enable=NO 禁止匿名登陆; 再把local_enable=YES和write_enable=YES打开; 把xferlog_file=/var/log/vsftpd.log前面的#号去掉,打开记录,这样谁传了垃圾就知道了; 打开chroot_local_user=YES,这样登陆后就不能跑了,只能在自己目录下., 最后,加上: userlist_deny=NO userlist_enable=YES 目的是只在/etc/vsftpd.user_list用列出的用户才能登陆. 这样就基本搞定了.另外记得登陆的用户的shell在/etc/shells中有列出,不然不能登陆...


查看完整版本: [-- debian下vsftpd的安装 --] [-- top --]



Copyright © 2005-2014 5y6s Inc. 苏ICP备05001866号 Powered by PHPWind 5.0.1
Time 0.013640 second(s),query:4 Gzip enabled