文章来源http://forum.ubuntu.org.cn/viewtopic.php?t=1900
用vsftp建立个人ftp站点

首先是最基本的配置,请看我的/etc/vsftpd/vsftpd.conf

###############################################################################
#接受匿名用户
anonymous_enable=YES
#匿名用户login时不询问口令
no_anon_password=YES
#接受本地用户
local_enable=YES

#可以上传(全局控制).若想要匿名用户也可上传则需要设置anon_upload_enable=YES,若想要匿名用户可以建立目录则需要设置anon_mkdir_write_enable=YES.这里禁止匿名用户上传,所以不设置这两项.
write_enable=YES
#本地用户上传文件的umask
local_umask=022

#使用上传/下载日志,日志文件默认为/var/log/vsftpd.log,可以通过xferlog_file选项修改
xferlog_enable=YES
#日志使用标准xferlog格式
xferlog_std_format=YES

#login时的欢迎信息
ftpd_banner=Welcome to KingArthur's FTP service.
#设置的话将覆盖上面的ftpd_banner设置,用户login时将显示/etc/vsftpd/banner中的内容
banner_file=/etc/vsftpd/banner
#为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
dirmessage_enable=YES
#本地用户login后所在目录,若没有设置此项,则本地用户login后将在他的home目录(/etc/passwd的第六个字段)中.匿名用户的对应选项是anon_root
local_root=/var/ftp

#设置为YES则下面的控制有效
chroot_list_enable=YES
#若为NO,则记录在chroot_list_file选项所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里选择YES.
chroot_local_user=YES

#若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES
#若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_deny=NO
#注意!!!vsftpd还要检察/etc/vsftpd.ftpusers文件,记录在这个文件中的用户将无法login!!

#服务器以standalong模式运行,这样可以进行下面的控制
listen=YES
#匿名用户的传输比率(b/s)
anon_max_rate=51200
#本地用户的传输比率(b/s)
local_max_rate=512000
#可接受的最大client数目
max_clients=100
#每个ip的最大client数目
max_per_ip=5

connect_from_port_20=YES
tcp_wrappers=YES
pam_service_name=vsftpd

##############################################################################

下面是我的/etc/vsftpd.user_list
##############################################################################

ftpuser
anonymous

##############################################################################
/etc/vsftpd.ftpusers可以使用系统自带的文件
/etc/vsftpd.chroot_list内容为空
接着建立系统用户ftpuser,将他加入ftp组并将/etc/passwd中他的记录的最后一个字段改成/sbin/nologin(禁止本地登录).
设置/var/ftp的所有者和所有组为root,权限为755
设置/var/ftp/pub的所有者为root,所有组为ftp,权限为775

至此vsftpd的基本配置就完成了.这里我们接受匿名用户anonymous和本地用户ftpuser的请求.anonymous只能下载, ftpuser可以下载和上传.他们登录后均在/var/ftp目录下且无法离开这个目录(被chroot了).ftpuser可以在 /var/ftp/pub目录中建立目录和上传文件,上传文件的权限为755(设置了local_umask=022).匿名用户的传输比率为 50kb/s,ftpuser的传输比率为500kb/s.可联接的最多客户数为100,每ip可联接的最多客户数为5.
如果需要使本地用户ftpput可以login,只需要将他加入/etc/vsftpd.user_list,要使他可以上传,只需将他加入ftp组.
接着我们可以在/var/ftp下的各个目录(包括/var/ftp)下建立.message文件,这样用户进入这个目录时vsftpd将显示. message的内容,你可以在这里面写上欢迎信息或者注意事项等等.另外可以编辑/etc/vsftpd/banner,建立login时的欢迎信息, 让你的ftp更加个性化.

