热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Ubuntu系统下vsFTPd的安装配置过程

vsftpd是一个UNIX类操作系统上运行的服务器的名字,它可以运行在诸如Linux,BSD,Solaris,HP-UX以及IRIX上面。它支持很多其他的FTP服务器不支持的特征。比如:非常高的安全性需求带宽限制良好的可伸缩性创建虚拟用户的可能性IPv6支持中等偏上

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。比如:

非常高的安全性需求

带宽限制

良好的可伸缩性

创建虚拟用户的可能性

IPv6支持

中等偏上的性能

分配虚拟 IP 的可能性

高速

vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

一个例子就是 vsftpd 是在 chroot 模式下工作的,chroot 模式就是为程序(这里就是 vsftpd 了)单独指定一个新的目录,它也就不能访问那个目录之外的程序和文件了 --- 所以这也称为“被锁上的”。一个可能被潜在的攻击者破坏的 FTP 服务器将被从系统的其他部分独立开来,从而避免了更大的损失。

由于有了如此多的特性,其中 FTP 服务的安全性应该是最重要的,vsftpd 比其他 FTP 服务器更加优越。

1.安装vsftpd 
直接从源里面安装,easy 

sudo apt-get install vsftpd

安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹。
如果没有生成这个用户的话可以手动来,生成了就不用了:

sudo useradd -m ftp
sudo passwd ftp

有"ftp"帐户后还要更改权限

sudo chmod 777 /srv/ftp

在这个目录下我建立一个文件夹专门保存需要共享的内容

2.配置文件
通过sudo gedit /etc/vsftpd.conf修改。
配置文件如下:

# cat /etc/vsftpd.conf
# 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。
# 注销语句以 xinetd 方式运行
listen=YES

# 上传总开关(全局控制)
write_enable=YES

# 接受匿名用户,默认无密码请求
anonymous_enable=YES

# 接受本地用户
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

local_root=/srv/ftp

对了,更改配置后不要忘了重启ftp服务  

sudo /etc/init.d/vsftpd restart

此外还有开启关闭服务的命令

sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop

这样,就可以使用电脑的IP地址登陆这个ftp服务器了。


推荐阅读
author-avatar
linjiabin43
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有