今天在现场做系统迁移,原来准备采用SCP做文件下载,后发现有这安全隐患:SCP的用户必须是系统用户,用户登陆上来后,看到了非文件下载目录,这样就带来了安全问题。于是放弃了这种方式,改用了VSFTP,很遗憾这个服务安装系统的时候没有安装,机器也不能上网,不能用yum在线安装。幸好个人机器中有centos镜像,经查找发现了VSFTP的RPM安装包,在第一张盘的/Packages下面。复制过来,进行安装,非常简单。安装完毕,开始配置,不会,上网baidu,找了一些文档,发现都有问题,都是采用系统用户的方式登陆VSFTP,这也会存在安全问题。也有些文章谈到了虚拟用户方式,主要参考了:http://www.cnblogs.com/killkill/archive/2011/01/05/1926230.html和 http://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控制,就很难达到。
相关推荐
CentOS5.3下vsftp虚拟用户配置实例,在CentOS5中可通用。
Centos7.9安装配置vsftpd
centos65-VSFTP服务器配置.doc
centos65-VSFTP服务器配置.doc
CentOS6.3安装配置vsftp,vsftp配置文件的详细描述以及示例。
在Centos7上搭建(安装)vsFTP服务的文档,包括配置访问ftp的用户、开启root用户访问ftp。
我们需要向centos操作系统的服务器上上传文件或者下载文件,这时候,ftp有必要安装下,本文为大家分享了vsftp服务的安装方法,供大家参考,具体内容如下 我们选择主流的vsftp; 第一步:安装vsftp yum install -y ...
centos65VSFTP服务器配置.pdf
安装配置vsftpd做FTP服务,...在安装前查看是否已安装vsftpd # 查看是否已安装 方法一 [root@localhost ~]# rpm -q vsftpd vsftpd-3.0.2-21.el7.x86_64 # 查看是否已安装 方法二 [root@localhost ~]# vsftpd -v vsftp
主要介绍了CentOS中vsftp安装与配置详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
CentOS下安装FTP服务器详细步骤: 第一步,检查服务器端是否已经安装FTP:[root@localhost centos]# rpm -...[root@localhost centos]# yum -y install vsftpd 在超级管理员角色下进行服务器端的FTP安装。 第三步,设置
1) 上传包到服务器安装路径 vsftpd-v3.0.4-centos7.zip 2) 解压: unzip vsftpd-v3.0.4-centos7.zip 3) 备份配置文件: cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/...或者在文件中,外部系统正常的往系统内写入文件
主要介绍了CentOs6.5中安装和配置vsftp简明教程,需要的朋友可以参考下
Linux CentOs下配置Vsftp虚拟用户帐号禁止下载权限并在windows下可以登录的详细步骤(成功案例附WIN平台FTP客户端) 本人花了3天的时间做了测试现在正常使用 照着一步一步做就可以成功配置 并提供可以在WINDOWS系统上...
在CentOS5,CentOS6上亲自测试通过
详细演示了在CentOS7.0环境下,设置虚拟用户访问vsFTP服务的过程。包含:配置过程说明文档(PDF)+配置过程演示视频(MP4)
01;Linux系统管理基础命令;Linux开关机基础命令;Linux内核参数;Linux获取系统信息;Linux Systemd 指令;Linux 用户和组常用管理命令;Linux 进程管理命令;...CentOS vsftp 服务的安装;VSFTP服务器搭建