`
sky1129
  • 浏览: 11659 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

vsftpd 搭建虚拟用户FTP服务器

阅读更多

概述:所谓虚拟用户,就是指客户端登录时所使用的FTP用户名和密码在系统里并不真实存在;实际上每个虚拟用户是通过一个真实的本地用户来登录FTP服务器的。这样做可以有效的控制服务器的安全,因为用户并不真实存在,所以该用户不能远程登录,也不能从物理上登录该系统,从而达到了保护服务器的目的。

 

软件来源:http://vsftpd.beasts.org

软件版本:vsftpd-2.0.7.tar.gz

操作系统:RedHat Enterprise Linux AS4

1.       编译安装源码,可参考帮助文件(INSTALL)

# tar zxvf vsftpd-2.0.7.tar.gz //解压软件包

# cd vsftpd-2.0.7               //进入解压后的目录

# make && make install             //编译并安装

# chkconfig vsftpd off             //关闭进程守护模式

#which vsftpd  //查看vsftpd服务的安装路径

2.添加一个本地用户,并且禁止其SSH方式登录

# useradd -s /sbin/nologin ftpuser

 

3.  安装配置文件

cp vsftpd.conf /etc   //拷贝主配置文件到/etc目录下

cp RedHat/vsftpd.pam /etc/pam.d/ftp

 

4.  编辑配置文件/etc/vsftpd.conf

vi /etc/vsftpd.conf

local_enable=YES     //打开本地用户

local_umask=022   //本地用户创建文件夹和上传文件的权限,实际值=777-umask

connect_from_port_20=YES    //连接端口为20

max_per_ip=4         //每个IP最多连接4个客户端

max_clients=200      //FTP最多支持200个用户

listen=YES        //打开监听模式,否则需要用守护模式启动服务

guest_enable=YES //开启虚拟用户访问功能

guest_username=ftpuser   //虚拟用户实际用ftpuser用户来登录

pam_service_name=ftp.vu     //密码验证方式

user_config_dir=/etc/vsftpd_user_conf //虚拟用户的配置文件所在的目录

 

注:因为主配置文件是被先读的,然后再读用户的配置文件。所以

在主配置文件中给的权限越低,在后面用户管理的时候对用户的权限划分的空间就越大

 

4.编辑验证方式文件

# vi /etc/pam.d/ftp.vu

#auth     required /lib/security/pam_userdb.so db=/etc/vsftpd_login

#account  required /lib/security/pam_userdb.so db=/etc/vsftpd_login

auth        required    pam_userdb.so db=/etc/vsftpd_login

account     required    pam_userdb.so db=/etc/vsftpd_login

5.编辑虚拟用户和密码

# vi /tmp/login.txt

zhenfeng.qiao   //用户名

qzf123         //密码

xingchang.zhang

zxc123

….

….

 

6.虚拟用户的权限控制

# mkdir /etc/vsftpd_user_conf

/etc/vsftpd_user_conf目录下用虚拟用户的登录名来命名其配置文件

给用户zhenfeng.qiao添加配置文件

# vi /etc/vsftpd_user_conf/zhenfeng.qiao

注意:= 前后不能有空格

//限制虚拟用户登录的主目录

local_root=/home/developer/personal

//准许虚拟用户可以浏览

anon_world_readable_only=no

//开放写的权限

write_enable=yes

//禁止上传权限

anon_upload_enable=no

//开放创建目录的权限

anon_mkdir_write_enable=yes

//其他写权限,如:重命名

anon_other_write_enable=yes

 

同样可以创建xingchang.zhang文件,给xingchang.zhan用户创建不同的权限,以达到控制虚拟用户不同的访问权限的目的。

 

7.建立访问者的口令库文件,然后修改其权限

# db_load -T -t hash -f /tmp/login.txt /etc/vsftpd_login.db

# chmod 600 /etc/vsftpd_login.db

 

8.开启FTP服务

# /usr/local/sbin/vsftpd &      #后台运行

# netstat –tnlp               #查看21端口是否已打开 

 

//修改配置文件后vsftpd服务重启

# killall -1 vsftpd

 

9. 本机测试

# ftp localhost

如下:

[root@server /]# ftp localhost

Connected to localhost.

220 Welcome to newtouch ftp service....

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (localhost:root): zhenfeng.qiao

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>ls

 

 

注意:用ftp上传文件的时候,出现553 Could not create file错误解决:

修改ftp用户主目录权限

假设是/home/developer

这个目录的权限应该是770ownerrootgroupftpuser

chmod 770 /home/ developer

chown root:ftpuser /home/ developer

 

 

0
0
分享到:
评论

相关推荐

    CentOS7.4中使用Vsftpd搭建FTP服务器.docx

    ### CentOS 7.4 中使用 Vsftpd 搭建 FTP 服务器 #### 一、安装与启动 FTP 服务 1. **查询 vsftpd 是否已预装:** - 使用 `rpm -q vsftpd` 命令来确认系统是否已经安装了 vsftpd。如果该命令返回 “package vsftpd...

    麒麟V10服务器搭建FTP服务

    FTP(File Transfer Protocol)是一种常用的文件传输协议,麒麟V10服务器搭建FTP服务可以帮助用户快速搭建FTP服务器,实现文件的上传、下载和共享。本文将指导用户如何在麒麟V10服务器上搭建FTP服务,包括匿名用户...

    匿名搭建,本地用户搭建,虚拟用户搭建ftp.doc

    本文将详细讨论如何搭建三种类型的FTP服务器:匿名FTP、本地用户FTP以及虚拟用户FTP。 **匿名FTP搭建** 匿名FTP允许任何用户访问服务器上的特定资源,通常用于提供公开下载的文件。在Linux系统中,使用`vsftpd`...

    搭建和配置FTP服务器.zip

    根据实际需求,还可以配置FTP服务器支持SSL/TLS加密,设置被动模式以穿透NAT和防火墙,以及使用虚拟用户和群组进行更细粒度的权限控制。 总的来说,搭建和配置FTP服务器涉及网络协议、操作系统管理、用户权限和安全...

    rehl-linux-Server6搭建vsftpd服务器

    通过以上步骤,我们就能够在Red Hat Linux Server 6上成功搭建一个基于VSFTPD的虚拟用户FTP服务器,实现多用户独立访问和管理文件的环境。这不仅提高了系统的安全性,也便于管理和控制FTP服务。

    linux下搭建ftp服务器

    搭建 Linux 下的 FTP 服务器需要安装 vsFTPd 软件,添加虚拟主机用户,配置 vsFTPd,添加匿名访问,配置 FTP 用户,启动 FTP 服务器,最后测试 FTP 服务器。通过这些步骤,可以成功搭建一个 Linux 下的 FTP 服务器。

    Fedora下搭建FTP服务器

    vsftpd 服务器软件具有高速、稳定性和高安全性的特点,它支持虚拟用户、匿名服务、带宽限制等功能。 在 Fedora 中安装 vsftpd 服务器软件非常简易,只需要使用 yum 软件包管理工具来安装。安装完成后,需要启动 ...

    Shell脚本搭建FTP服务器(vsftpd)

    总结来说,这个Shell脚本提供了一种自动化搭建FTP服务器(使用vsftpd)的方法,包括安装必要的软件、创建用户数据库、配置PAM和vsftpd服务,以及设定用户权限。这个脚本适用于Ubuntu 13和Linux Mint 15,但对于其他...

    Linux的Ftp服务器搭建的个人总结

    搭建FTP服务器可以让用户远程访问、上传或下载文件。以下是我个人关于在Linux上搭建FTP服务器的一些总结: 1. **选择FTP服务器软件** 在Linux中,常用的FTP服务器软件有vsftpd、ProFTPD和PureFTPd。本篇主要介绍...

    vsftpd FTP服务器架设

    本文将详细介绍如何使用VSFTPD搭建FTP服务器,并探讨其配置与安全特性。 首先,安装VSFTPD是搭建FTP服务器的第一步。在大多数Linux发行版中,可以通过包管理器进行安装,例如在Ubuntu或Debian上使用`sudo apt-get ...

    Centos 下搭建FTP上传下载服务器

    Vsftpd是一个专为安全设计的轻量级FTP服务器软件,广泛应用于Linux系统中。安装vsftpd后,需要重启服务以确保配置生效。 配置文件位于/etc/vsftpd/vsftpd.conf,是整个FTP服务器设置的核心。通过编辑该配置文件,...

    使用VSFTPD架设FTP服务器

    本文将详细介绍如何使用VSFTPD搭建FTP服务器。 首先,了解FTP服务器的基本概念。FTP服务器是运行FTP服务的计算机程序,它允许用户通过FTP协议上传、下载或管理远程文件。VSFTPD,全称“Very Secure FTP Daemon”,...

    vsftpd构建FTP服务器.doc

    例如,如果要创建一个只允许特定IP地址访问的FTP服务器,可以在`vsftpd.conf`中设置`local_enable=YES`以启用本地用户登录,然后利用`chroot_local_user=YES`将用户限制在其主目录中,以提高安全性。对于特定IP的...

    Centos7下安装vsftpd并启用虚拟用户访问

    ### Centos7下安装vsftpd并启用虚拟用户访问 #### 一、环境搭建与软件安装 在CentOS 7环境中部署vsftpd并实现虚拟用户登录,首先...通过这种方式,可以有效地管理FTP服务器上的用户访问权限,提高安全性与灵活性。

    linux下搭建ftp虚拟主机的配置过程,一台服务器多FTP站点.docx

    在 Linux 系统中,我们可以通过添加虚拟 IP 地址、创建虚拟 FTP 服务用户、预备虚拟 FTP 服务器的配置文件、修改配置文件和启动虚拟 FTP 服务器来搭建一个虚拟的 FTP 主机。这种配置可以实现多个 FTP 站点的配置,...

    如果您想主机搭建一个FTP服务器可以下载一下这个软件很好用

    要搭建一个FTP服务器,你需要一些专门的软件来实现这一功能。标题提到的“这个软件”可能是指的像FileZilla Server、PureFTPd、vsftpd等常见的FTP服务器软件,这些软件可以帮助你在自己的主机上创建并管理FTP服务,...

Global site tag (gtag.js) - Google Analytics