成航先森 成航先森

成都航院计算机系一个学生的个人博客

 

经验杂笔

分段图

最新文章

经验杂笔
当前位置: 首页 » 大学杂谈 » 经验杂笔 » Linux CentOS环境下使用vsftpd搭建ftp服务器-安装、配置

Linux CentOS环境下使用vsftpd搭建ftp服务器-安装、配置

编辑:狂族晨曦 来源:经验杂笔 日期:2016-10-19 阅读: 959 次 2 条评论 » 百度已收录

FTP在服务器中是门户集的应用,几乎人人都有接触。先森在公司上班也有三个月了,FTP的搭建也有了自己的一个文档,最近都没有怎么更新博客了,所以把自己用的部署文档整理一下发布出来,有问题还请指点。

公司服务器用的FTP服务器都是清一色的vsftpd,所以本文是用vsftpd搭建FTP服务器。另外,先森发现,万网免费虚拟主机用的FTP也是vsftpd。

vsftpd

vsftpd

vsftpd安装

安装没有什么说的,vsftpd可以直接yum安装,也可以下载rpm包安装:

rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

因为先森用的是CentOS 6.8的系统,默认安装的vsftpd版本为2.2.2的。

相关命令如下:

# 启动ftp服务
service vsftpd start
# 查看ftp服务状态
service vsftpd status 
# 重启ftp服务
service vsftpd restart
# 关闭ftp服务
service vsftpd stop

创建FTP用户

首先创建一个不能登录系统的用户:

useradd -d /web/data/ftp -s /sbin/nologin -M xsftp

useradd参数解释:

-d:设置用户根目录
-s:设置用户登录后所用的shel
-M:创建用户不自动创建根目录

设置用户权限到文件夹

chown -R xsftp /web/data/ftp

设置权限

chmod 777  /web/data/ftp

设置密码

passwd amtftp -> 密码 -> 确认密码

有时候需要修改FTP用户的根目录,下面说下怎么修改。

usermod -d /usr/newfolder -u uid username

uid:用户UID,可在/etc/passwd中查到。

username:用户名

修改配置文件

vsftpd的配置

配置文件:/etc/vsftpd/vsftpd.conf

vi /etc/vsftpd/vsftpd.conf

修改以下参数:

anonymous_enable=NO
# YES改为NO,禁止匿名用户登录

取消注释:

chroot_local_user=YES
#是否将所有用户限制在主目录,YES为启用,NO或者注释为禁用

末尾添加:

pasv_enable=yes        #开启FTP被动模式
pasv_max_port=6666
pasv_min_port=5555    # FTP被动模式所用端口范围5555到6666

保存退出

防火墙iptables的配置,开启FTP端口

vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5555:6666 -j ACCEPT
service iptables restart

【限制用户只能访问其主目录】

很多情况下,我们希望限制ftp用户只能在其主目录下(root dir)下活动,不允许他们跳出主目录之外浏览服务器上的其他目录,这时候我就需要使用到chroot_local_user,chroot_list_enable,chroot_list_file这三个选项了。

chroot_local_user
#是否将所有用户限制在主目录,YES为启用,NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)
chroot_list_enable
#是否启动限制用户的名单 YES为启用,NO禁用(包括注释掉也为禁用)
chroot_list_file=/etc/vsftpd/chroot_list
#是否限制在主目录下的用户名单

至于是限制名单还是排除名单,这取决于chroot_local_user的值,我们可以这样记忆: chroot_local_user总是一个全局性的设定,其为YES时,全部用户被锁定于主目录,其为NO时,全部用户不被锁定于主目录。那么我们势必需要在全局设定下能做出一些“微调”,即,我们总是需要一种“例外机制",所以当chroot_list_enable=YES时,表示我们“需要例外”。而”例外“的含义总是有一个上下文的,即,当”全部用户被锁定于主目录“时(即chroot_local_user=YES),"例外"就是:不被锁定的用户是哪些;当"全部用户不被锁定于主目录"时(即chroot_local_user=NO),"例外"“就是:要被锁定的用户是哪些。这样解释和记忆两者之间的关系就很清晰了!

历史上的今天:

标签:
除特别注明外,本站所有文章均为成航先森 www.capjsj.cn原创,本文共1946个字
转载请注明出处来自http://www.capjsj.cn/vsftpd.html
已有 2 位"计工"发布了激烈的评论,还有N多人围观笑而不语评论
Koolight的头像
欢迎发表评论
取消评论

表情
疑问调皮伤心抠鼻黑线微笑可爱奸笑震惊吓到了撇嘴大兵忍不住笑笑狂骂狂怒噢?鼓掌酷⊙﹏⊙b汗鄙视大哭嘿嘿

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 小C博客的头像

    博主现在越来越6了

    2016-10-22 22:01 回复
  2. Koolight的头像

    博主越来越牛越来越豪了!

    2016-10-23 16:37 回复
官方微信
发表评论 返回顶部