[我的阿里云服务器] —— FTP配置

前言:

FTP是我们用来向服务器上传或者下载文件很重要的一个工具,特别是云服务器,无法使用外设传送文件。

所以下面我们就来配置一下FTP,但是FTP的21端口,通常也是黑客进攻的一个目标,所以需要小心使用。

服务器配置(因为处于学习,所以几乎选了最破的配置了):

1、CPU:单核

2、内存:512M

3、系统盘:Linux送20G,Ubuntu 12.04 64位系统

4、数据盘:10G

5、公网带宽:1M

 

一、安装VSFTPD

VSFTPD是一款小巧易用FTP服务器程序,vsftpd 在安全性、高性能及稳定性三个方面有上佳的表现。

它提供的主要功能包括虚拟IP设置、虚拟用户、Standalone、inetd操作模式、强大的单用户设置能力及带宽限流等。在安全方面,它从原理上修补了大多数Wu-FTP、ProFTP,乃至BSD-FTP的安装缺陷,使用安全编码技术解决了缓冲溢出问题,并能有效避免"globbing"类型的拒绝服务攻击。

使用命令:

apt-get install vsftpd

然后,在/srv目录下,就新增了一个ftp目录。

我们可以使用查找ftp目录,看看都新增了哪些目录:

find / -name ftp

可以发现很多目录下都增加了ftp目录,有些我们在下面还会接触到。

此时,我们可以访问ftp://服务器所在IP地址或域名/,就会发现一个空白的FTP目录。

1

 

二、添加ftp用户

当安装完毕后,一般会自动生成一个“ftp”账户,如果没有的话,我们就手动添加。

useradd -m ftp    #-m表示创建用户,但不创建用户目录。

如果已经拥有ftp账户,它会提示你已经存在。

修改密码:

passwd ftp

修改权限:

chmod 777 /srv/ftp

 

三、配置vsftpd

通过修改/etc/vsftfd.conf文件,我们就可以配置vsftfd了。

首先,备份原来的配置文件。

cp /etc/vsftpd.conf /etc/vsftpd.conf.backup

然后修改conf文件,修改匿名、本地、上传、下载配置。

# cat /etc/vsftpd.conf
# 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。
# 注销语句以 xinetd 方式运行
listen=YES
# 上传总开关(全局控制)
write_enable=YES
# 不接受匿名用户,默认无密码请求
anonymous_enable=NO
# 接受本地用户
local_enable=YES
# 本地用户上传文件(包括目录)的 umask
# 注意 vsftp 版本,某些旧版的该选项会被 chown_uploads/chown_username 二选项覆盖
local_umask=022
# 允许匿名用户上传文件,配合 anon_umask,否则文件权限皆为默认的 600,用户上传的文件不提供给任何匿名用户下载
#anon_upload_enable=YES
# 匿名用户上传文件(包括目录)的 umask
# 注意点同 local_umask
anon_umask=022
# 允许匿名用户创建目录,配合 anon_umask 实现目录可写,否则依我(aBiNg)看,实际用处很小
#anon_mkdir_write_enable=YES
# 允许匿名用户删除/重命名文件等操作
#anon_other_write_enable=YES
# 为 YES 则进入目录时显示此目录下由 message_file 选项指定的文本文件(默认为 .message)的内容
dirmessage_enable=YES
# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改
xferlog_enable=YES
# 使用 port 模式连接,并启用 20 端口
connect_from_port_20=YES
# 改变用户上传文件的所有者
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
# 日志使用标准 xferlog 格式
#xferlog_std_format=YES
# 用户登陆后 idle 时间,超过设置超则被踢出服务器
#idle_session_timeout=600
# login 时的欢迎信息
ftpd_banner=Welcome to feifei FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
# 若为 NO,则记录在 chroot_list_file 选项所指定的文件(默认是 /etc/vsftpd.chroot_list)中的用户将被
# chroot 在登录后所在目录中,无法离开。如果为 YES,则所记录的用户将不被 chroot。
chroot_local_user=YES
# 设置为 YES 则下面的控制有效
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
#secure_chroot_dir=/var/run/vsftpd
#pam_service_name=vsftpd
#rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

 

四、设置vsftpd用户目录

1、增加ftp组

groupadd ftpgroup

2、添加ftp用户

useradd –g ftpgroup –d /srv/ftp –M ftpuser

passwd ftpuser

3、修改chroot_list文件(上面已经在vsftpd.conf文件中设置过chroot_list_file=/etc/vsftpd/chroot_list)

vi /etc/vsftpd.chroot_list

添加 ftpuser

4、重启vsftpd

/etc/init.d/vsftpd restart
service vsftpd stop

两种方式都可以。

5、使用完毕后,关闭vsftpd

service vsftpd stop

 

 

 

最后,通过上面这个过程我们就可以使用FTP进行文件传输了。当然,可能不同情况下,也会出现问题,

这里就是跟大家分享一下我的学习过程。希望对大家有帮助。

posted @ 2013-06-17 22:53  大海向西流  阅读(2303)  评论(0编辑  收藏  举报