`
yangle926
  • 浏览: 57890 次
  • 性别: Icon_minigender_1
  • 来自: 洛阳
社区版块
存档分类
最新评论

CentOS7下使用vsftpd服务传输文件

阅读更多

《Linux就该这么学》第11章 使用vsftpd服务传输文件

vsftpd服务程序三种认证模式:匿名开放模式、本地用户模式、虚拟用户模式。

FTP协议默认使用了20、21号端口,其中端口20(数据端口)用于传输数据,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。

FTP协议有两种工作模式:

▶主动模式:FTP服务器主动向客户端发起连接请求。

▶被动模式:FTP服务器等待客户端发起连接请求(FTP的默认工作模式)。

# yum -y install vsftpd

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

# grep -v "#" /etc/vsftpd/vsftpd.conf.bak > /etc/vsftpd/vsftpd.conf

# cat /etc/vsftpd/vsftpd.conf

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

ftp 是 Linux 系统中以命令行界面的方式来管理 FTP 传输服务的客户端工具。

# yum -y install ftp

匿名开放模式

vsftpd 服务程序默认开启了匿名开放模式,我们需要做的就是开放匿名用户的上传、下载文件的权限,以及让匿名用户创建、删除、更名文件的权限。

# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES

anon_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

# systemctl restart vsftpd

# systemctl enable vsftpd

在 vsftpd 服务程序的匿名开放认证模式下,其账户统一为 anonymous,密码为空。

另一台Linux主机登录测试:

       # ftp 192.168.1.200

       anonymous | cd pub | mkdir mydir1 =>550 Create directory operation failed.

因为默认/var/ftp/pub的权限为 # ls -ld /var/ftp/pub

drwxr-xr-x. 2 root root 6 8月   3 2017 /var/ftp/pub

# chown -Rf ftp /var/ftp/pub

# getsebool -a | grep ftp  ==查看与FTP 相关的SELinux 域策略都有哪些

# setsebool -P ftpd_full_access=on  ==-P 参数让修改过的策略永久生效

本地用户模式

# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

# systemctl restart vsftpd

ftpusers 和 user_list文件中存在的用户是被禁掉的用户。

此时其他普通用户可以正常使用ftp功能,默认访问的是该用户的家目录。

虚拟用户模式

第1步:创建用于进行 FTP 认证的用户数据库文件,其中奇数行为账户名,偶数行为密码。

       # cd /etc/vsftpd/

       # vim vuser.list

              zhangsan

              redhat

              list

              redhat

       # db_load -T -t hash -f vuser.list vuser.db  ==使用db_load 命令用哈希(hash)算法将原始的明文信息文件转换成数据库文件

         # chmod 600 vuser.db

         # rm -rf vuser.list

第2步:创建 vsftpd 服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户。

       # useradd -d /var/ftproot -s /sbin/nologin virtual

       # chmod –Rf 755 /var/ftproot/

第3步:建立用于支持虚拟用户的 PAM(可插拔认证模块 )文件。

新建一个用于虚拟用户认证的PAM 文件vsftpd.vu,其中PAM 文件内的“db=”参数为使用db_load 命令生成的账户密码数据库文件的路径,但不用写数据库文件的后缀:

         # vim /etc/pam.d/vsftpd.vu

auth         required pam_userdb.so db=/etc/vsftpd/vuser

account    required pam_userdb.so db=/etc/vsftpd/vuser

第4步:在vsftpd 服务程序的主配置文件中通过pam_service_name 参数将PAM 认证文件的名称修改为vsftpd.vu,PAM 作为应用程序层与鉴别模块层的连接纽带,可以让应用程序根据需求灵活地在自身插入所需的鉴别功能模块。当应用程序需要PAM 认证时,则需要在应用程序中定义负责认证的PAM 配置文件,实现所需的认证功能。

         #vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

guest_enable=YES

guest_username=virtual

allow_writeable_chroot=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd.vu

userlist_enable=YES

tcp_wrappers=YES

第5步:为虚拟用户设置不同的权限。

         # mkdir /etc/vsftpd/vusers_dir/

         # cd /etc/vsftpd/vusers_dir/

         # touch lisi

         # vim zhangsan

             anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

         # vim /etc/vsftpd/vsftpd.conf

                   user_config_dir=/etc/vsftpd/vusers_dir     ==在最后面添加此行内容

         # systemctl restart vsftpd

第6步:设置 SELinux 域允许策略,然后使用虚拟用户模式登录 FTP 服务器。

         # getsebool -a | grep ftp

                   ftpd_full_access --> on

         # setsebool -P ftpd_full_access=on

 

…测试OK

 

分享到:
评论

相关推荐

    CentOS 7.0 使用Vsftpd服务传输文件.zip

    **CentOS 7.0 使用Vsftpd服务传输文件** Vsftpd(Very Secure FTP Daemon)是一款在Linux系统中广泛使用的FTP服务器软件,以其高度的安全性和可配置性而备受推崇。在CentOS 7.0操作系统中,我们可以利用Vsftpd来...

    centos7下的vsftpd-3.0.4的rpm包

    标题中的"centos7下的vsftpd-3.0.4的rpm包"指的是适用于CentOS 7操作系统的VSFTPD 3.0.4版本的RPM(Red Hat Package Manager)安装包。RPM是一种用于Linux发行版的软件包管理器,它简化了软件的安装、升级和卸载过程...

    centos7上安装与卸载vsftpd服务器

    vsftpd (Very Secure FTP Daemon) 是 Linux 系统上一款广泛使用的文件传输协议 (FTP) 服务器软件。它以轻量级、高效能著称,尤其适合在资源有限的环境下提供稳定的文件传输服务。vsftpd 的优势在于它能够提供高度的...

    centos7部署vsftpd.docx

    Centos7 部署 VSFTPD VSFTPD 是一个基于 GPL 许可的 FTP 服务器实现,广泛应用于 Linux 操作系统中。CentOS 7 作为一个流行...遵循这些步骤,可以轻松地在 CentOS 7 上部署 VSFTPD 服务器,满足 FTP 文件传输的需求。

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

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

    Centos7环境下vsftpd服务器搭建.docx

    在CentOS 7环境下搭建vsftpd服务器,主要涉及FTP服务的原理、工作模式、vsftpd的特性以及三种认证模式。FTP是一种广泛使用的文件传输协议,基于客户端/服务器架构,通过20号端口进行数据传输,21号端口接收命令。FTP...

    CentOS 7中vsftpd服务安全部署(匿名用户、本地用户、虚拟用户管理).docx

    在 CentOS 7 中,部署 vsftpd 服务以允许本地用户登录通常涉及以下步骤: 1. 创建系统用户:通过 `useradd` 命令创建新的用户账户,如 `useradd myuser`。 2. 设置权限:确保用户家目录具有适当的权限,通常设置为 ...

    vsftpd-v3.0.4-centos7.rar

    【vsftpd-v3.0.4-centos7.rar】是一个包含最新版本的VSFTPD (Very Secure FTP Daemon) 的压缩包,适用于CentOS 7.9及其衍生系统,如Red Hat Enterprise Linux 7.x。VSFTPD是Linux环境下常用的FTP服务器软件,以其...

    Centos下使用vsftpd安装ftp服务v1.2

    本文将详细介绍如何在CentOS下使用vsftpd(Very Secure FTP Daemon)这个轻量级且安全的FTP服务器软件来安装FTP服务。vsftpd是Linux环境中广泛使用的FTP服务器,以其安全性、稳定性以及易用性而受到青睐。 1. 文档...

    centOs 下安装配置vsftpd

    ### CentOS 下安装与配置 VSFTPD 服务 #### 一、概述 VSFTPD(Very Secure FTP Daemon)是一款广泛使用的FTP服务器程序,以其安全性著称。本文将详细介绍如何在CentOS系统上安装并配置VSFTPD服务,使用户能够安全...

    vsftpd搭建ftp服务器 centos7.5 .zip

    在Linux系统中,FTP(File Transfer Protocol)是一种广泛使用的文件传输协议,用于在客户端和服务器之间交换文件。本文将详细讲解如何在CentOS 7.5操作系统上利用vsftpd搭建一个安全且功能完备的FTP服务器。vsftpd...

    CentOS_vsftpd的安装与配置

    ### CentOS vsftpd的安装与配置详解 在深入解析如何在CentOS系统上安装与配置vsftpd(Very secure FTP daemon)...通过以上步骤,你就可以在CentOS系统上成功安装并配置vsftpd服务,实现安全稳定的FTP文件传输功能。

    linux的centOS7.5(1804)版本的vsftpd+ftp客户端rpm安装包

    在CentOS 7中,你可以通过以下步骤安装VSFTPD: 1. 更新系统: ```bash sudo yum update -y ``` 2. 安装RPM包: ```bash sudo rpm -ivh vsftpd-3.0.2-29.el7_9.x86_64.rpm ``` 3. 启动服务: ```bash ...

    CentOS7 ftp服务离线安装.zip

    FTP(File Transfer Protocol)服务是Linux系统中常见的网络服务之一,用于在不同计算机之间传输文件。离线安装FTP服务在没有互联网连接或者网络环境受限的情况下非常有用。本教程将详细介绍如何在CentOS 7上离线...

    centos 5.5+Vsftpd-2.3.4

    本文将详细介绍CentOS 5.5下安装Vsftpd 2.3.4的步骤,包括下载最新版本、安装前准备、解压安装、编译vsftpd、配置vsftpd等。 一、下载最新版本 Vsftpd是目前最流行的FTP服务器软件之一,最新版本可以从官方网站...

    Centos7 ftp安装配置

    vsftpd 是一个常用的 FTP 服务器软件,本文将详细介绍如何在 Centos7 操作系统中安装和配置 vsftpd 服务器。 一、安装 vsftpd 首先,需要使用 yum 包管理工具安装 vsftpd 服务器。使用以下命令安装 vsftpd: ``` ...

    阿里云ECS CentOS7 Linux配置FTP-vsftpd.docx

    通过本文档的学习,您可以掌握在CentOS 7环境下搭建vsftpd的基本步骤,并能够将其应用于其他类似的Linux环境中。 #### 环境配置与准备 在进行vsftpd的安装与配置之前,确保您的环境已经满足以下要求: - **操作...

    centos7.2-vsftpd安装配置步骤

    ### CentOS 7.2 下 VSFTPD 安装与虚拟用户访问配置详解 #### 一、概述 在 CentOS 7.2 系统中安装与配置 VSFTPD 服务,并实现虚拟用户登录功能,可以有效地增强 FTP 服务的安全性和灵活性。虚拟用户登录允许管理员...

    CentOS搭建vsftpd服务器详解.pdf

    为了提高安全性,建议进一步配置防火墙规则,限制对FTP服务的访问,以及启用SSL/TLS加密以保护数据传输。这通常涉及到设置iptables规则和配置vsftpd的SSL支持。记住,始终要定期更新软件以保持系统安全。

    CentOS 7 FTP-Server部署

    在Linux系统如CentOS 7中搭建FTP服务器可以帮助我们更加高效地管理文件。 #### 二、安装与配置FTP服务器 1. **安装FTP服务器** - 使用`yum`命令安装`vsftpd`服务: ```bash yum install -y vsftpd ``` 其中`-y...

Global site tag (gtag.js) - Google Analytics