今天在现场做系统迁移,原来准备采用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中vsftp虚拟用户配置是一种常见的文件服务器配置方式,本文将介绍在CentOS5.3下vsftp虚拟用户配置的实例,该配置方式可以在CentOS5中通用。 vsftp虚拟用户配置的主要步骤 1. 安装db4-utils软件包 在开始...
在安装 vsftpd 之后,需要配置 vsftpd,以便实现匿名用户的上传和下载操作。可以使用以下命令来修改 vsftpd 的配置文件: vim /etc/vsftpd/vsftpd.conf 在配置文件中,需要添加以下内容,以便实现匿名用户的上传和...
本篇将详细介绍如何在 CentOS 6.8 中安装、配置并运行 VSFTPD 服务。 #### 二、安装 VSFTPD 通过 `yum` 包管理器安装 VSFTPD: ```bash # 安装 VSFTPD yum -y install vsftpd ``` #### 三、启动 VSFTPD 服务 安装...
在centos65系统中配置VSFTP服务器需要了解以下知识点: 1. 安装VSFTP服务器:使用命令 `yum install vsftpd`安装VSFTP服务器。 2. VSFTP服务器配置文件:默认配置文件位于 `/etc/vsftpd/vsftpd.conf`,需要编辑该...
centos65-VSFTP服务器配置.doc
在CentOS7操作系统中,搭建vsFTP服务是一项常见的任务,主要用于提供文件传输服务。vsFTPd(Very Secure FTP Daemon)是一个安全、快速且可高度定制的FTP服务器软件。以下是详细步骤和相关知识点: 首先,确保系统...
【标题】:“CentOS安装vsftp” 在Linux环境中,VSFTPD(Very Secure FTP Daemon)是一种流行的FTP服务器软件,尤其适用于CentOS系统。它以其安全性和易管理性著称。以下将详细介绍如何在CentOS上安装和配置VSFTPD...
我们需要向centos操作系统的服务器上上传文件或者下载文件,这时候,ftp有必要安装下,本文为大家分享了vsftp服务的安装方法,供大家参考,具体内容如下 我们选择主流的vsftp; 第一步:安装vsftp yum install -y ...
### CentOS 6.3 安装与配置 ...以上步骤详细介绍了如何在 CentOS 6.3 上安装与配置 vsftp 服务,包括配置文件的详细设置和示例。通过这些步骤,你可以根据实际需求灵活调整 vsftp 的配置,从而更好地满足项目需求。
安装配置vsftpd做FTP服务,...在安装前查看是否已安装vsftpd # 查看是否已安装 方法一 [root@localhost ~]# rpm -q vsftpd vsftpd-3.0.2-21.el7.x86_64 # 查看是否已安装 方法二 [root@localhost ~]# vsftpd -v vsftp
下面我们将详细讲解如何在Linux环境中安装并配置VSFTP。 首先,我们需要通过包管理器安装必要的组件。在这个例子中,我们使用的是`yum`命令,它适用于基于RPM的系统如CentOS或Fedora。运行以下命令来安装VSFTP及其...
在CentOS 5.3系统下配置vsftpd(Very Secure FTP Daemon)以创建并管理新的FTP用户是一项关键的IT技能,尤其对于那些负责维护服务器和确保数据安全的专业人士而言。下面将详细介绍如何在CentOS 5.3环境中通过vsftpd...
在升级Vsftpd之前,需要安装一些必要的组件,包括pam、pam-devel和db4-utils。使用yum命令安装这些组件: ``` yum install pam yum install pam-devel yum install db4-utils ``` 2. 安装Vsftpd 3.0.2 下载Vsftpd ...
在CentOS 6.5上配置VSFTP服务器,需要掌握以下几个关键知识点: 1. **安装与服务启动**: 安装VSFTP服务器可以使用`yum install vsftpd`命令。安装完成后,启动服务使用`service vsftpd start`,若要设置开机启动...
在CentOS 6.5中配置VSFTPD服务器,需要掌握以下关键知识点: **1. 安装VSFTPD** 安装VSFTPD服务器,可以使用`yum`包管理器,命令如下: ``` yum install vsftpd ``` **2. 配置文件** VSFTPD的主要配置文件位于`/...
在 CentOS 7 中,可以通过 `rpm` 命令来检查 vsftpd 是否已经安装在系统中: ```bash rpm -aq | grep vsftpd ``` 如果系统中已经安装了 vsftpd,此命令将会显示 vsftpd 的版本号。如果没有安装,则不会有任何输出...