12月 182013
 

没事发发Ubuntu vsftp的配置问题,以下是我摸索出的Ubuntu vsftp问题。希望对大家有所帮助。Ubuntu vsftp的简述:VSFTP(Very Secure FTP Daemon,非常安全的FTP服务器)。顾名思义,VSFTPD设计的出发点就是安全性。同时随着版本的不断升级,VSFTPD在性能和稳定性上也取得了极大的进展。除了安全和性能方面很优秀的外,还有很好的易用性。Red Hat公司在自己的FTP服务器(ftp.redhat.com)上就使用了vsFTPd 。

部署VSFTP

本文以ubuntu9.10为例进行部署,其他Linux发行版本类似。

1。安装

$ sudo apt-get install vsftpd

2。 配置

需要配置文件/etc/vsftpd.conf 来进行设置参数以对FTP进行控制,包括访问权限,流量等进行控制。

执行sudo vi /etc/vsftpd.conf (或sudo gedit /etc/vsftpd.conf )可以看到配置文件中的默认参数,其中加#为注释。提参数意义如下所示:

1>常用参数意义,是具体情况配置

#anonymous_enable 是否允许匿名ftp,如否则选择NO,默认允许匿名访问,注意当允许是所有用户均视为匿名登录。

#local_enable 是否允许本地用户访问,是指VSFTP所在机器上的注册用户。

#local_umask=022 默认的umask码

#write_enable 是否允许本地用户修改和删除

#local_umask=022 FTP上传文件权限 ,默认是077

#anon_upload_enable=YES 是否允许匿名用户上传

#anon_mkdir_write_enable=YES 是否允许匿名用户的写和创建目录的权限

#dirmessage_enable=YES 当切换目录时,是否显示该目录下message隐藏文件的内容

#xferlog_enable=YES 是否激活上传和下载的日志

#connect_from_port_20=YES 是否启动FTP数据端口20的连接请求

#chown_uploads=YES 是否改变上传文件的所有者

#chown_username=whoever 改变上传文件的所有着为whoever

#xferlog_file=/var/log/vsftpd.log 上传/下载日志文件所默认的路径

#xferlog_std_format=YES 是否使用标准的ftpd xferlog日志格式

#idle_session_timeout=600 是否将在用户会话空闲10分钟后被中断

#data_connection_timeout=120 是否将在数据连接空闲2分钟后被中断

#nopriv_user=ftpsecure 是否运行vsftpd需要的非特殊系统用户默认nobody

#async_abor_enable=YES 是否是否允许运行特殊的FTP命令async

#ascii_upload_enable=YES 是否启用上传的ascii传输方式

#ascii_download_enable=YES 是否启用下载的ascii传输方式

#ftpd_banner=Welcome to blah FTP service. 用户连接服务器后显示信息

#deny_email_enable=YES 是否允许某些匿名用户使用邮件地址(默认的)

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list #指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。

注意:当chroot_local_user=NO、chroot_list_enable=YES时,vsftpd.chroot_list中用户为锁定用户,即他们除了自己的目录,不可以访问其他目录。

当chroot_local_user=YES、chroot_list_enable=YES时,vsftpd.chroot_list中用户为非锁定用户,他们可以访问任何其他目录。

local_root=/var/www/web (路径自定义)#定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。(注释则访问该用户自己目录)

write_enable=YES

max_clients=100 #FTP服务器最大承载用户

max_per_ip=5 #限制每个IP的进程

local_max_rate=256000 #最大传输速率(b/s)

hide_ids=YES #是否隐藏文件的所有者和组信息

idle_session_timeout= 3000  #空闲(发呆)用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。单位为秒,默认值为300。

2>配置vsftpd.chroot_list

增加需要锁定/非锁定目录的用户(根据自己情况添加)

3>删除vsftp默认访问路径

$ sudo rmdir /home/ftp 根据local_root定义的目录,新建一个,以控制登陆用户进入此目录

4>重启vsftp服务

$ /etc/init.d/vsftpd restart

注意一点,在设置用户对文件的访问权限时,注意如果要是登陆用户有上传的权限,则不仅要进行上述配置文件参数的设置,同时还要保证用户对进入的目录有写的权利,一般可设为755,这就意味这可以通过对本地用户本身的权限和FTP所配置的权限结合进行有效的访问控制。

Ubuntu vsftp的配置问题讲述玩了,现在你就可以试试在Linux上部署一个FTP服务器了,如果还有不明之处可以参考介绍Linux的书籍,一般的linux都会介绍FTP的部署。

1.安装vsftpd
直接从源里面安装,easy
代码:sudo apt-get install vsftpd
安装完毕后或许会自动生成一个帐户”ftp”,/home下也会增加一个文件夹。
如果没有生成这个用户的话可以手动来,生成了就不用了:
代码:sudo useradd -m ftp
sudo passwd ftp
有”ftp”帐户后还要更改权限
代码:sudo chmod 777 /home/ftp
在这个目录下我建立一个文件夹专门保存需要共享的内容

2.配置文件
通过sudo gedit /etc/vsftpd.conf修改。
配置文件比较简单,如下
代码:#独立模式启动
listen=YES

#同时允许4客户端连入,每个IP最多5个进程
max_clients=200
max_per_ip=4

#不允许匿名用户访问,允许本地(系统)用户登录
anonymous_enable=NO
local_enable=YES
write_enable=NO

#是否采用端口20进行数据传输
connect_from_port_20=YES

#生成日志
xferlog_enable=YES

#指定登录转向目录
local_root=/home/ftp/ftp

这样,在同局域网的电脑上,用我的IP地址,用帐号”ftp”和对应密码就可以登录了,密码是第一步里面passwd那句指定的。

就这样就结束了,请大家拍砖!![/code]

———————————-
对了,更改配置后不要忘了重启ftp服务 :D
代码:sudo /etc/init.d/vsftpd restart
此外还有开启关闭服务的命令
代码:sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop

 Posted by at 下午 1:16

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)