============ Fedora 14配置vsftpd服务器手记 =======================
简介
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
在开源操作系统中常用的FTPD套件主要还有ProFTPD、PureFTPd和wuftpd等
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
1. 下载安装 vsftpd (因为fedora12中已经有此服务,此步可略去)
yum install vsftpd
2.测试是否安装完成:
After installing vsftpd, you just need to start the vsftpd service.
[root@bordeaux saini]$ service vsftpd start [Enter]
自己本机访问本机ftp服务器,以测试:
#ftp <IP_ADDRESS_OF_YOUR_MACHINE>
username: root
pwd:
如果叫你输入username了,说明建立服务了。
如果你启动 vsftpd失败 解决办法: http://hi.baidu.com/wuyaheyanzi/item/c7ca2913a0b3556b70d5e87d
3.新建一个ftp目录,并设置权限
cd /rootmkdir ftp
chmod -R 777 ftp // -R意思是目录下所有文件
4.配置vsftpd的配置文件
(主配置文件位于:/etc/vsftpd/vsftpd.conf, 有的教程说在/etc/vsftpd.conf)
使用文档编辑器vi对配置文件进行编辑:
#/etc/vsftpd/vsftpd.conf
4.1 - 禁止匿名用户登录:
注释掉 anonymous_enable=YES#anonymous_enable=YES
注:(有的教程叫改 anonymous_enable=YES -> anonymous_enable=NO,我的Fedora上会启动vsftpd失败 )
关于vsftpd的所有配置文件详细讲解见: http://os.51cto.com/art/201008/221842.htm
4.2 - 使本地用户可以登录
change:#local_enable=YES
To this:
local_enable=YES
(打开文件上传权限)
write_enable=YES
(使FTP用户有自己的主目录)
chroot_local_user=YES
最后一行添加ftp目录: local_root=/root/ftp
注:(Putting a # in front of a line disables it; this is called “commenting it out”.)
【 此处有待商榷:】
用vi打开 user_list文件和 ftpusers文件,将用户名root删除(这一步如果不做,用root连接ftp会报530 Permission denied)
我确实遇到用root连接ftp会报530 Permission denied,但“关于vsftpd的所有配置文件详细讲解”中并不是这么说的。
先按照“关于vsftpd的所有配置文件详细讲解”中所说,删除ftpusers中的root试试
vi /etc/vsftpd/ftpusers
不行,遇到:报530 Permission denied
vi /etc/vsftpd/user_list
删除user_list中的root,确实没报530 Permission denied了。
注:关于vsftpd的所有配置文件详细讲解见: http://os.51cto.com/art/201008/221842.htm
但我得到:500 OOPS: cannot change directory:/root【继续阅读,寻找答案的过程见下:】
5.打开ftp_home_dir
输入命令setsebool ftp_home_dir 1(这一步如果不做,连接ftp会报500 OOPS: cannot change directory:/root)
setsebool -P ftp_home_dir on 之后再运行 service vsftpd restartsetsebool -P ftpd_disable_trans on 之后再运行 service vsftpd restart
还是不行。(其实如果你关了host linux上的firewall应该是就可以了。)
输入命令 sestatus -b | grep ftp 查看ftp状态,可以看到:
...
ftp_home_dir这一项 on 了。这时应该可以了。如果还是cannot change directory:,继续阅读。
========== 以下是我继续不行,再寻找解决方法,的过程。最终发现Host Linux 上的 firewall 没有关闭。=======
试试从客户端访问vsftpd服务:ftp 192.168.1.111还是得到:500 OOPS: cannot change directory:/root 【先把问题放在这里】
【http://www.esojourn.org/blog/read.php/313.htm】
【http://gofedora.com/how-to-configure-secure-ftp-server-vsftpd/】
我检查了一下vsftpd.conf文件和网上的文章对比,没有发现问题。【咨询售后技术服务,说是这款mini2440 friendly 友善之臂 - 开发板不支持直连,只支持路由器连接。囧】
---- 【但我还是成功了】----
原因是关闭Fedora里的Firewall以后,要点一个“Apply”....苍天啊。。。。点击system - administration - firewall 进行firewall 设置。
接下来就可以使用开发板的console命令行进行与Host linux ftp传输文件相关操作,参考命令: http://blog.csdn.net/sonictl/article/details/272317776. 建立ftp用户
。。。。空了再写,其实可搜。
-========================================================
7.有关vsftpd的更多专题介绍:
http://os.51cto.com/art/201008/222036.htm