VSFTPD虚拟用户实战配置

简介:

FTP是文件传输协议,正是由于这种协议使得主机间可以共享文件。 FTP 使用TCP生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。

      vsftpd是一款在LINUX发行版中最主流的FTP服务器程序;特点是小巧轻快,安全易用;能让其自身特点得发发挥和掌握。如果使用系统用户登录FTP,是比较危险的,所以我们主要采用vsftpd虚拟用户登录FTP服务器进行常见的操作,当然配置就相对复杂一点。(centos7安装)

1、首先安装FTP以及虚拟用户需要用到的软件及认证模块

yum  install   vsftpd   -y
yum  install  pam*  libdb4-utils  libdb4  --skip-broken  –y

创建并生成vsftpd数据库文件vim /etc/vsftpd/vuser_passwd.txt,内容如下:

第一行为FTP虚拟用户,登录用户名,第二行为密码,第三行为用户名,依次类推。

[root@server vsftpd]# cat /etc/vsftpd/vuser_passwd.txt 
test1
123456
test2
456789

2、生成数据库文件命令

[root@server vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
[root@server vsftpd]# chmod 700 /etc/vsftpd/vuser_passwd.db

3、配置PAM验证文件

       将配置文件vim /etc/pam.d/vsftpd 改为如下两行认证语句:(如果是32位,lib64需改成lib,如果RedHat,加入的语句不一样,需注意)

[root@server vsftpd]# vim /etc/pam.d/vsftpd 
#%PAM-1.0
auth       required           /lib64/security/pam_userdb.so       db=/etc/vsftpd/vuser_passwd 
account      required       /lib64/security/pam_userdb.so       db=/etc/vsftpd/vuser_passwd

4、创建vsftpd映射本地用户

       所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码,也不需要登录。主要用来做虚拟用户映射使用。

[root@server vsftpd]# useradd -s /sbin/nologin ftpuser

5、修改完整版vsftpd.conf配置文件

[root@server vsftpd]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO        //禁止匿名用户访问
local_enable=YES              // 允许本地用户登录FTP        
write_enable=YES             //允许用户在FTP目录有写入的权限
local_umask=022             //设置本地用户的文件生成掩码为022,默认是077
dirmessage_enable=YES             //激活目录信息,当远程用户更改目录时将出现提示信息
xferlog_enable=YES             //启用上传和下载日志功能
connect_from_port_20=YES             //启用FTP数据端口的连接请求
xferlog_file=/var/log/xferlog         
xferlog_std_format=YES             //是否使用标准的ftpd xferlog日志文件格式
ascii_upload_enable=YES             //设定支持ASCII模式的上传功能
ascii_download_enable=YES             //设定支持ASCII模式的下载功能
listen=YES             //使用vsftpd处于独立启动监听端口模式
guest_enable=YES             //设定启用虚拟用户功能
guest_username=ftpuser             //指定虚拟用户的宿主用户,CentOS中已经有内置的ftpuser用户了
pam_service_name=vsftpd             //设置PAM认证服务配置文件名,文件存放在/etc/pam.d/目录
userlist_enable=YES       //用户列表中的用户是否允许登录FTP服务器,默认是不允许
tcp_wrappers=YES       //使用tcp_wrappers作为主机访问控制方式
user_config_dir=/etc/vsftpd/vsftpd_user_conf             //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)
virtual_use_local_privs=YES       //虚拟用户和本地用户有相同的权限
vsftpd_log_file=/var/log/vsftpd.log

       保存重启,service  vsftpd restart 即可使用虚拟用户登录,这时候所有的虚拟用户共同使用/home/ftpuser目录上传下载。

6、如果想使用自己独立的目录,可以在/etc/vsftpd/vsftpd_user_conf目录创建各自的配置文件,如给

test1创建独立的配置文件:

[root@server vsftpd]# vim /etc/vsftpd/vsftpd_user_conf/test1   //内容如下,建立自己的FTP目录。
local_root=/home/ftpuser/test1     //锁定虚拟wugk用户登录FTP后的目录
write_enable=YES                   //表示用户具有创建和删除的权限
anon_world_readable_only=YES    //表示用户可以浏览FTP目录及下载文件
anon_upload_enable=YES          //表示用户可以上传文件
anon_mkdir_write_enable=YES     //表示用户有创建和删除目录的权限
anon_other_write_enable=YES     //表示用户具有文件改名和删除文件的权限
[root@server vsftpd]# vim /etc/vsftpd/vsftpd_user_conf/test2   //内容如下,建立自己的FTP目录。
local_root=/home/ftpuser/test2
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

要创建/home/ftpuser/test1和/home/ftpuser/test2

[root@server vsftpd]# mkdir -p /home/ftpuser/{test1,test2}
[root@server vsftpd]# chown -R ftpuser:ftpuser /home/ftpuser
如果启用vsftpd日志需手动建立日志文件
[root@server vsftpd]# touch /var/log/xferlog
[root@server vsftpd]# touch /var/log/vsftpd.log

重启,使用客户端登录FTP,测试即可。

7、配置PASV模式(可选)

       vsftpd默认没有开启PASV模式,现在FTP只能通过PORT模式连接,要开启PASV默认需要通过下面的配置。


打开/etc/vsftpd/vsftpd.conf,在末尾添加

#开启PASV模式

pasv_enable=YES

#最小端口号

pasv_min_port=61000

#最大端口号

pasv_max_port=61200
pasv_promiscuous=YES

#在防火墙配置内开启40000到40080端口

-A INPUT -m state --state NEW -m tcp -p -dport 40000:40080 -j ACCEPT

#重启iptabls和vsftpd

service iptables restart

service vsftpd restart

现在可以使用PASV模式连接你的FTP服务器了~


      本文转自MQ_douer 51CTO博客,原文链接:http://blog.51cto.com/douer/1929469,如需转载请自行联系原作者






相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux vsFTPd服务详解——文件加密传输配置
Linux vsFTPd服务详解——文件加密传输配置
143 2
|
4天前
|
网络协议 安全 Linux
配置vsftpd服务
FTP是TCP/IP协议族中的应用层协议,用于可靠地传输文件,基于C/S架构,使用20(数据)和21(命令)端口。有两种传输模式:主动模式,客户端告知服务器数据端口,服务器发起连接;被动模式,服务器响应客户端的PASV命令,客户端建立数据连接。安装Linux的vsftpd服务涉及`yum install vsftpd`,创建用户,重启服务并设置开机启动。配置文件`vsftpd.conf`可调整访问权限和行为。通过FTP命令如`help`,`get`,`put`进行文件操作。匿名用户模式可允许无密码访问,需修改配置文件开启。
7 0
|
10月前
|
Linux 数据安全/隐私保护
linux中配置vsftpd
linux中配置vsftpd
88 0
|
安全 Linux 数据安全/隐私保护
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
352 0
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
|
安全 Linux 网络安全
CentOS7下vsftpd over SSL/TLS加密传输配置实践
CentOS7下vsftpd over SSL/TLS加密传输配置实践
398 0
CentOS7下vsftpd over SSL/TLS加密传输配置实践
|
Linux 网络安全 开发工具
【Linux】【CentOS】【FTP】FTP服务器安装与配置2(vsftpd、lftp)
【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)
314 1
【Linux】【CentOS】【FTP】FTP服务器安装与配置2(vsftpd、lftp)
|
Linux
【Linux】【CentOS】【FTP】FTP服务器安装与配置1(vsftpd、lftp)
【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)
243 1
【Linux】【CentOS】【FTP】FTP服务器安装与配置1(vsftpd、lftp)
|
Windows
Vsftpd - 安装 & 配置(Windows)
Vsftpd - 安装 & 配置(Windows)
322 0
Vsftpd - 安装 & 配置(Windows)
|
Linux
Vsftpd - 安装 & 配置(Linux)(下)
Vsftpd - 安装 & 配置(Linux)(下)
100 0
Vsftpd - 安装 & 配置(Linux)(下)
|
Linux Shell 网络安全
Vsftpd - 安装 & 配置(Linux)(上)
Vsftpd - 安装 & 配置(Linux)(上)
130 0
Vsftpd - 安装 & 配置(Linux)(上)