CentOS 6.7 FTP安装配置之vsftp

简介:

 

RHEL/CentOS 系统中,默认的FTP软件是vsftp,以下是安装配置过程。

 

服务器:balichvm192.168.171.51

 

 

 

1)、yum 安装vsftpd软件包

[root@balichvm ~]# yum install vsftpd

 

2)、启动vsftpd 服务

[root@balichvm ~]# /etc/init.d/vsftpd start    #启动vsftpd服务

 vsftpd 启动 vsftpd         [确定]

[root@balichvm ~]# ps aux |grep vsftpd

root    10054  0.0  0.0 52112   796 ?        Ss  19:00   0:00 /usr/sbin/vsftpd/etc/vsftpd/vsftpd.conf

root    10057  0.0  0.0 103316  900 pts/1    S+   19:00  0:00 grep vsftpd

[root@balichvm ~]# netstat -lnp |grepvsftpd

tcp       0    0 0.0.0.0:21      0.0.0.0:*       LISTEN      10054/vsftpd       

[root@balichvm ~]#

 

 

此时,默认已经有一个ftp实例运行了,开放了匿名用户访问,只可以读取,不可以写入。

vsftpd的配置文件是/etc/ vsftpd目录下,与三个主要的文件如下:

/etc/vsftpd/ ftpusers                 #可以访问ftp服务器的用户

/etc/vsftpd/user_list                #vsftpd.conf的配置结合使用;

/etc/vsftpd/vsftpd.conf               #vsftpd的主配置文件

 

默认开放匿名用户访问的目录是 /var/ftp/pud,那如何配置虚拟用户访问的?

 

3)、配置虚拟用户访问FTP服务。

 

1)、首先在系统上创建一个系统用户,不需要登录系统:

[root@balichvm ~]# useradd virftp -s/sbin/nologin –M

 

2)、创建用于存放虚拟的用户的密码文件:vsftpd_login,格式为单行是用户,双号是密码:

[root@balichvm ~]# vim/etc/vsftpd/vsftpd_login

ftp1

q1w2e3

ftp2

q1w2e3

ftp3

q1w2e3

 

[root@balichvm ~]# chmod 600/etc/vsftpd/vsftpd_login       ##修改权限

 

3)、使用db_load 生成能让vsftpd 服务识别的二进制库文件

格式:db_load -T -t hash -f /etc/vsftpd/vsftpd_login/etc/vsftpd/vsftpd_login.db

[root@balichvm~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

 

4)、创建虚拟帐号,创建虚拟用户的配置文件目录:/etc/vsftpd/vsftpd_user_conf,然后在这个虚拟用户的配置文件目录下创建和/etc/vsftpd/vsftpd_login用户文件里面的用户相同的配置文件,如ftp1.

[root@balichvm~]# mkdir /etc/vsftpd/vsftpd_user_conf       ##虚拟用户配置文件目录

 

local_root=/home/virftp/ftp1

anonymous_enable=NO

write_enable=YES

local_umask=022

anon_upload_enable=NO

anon_mkdir_write_enable=NO

idle_session_timeout=600

data_connection_timeout=120

max_clients=10

local_max_rate=50000

 

(5)、创建ftp的共享目录/data/vsftp/ftp1,并所有者和所属组

[root@balichvm~]# mkdir -p /home/virftp/bftp1

[root@balichvm~]# chown -R virftp:virftp /home/virftp/ftp1

 

 

(6)、编辑/etc/pam.d/vsftpd文件,指定虚拟用户认证的文件

auth       sufficient   /lib64/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login

account    sufficient  /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

 

把这两行插入进去。

 

(7)、修改主配置文件/etc/vsftpd/vsftpd.conf,修改如下:

anonymous_enable=YES       修改为:anonymous_enable=NO        #关闭匿名访问

#anon_upload_enable=YES    修改为:anon_upload_enable=NO      #关闭匿名上传权限

#anon_mkdir_write_enable=YES  修改为:anon_mkdir_write_enable=NO  

#chroot_local_user=YES     修改为:chroot_local_user=YES    #去掉#注释

 

在后面加入如下配置:

 

guest_enable=YES                                  #开启來宾用户

guest_username=virftp                               #映射的系统用户

virtual_use_local_privs=YES                         #虚拟用户使用系统用户的权限

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

 

(8)、重启vsftpd服务。

[root@balichvm~]# /etc/init.d/vsftpd restart

关闭 vsftpd                             [确定]

 vsftpd 启动 vsftpd                         [确定]

 

 

添加防火墙的规则:

[root@balichvm src]# vim/etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp--dport 21 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 20 -j ACCEPT

 

同时需要在/etc/sysconfig/iptables-config 文件上修改如如下:

IPTABLES_MODULES="ip_conntrack_netbios_nsip_conntrack_ftp ip_nat_ftp"

 

如果不修改/etc/sysconfig/iptables-config ,会无法读取目录列表。

 

[root@balichvm src]#/etc/init.d/iptables  restart                #重启防火墙服务

iptables:将链设置为政策 ACCEPTfilter                    [确定]

iptables:清除防火墙规则:                              [确定]

iptables:正在卸载模块:                                 [确定]

iptables:应用防火墙规则:                                [确定]

iptables:载入额外模块:ip_conntrack_netbios_nsip_conntrac[确定]ip_nat_ftp

 

 

这里的配置还是比较简单,可以根据各自的情况修改主配置文件/etc/vsftpd/vsftpd.conf.



本文转自 巴利奇 51CTO博客,原文链接:http://blog.51cto.com/balich/1710467

相关文章
|
13天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
14天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
90 1
Linux系统之Centos7安装cockpit图形管理界面
|
21天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
62 3
|
22天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
38 2
|
24天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
73 2
|
28天前
|
Linux 知识图谱
Centos7安装killall,fuser, killall,pstree和pstree.x11
通过上述步骤,您已在CentOS 7系统中成功部署了killall、fuser、pstree以及pstree.x11,为高效管理系统进程打下了坚实基础。更多关于服务器管理与优化的知识,获取全面技术支持与解决方案。
44 1
|
28天前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
66 1
|
10天前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
|
1月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
109 1
下一篇
无影云桌面