下面我们使用quota为ftpuser加入磁盘限额,避免恶意用户用垃圾数据塞满你的硬盘.
假设/var/ftp在根分区/(/dev/hda5)中,则将/etc/fstab中根分区的记录的第4个字段改成defaults,usrquota,这样这条记录看起来类似这样:
LABEL=/ / ext3 defaults,usrquota 1 1
接着重启系统后输入下列命令:
quotacheck -acu #检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用来的表
quotacheck -avu #生成每个启用了配额的文件系统的当前磁盘用量表
edquota ftpuser #为用户ftpuser设置磁盘配额
这时系统会在默认文本编辑器(vi)中打开配额文件,显示类似这样:
Disk quotas for user ftpuser (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/hda5 0 0 0 0 0 0
第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数。随后的两列用来设置用户在该文件系统上的软硬块限度。inodes 列显示了用户当前使用的i节点数量。最后两列用来设置用户在该文件系统上的软硬i节点限度.硬限是用户或组群可以使用的磁盘空间的绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用了。软限定义可被使用的最大磁盘空间量。和硬限不同的是,软限可以在一段时期内被超过。这段时期被称为过渡期(grace period)。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。如果以上值中的任何一个被设置为 0,那个限度就不会被设置.按你的需要修改后存盘推出.
要校验用户的配额是否被设置,使用以下命令:
quota testuser
接着使用edquota -t来设置过渡期(grace period)
和另一个 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hda5 7days 7days
按你的需要修改后存盘退出

这样我们就成功的为ftpuser增添了磁盘配额.而一个比较完整的FTP站点也配置完成了

转载于:https://blog.51cto.com/sonice/217515

用vsftp建立个人ftp站点相关推荐

  1. 如何建立一个 [FTP站点 or HTTP站点] 去实现资源共享

    老师们经常使用的用FTP传文件给我们的方法也是这样设的(例如在一个机房里面给我们传文件),只不过不是添加网站,而是添加FTP站点.但是照着我这步骤,FTP局域网直接的传输好像也莫得问题.不需要的时候随 ...

  2. windows2008 R2 如何建立FTP站点

    0.安装FTP服务 1.建立用户 这个用户如果被删除了又新增了一个用户名一模一样的用户,需要重新建立FTP站点,指定用户,FTP才能连接上 2.建立FTP站点 建好了 3.让外网能够访问 方法1: 或 ...

  3. windows本地建立ftp站点,ssl证书设置

    如果希望在windows电脑上建立一个测试的ftp站点,在设置时可能需要添加ssl证书,但官方的证书需要申请比较麻烦,可以创建自签名证书,就可以代替ssl证书通过验证. 随后,在需要ssl证书时,选择 ...

  4. win7 创建FTP站点

    2019独角兽企业重金招聘Python工程师标准>>> 第一步:依次进入控制面板–程序和功能–打开或关闭windows功能,如图: 接下来就选择要添加的功能,如图 点击确定,保存之后 ...

  5. 利用NLB和DFS构建企业高可用性高性能的WEB、FTP站点

    此文是利用NLB(网络负载平衡)来实现客户端的高可用性,而利用DFS的高性能.高可用性保证WEB站点的高可用.高性能的需求.具体怎么去配置NLB.DFS网上有非常多的文档,我就不细说.实验需要六台机器 ...

  6. 轻松架设Win 2003用户隔离FTP站点

    轻松架设Win 2003用户隔离FTP站点 FTP站点不但允许任何用户进行匿名访问,而他们也能对FTP站点的主目录进行随意"读取"与"写入",如此一来保存在FT ...

  7. vsftp建立虚拟用户不同目录分配不同权限操作步骤详解

    这篇文章主要介绍了vsftp建立虚拟用户不同目录分配不同权限操作步骤详解,大家参考设置自己的FTP服务器吧vsftpd服务器同时支持匿名用户.本地用户和虚拟用户三类用户账号,使用虚拟用户账号可以提供集 ...

  8. 如何建立一个FTP服务器(SERV-U使用教程)

    在此有必要把Serv-U中的一些重要的概念给大家讲清楚:每个正在运行的Serv-U引擎可以被用来运行多个"虚拟"的FTP服务器,在管理员程序中,每个"虚拟"的F ...

  9. linux ftp站点名称,Linux ftp命令的使用方法有哪些

    ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里学习啦小编详细介绍Linux ftp命令的一些经常使用的命令,相信掌握了这些使用Linux ...

最新文章

  1. 通用数组(练习,可能有错)
  2. 进入Windows的世界
  3. java-List集合的源码分析(数据结构方面,源码注释方面),迭代器快速失败机制
  4. SAP Cloud for Customer里的individual customer OData服务
  5. SQL Server 关于列的权限控制
  6. Java源码阅读PriorityQueue
  7. OpenCV kmeans代码
  8. DataFactory插入MySQL中文乱码问题
  9. 本地安全策略 、 组策略
  10. JAVA根据URL路径将网络视频保存到本地
  11. 怎么将CAD中的两条直线拉成弧形呢?
  12. 蓝桥杯java历年真题及答案整理21~40
  13. 统一社会信用代码及其校验规则
  14. Adobe Illustrator CS5 快捷键大全
  15. mysql 开启 thread pool_MySQL線程池(THREAD POOL)的處理
  16. 硬笔书法“案”字怎样书写正确?“最美中国字”来教你!
  17. 话题中的Publisher和Subscriber
  18. 积分电路和微分电路的工作原理
  19. AndroidStudio下使用cmake开发ndk
  20. 天池时间序列竞赛——AI助力精准气象和海洋预测学习笔记其一:赛题分析

热门文章

  1. 苹果搜索机器人因代理服务器配置不当泄漏内部 IP
  2. 史上最大规模的 PPS DDoS 攻击现身,欧洲某大型银行遭殃
  3. 思科警告:IOS 路由器中含有多个严重缺陷,可导致“系统完全受陷”
  4. Nginx学习之如何搭建文件防盗链服务
  5. MySQL备份,恢复方案,mysqlbinlog,mysqldump,主从,主主复制
  6. Ev Dekorasyonu
  7. 调查显示存储虚拟化技术尚需3到5年才能成熟
  8. Android View添加 Listener 小技巧示例
  9. SQLServer收缩数据库日志
  10. ON DELETE CASCADE和ON UPDATE CASCADE