zuier 发表于 2015-11-6 13:44:14

Centos6.5下搭建vsftp服务器和sftp服务器

  第一部分:参考百度经验,传送门
  vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的ftp软件
工具/原料

[*]CentOS6.5
方法/步骤

[*]1  用在线安装
  #yum install vsftpd pam* db4*-y
  使用命令将vsftp配置为系统服务
  #chkconfig --level 35 vsftpd on
[*]2  配置vsftpd服务的宿主
  #useradd vsftpdadmin -s /sbin/nologin -M
  这个vsftpdadmin只是用来替换root的,并不需要登录
[*]3  建立ftp虚拟宿主帐户
  #useradd vsftpuser -s /sbin/nologin -M
  这ftpuser只个虚拟帐户的宿主,本身是不用登录的
[*]   配置vsftpd.conf 配置之前要先备份一下原来的
  vi /etc/vsftpd/vsftpd.conf
  anonymous_enable=YES-->anonymous_enable=NO   //不允许匿名用户访问,默认是允许。
  chroot_list_enable=YES-->chroot_list_enable=YES      //不允许FTP用户离开自己主目录
  增加
  #设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。
  user_config_dir=/etc/vsftpd/vconf/userlocal
  #这一步非常重要,要记住这一步。一会要根据这个配置新建文件夹
  #修改端口号
  ftp_data_port=4040
  reverse_lookup_enable=NO
  pasv_enable=yes
  pasv_min_port=48790
  pasv_max_port=48800
  listen_port=48796 #端口可以根据你自己实际情况配置,也可以用默认端口。但是为了安全考虑根据自己实际情况配置(从上面的加红处到此可先不做配置)
[*]   建立虚拟用户文件
  #mkdir /etc/vsftpd/vconf
  #touch /etc/vsftpd/vonf/vir_user
[*]   建立虚拟用户
  #vi /etc/vsftpd/vonf/vir_user
  #virtualuser         //用户名
  #12345678         //密码
[*]   生成数据库
  #db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db
[*]   设置数据库文件访问权限
  #chmod 600 /etc/vsftpd/vconf/vir_user
  #chmod 600 /etc/vsftpd/vconf/vir_user.db
[*]   修改/etc/pam.d/vsftpd(可将原文件中的内容通过#注释掉)
  auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
  account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
  (要想同时使用系统用户和虚拟用户,就需要把required改成sufficient)
[*]   根据第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal
  新建userlocal文件夹
  #mkdir /etc/vsftpd/vconf/userlocal
[*]   根据第六步建立的用户名建立一个文件
  例如第六步建立的帐号是virtualuser,则新建一个virtualuser文件
  #touch /etc/vsftpd/conf/userlocal/virtualuser
[*]   编辑该用户访问的文件路径
  #vi /etc/vsftpd/conf/userlocal/virtualuser
  输入如下
  local_root= //需要指定的网站根目录,例如www.baidu.com所在文件夹为/www/baidu
  anonymous_enable=NO #禁止匿名用户访问
  write_enable=YES #开启写权限
  local_umask=022 #上传后文件的权限掩码
  anon_upload_enable=NO #关闭匿名下载
  anon_mkdir_write_enable=NO #关闭匿名创建文件夹
  idle_session_timeout=60 #会话自动关闭时间 60是因分钟
  data_connection_timeout=120 #数据延迟时间
  max_clients=10 #最大连接数
  max_per_ip=5 #同一个ip同时允许5个IP联机
  local_max_rate=1048576 #实体用户传输速度限制,单位B/s。0代表不限制
[*]   配置就此完成,重启vsftpd服务:service vsftpd restart。
  查看系统端口状态:netstas -tulnp。如果能看到22端口正在被vsftpd调用说明启动成功。
  第二部分:
  在第一部分根据教程配置完成后,使用fileZilla或者winSCP连接时报错,提示连接服务器异常被退出,sftp服务有问题,这时候需要我们来配置sftp服务器。(因为当时没有截图,隔了一段时间才来写这篇文章,所以,描述的词汇不是那么准确,还请见谅)
具体步骤如下,大家一步步来操作即可实现sftp服务器的配置。  1、添加用户组

代码示例:#groupadd sftp  2、添加用户并设置为sftp组

代码示例:#useradd -g sftp -s /sbin/nologin -M sftp (若之前设置过用户,可将该用户添加到需要的用户组中                                                                               命令#usermod -g sftp wfq)查询用户是否存在#id wfq  3、修改sftp用户的密码

代码示例:#passwd sftp
***********   4、创建sftp用户的根目录并设置拥有者和组,修改权限(755)

代码示例:#cd /home
#mkdir sftp
      
#chown root:sftp sftp
#chmod 755 sftp   5、在sftp的目录中创建admin可写的目录

代码示例:#cd sftp
#mkdir report
#chown admin:sftp report/   6、修改配置文件

代码示例:  #vim /etc/ssh/sshd_config
  修改
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp
  7、在sshd_config文件最后添加

代码示例:Match User sftp
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /home/sftp   8、重启sshd服务

代码示例:  #service sshd restart
  再次进行连接,即可成功
  至此,一个简单的sftp服务器就配置完成了,是不是很简单哦。
  第二部分参考:脚本学堂
         版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: Centos6.5下搭建vsftp服务器和sftp服务器