Redhat和Ubuntu 安装FTP

来源:岁月联盟 编辑:exp 时间:2011-12-05

 

一. Redhat 安装FTP

 

1 . 首先查询是否安装vsftp

[root@localhost root]# rpm -qa|grep vsftpd

vsftpd-1.1.3-8

没有安装VSFTP,下载渠道:

http://download.csdn.net/detail/chenyong19871223/3877250

安装VSFTPD

[root@localhost tmp]# rpm -ivh vsftpd-1.1.3-8.i386.rpm

warning: vsftpd-1.1.3-8.i386.rpm: Header V3 DSA signature: NOKEY, key ID db42a60e

Preparing...                ########################################### [100%]

   1:vsftpd                 ########################################### [100%]

[root@localhost tmp]# which vsftpd

/usr/sbin/vsftpd

2 . 现在就可以直接启动vsftp了启动

[root@localhost root]# /etc/rc.d/init.d/vsftpd start

Starting vsftpd for vsftpd: [  OK  ]

3 . 控制其他用户 

vsftpd的文档结构其主配置文件只有一个:/etc/vsftpd/vsftpd.conf,所做的修改主要是围绕它进行,

此外还有一些附加的文件,我将几个重要的说明如下:

/etc/pam.d/vsftpd

这里定义了采用pam的方式进行身份验证,它是根据/etc/vsftpd.ftpusers文件进行验证的,

凡是在这个文件里面列出的用户无法登陆ftp

/etc/vsftpd.user_list

当配置文件vsftd.conf中的参数userlist_enable和userlist_deny设置为YES之后,此文件生效,凡是在此文件里面列出的用户就无法登陆ftp

 

注:上面的两个文件看起来功能雷同,其实不然,vsftpd.ftpusers是采用外挂的PAM程序进行验证时所需要的,而vsftd.user_list则是vsftp本身的验证机制.也就是双重验证,无疑时更加安全.既然作用一样,所以这两个文件的内容也最好写的一样/etc/vsftpd.chroot_list 此文件要自行建立,当vsftpd.conf中的参数chroot_list_enable和chroot_list_file启用后,此文件里面的用户就登陆ftp以后就只能在自己的主目录下活动,不能到处逛./var/ftp匿名用户登陆后的主目录.

说明:ftp的工作方式分为两种

主动(active):当客户端的连接上server的控制端口(21)后,当需要传输数据时,由server主动开启端口(20)连接client

被动(passive):控制端口的连接方式与上面一样,只不过当要传数据时,仍是由client发起连接在redhat上采用的软件是vsftpd,对它进行配置.

 

二. Ubuntu安装FTP

1 . 安装vsftpd

sudo apt-get install vsftpd

2 . 配置vsftpd

sudo vi /etc/vsftpd.conf

编辑内容如下:

# 设定系统本地用户账户登陆ftp

local_enable=YES

# 使用用户的本地账户目录作为ftp目录

chroot_local_user=YES

# 允许用户上传文件 www.2cto.com

write_enable=YES

修改完成后保存并重启vsftpd

sudo /etc/init.d/vsftpd restart

3 . 添加ftp使用用户

sudo useradd -d /home/ftp_testuser -m ftp_testuser

sudo passwd ftp_testuser

然后就可以用ftp_testuser和设置好的密码进行登陆ftp

 

作者 cameory