在centos中安装vsftp服务及配置

       今天在现场做系统迁移,原来准备采用SCP做文件下载,后发现有这安全隐患:SCP的用户必须是系统用户,用户登陆上来后,看到了非文件下载目录,这样就带来了安全问题。于是放弃了这种方式,改用了VSFTP,很遗憾这个服务安装系统的时候没有安装,机器也不能上网,不能用yum在线安装。幸好个人机器中有centos镜像,经查找发现了VSFTP的RPM安装包,在第一张盘的/Packages下面。复制过来,进行安装,非常简单。安装完毕,开始配置,不会,上网baidu,找了一些文档,发现都有问题,都是采用系统用户的方式登陆VSFTP,这也会存在安全问题。也有些文章谈到了虚拟用户方式,主要参考了:http://www.cnblogs.com/killkill/archive/2011/01/05/1926230.htmlhttp://jingyan.baidu.com/article/f96699bb9036f7894e3c1be1.html,http://blog.chinaunix.net/uid-24250828-id-3760115.html
       现假设FTP的根目录是/data/ftp,所有脚本如下:

   rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm     ---安装VSFTP服务
   useradd overlord -s /sbin/nologin ---添加系统用户,后面会把虚拟用户与系统用户做映射
   vi /etc/vsftpd/virtusers ---建立虚拟用户数据库,奇数行是用户,偶数行是密码。在此文件中添加xinwen和cgx,cgx具备所有FTP权限,xinwen仅具有下载权限,下面配置会实现。
   db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db ---生成虚拟用户口令认证文件
   vi /etc/pam.d/vsftpd  ---配置虚拟用户认证,把该文件中已有配置全部注释,并添加如下配置:
       auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
       account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
   vi /etc/vsftpd/vsftpd.conf ---配置主配置文件,并开启虚拟用户支持
       anonymous_enable=NO  ---修改此配置,禁止匿名登陆
       ---在最后添加如下配置
       guest_enable=YES
       guest_username=overlord  ---映射到系统用户 
       virtual_use_local_privs=NO ---必须为NO,很多文章都是YES,导致虚拟用户权限配置不能生效。YES=虚拟用户和本地用户有相同的权限,NO=虚拟用户和匿名用户有相同的权限
       user_config_dir=/etc/vsftpd/vconf  ---虚拟用户认证的配置文件目录
   vi /etc/vsftpd/vconf/xinwen ---建立每个虚拟用户的配置文件,必须与虚拟用户同名,添加如下配置:
       local_root=/data/ftp  ---用户登陆后主目录
       anon_world_readable_only=NO
       write_enable=YES
       local_umask=022
       anon_upload_enable=NO
       anon_mkdir_write_enable=NO
   vi /etc/vsftpd/vconf/cgx
       local_root=/data/ftp
       anon_world_readable_only=NO
       write_enable=YES
       local_umask=022
       anon_upload_enable=YES
       anon_mkdir_write_enable=YES
       cmds_allowed=FEAT,REST,CWD,LIST,MDTM,NLST,PASS,PASV,PORT,PWD,QUIT,RNFR,RNTO,RETR,DELE,SIZE,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,STOR 

   chmod 777 -R /data/ftp/* ---非常重要,操作权限的认证先是根据虚拟文件权限,再根据系统权限,仅仅在虚拟文件中配置是不够的,就会导致cgx用户不能建立目录,删除,上传文件等。
   service vsftpd restart ---重启服务

解释:
     cmds_allowed:是指这个用户可以执行的FTP命令,这个非常重要,vsftpd控制权限方法不是很好,例如想要达到目录不能删除,
仅允许上传、下载和删除文件,浏览目录。如果不通过cmds_allowed控制,就很难达到。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值