龙空技术网

CentOS7服务搭建----搭建FTP服务器(下)

mugo老猴 282

前言:

现在咱们对“centos7查看ftp日志”大体比较注重,姐妹们都需要知道一些“centos7查看ftp日志”的相关资讯。那么小编在网络上收集了一些关于“centos7查看ftp日志””的相关文章,希望各位老铁们能喜欢,我们一起来了解一下吧!


FTP服务器搭建

接上篇:CentOS7服务搭建----搭建FTP服务器(上)

一、FTP相关配置文件说明

相关配置文件:

/etc/vsftpd/vsftpd.conf, 主配置文件。/etc/vsftpd/ftpusers, 这个文件是用来记录"不允许"登录到FTP服务器的用户,通常是一些系统默认的用户。/etc/vsftpd/user_list,其实它的内容跟上面那个文件内容一样,只是在系统对文件vsftpd.conf 进行检测时,会检测到"userlist_deny=YES",因此这个文件必须存在。

在配置FTP服务器时,主要是修改这些文件中的相关语句.先来将vsftpd.conf文件解析清楚,就知道需要如何配置满足我们的需求了


1.1、vsftpd.conf:主配置文件

# 配置文件/etc/vsftpd/vsftpd.conf示例## 允许匿名FTP?(请注意-如果您对此发表评论,则默认情况下允许)。anonymous_enable=YES //是否允许anonymous登录FTP服务器,默认是允许的。# 取消注释以允许本地用户登录,默认是允许。local_enable=YES# 是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许write_enable=YES# 设置本地用户的文件生成掩码为022,默认是077local_umask=022# 是否允许匿名FTP用户上载文件。只有在激活上述全局写入启用时,此操作才有效。另外,显然需要创建一个FTP用户可写的目录#anon_upload_enable=YES# 是否允许匿名账户在FTP服务器中创建目录.默认是不允许。#anon_mkdir_write_enable=YES# 激活目录信息,当远程用户更改目录时,将出现提示信息。dirmessage_enable=YES# 启用上传和下载日志记录.xferlog_enable=YES# 启用FTP数据端口的连接请求.connect_from_port_20=YES# 设置匿名文件属主转变为指定用户及指定的用户名。注意!不建议匿名用户使用根目录!#chown_uploads=YES#chown_username=whoever#可以重写日志文件的位置。默认值如下所示#xferlog_file=/var/log/vsftpd.log# 是否使用标准的ftpd xferlog日志文件格式xferlog_std_format=YES# 设置空闲的用户会话中断时间,默认是10分钟.#idle_session_timeout=600# 设置数据连接超时时间,默认是120秒.#data_connection_timeout=120# 运行vsftpd需要的非特权系统用户默认是nobody,可以指定#nopriv_user=ftpsecure# 是否允许运行特殊的ftp命令async ABOR.#async_abor_enable=YES# 是否使用ascii码方式上传文件#ascii_upload_enable=YES# 是否使用ascii码方式下载文件#ascii_download_enable=YES# 定制欢迎信息:#ftpd_banner=Welcome to blah FTP service.# 是否允许禁止匿名用户使用某些邮件地址,默认是允许的。#deny_email_enable=YES# 禁止邮件地址的文件路径#banned_email_file=/etc/vsftpd.banned_emails# 是否将系统用户限止在自己的home目录下,默认不限制,如果设置chroot_list_enable=YES,那么只允许/etc/vsftpd.chroot_list中列出的用户被限制.如果希望所有的本地用户都执行者chroot,可以增加一行:chroot_local_user=YES#chroot_list_enable=YES#chroot_list_file=/etc/vsftpd.chroot_list#您可以激活内置ls的“-R”选项。默认禁用,以避免远程用户在大型站点上导致过多的I/O。但是,一些客户端的批量操作(如“ncftp”和“mirror”)需要“-R”选项,这样的场景就需要开启了。.#ls_recurse_enable=YES# 设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下.pam_service_name=vsftpd# 用户列表中的用户是否允许登录FTP服务器,默认是不允许userlist_enable=YES# 使vsftpd 处于独立启动模式listen=YES# 使用tcp_wrqppers作为主机访问控制方式tcp_wrappers=YES

1.2、/etc/vsftpd/ftpusers文件说明

这个文件是用来记录"不允许"登录到FTP服务器的用,通常是一些系统默认的用户。

默认情况下,root和它以下的用户是不允许登录FTP服务器的.可以将不允许登录的用户添加到这里来.但切记每个用户都要单独占用一行.

ftpusers文件内容

1.3、/etc/vsftpd/user_list文件说明

其实它的内容跟上面那个文件内容一样,只是在系统对文件vsftpd.conf 进行检测时,会检测到"userlist_deny=YES",因此这个文件必须存在.下面是这个文件的内容.

user_list文件内容

注意⚠️:如果userlist_deny=NO,则仅允许此文件中的用户;如果userlist_deny=YES(默认),则从不允许此文件中的用户,甚至不提示输入密码。注意,默认的vsftpd pam config还检查/etc/vsftpd/ftpusers以查找被拒绝的用户。

二、虚拟用户的管理

(1) 创建虚拟用户认证及主目录等

系统用户登陆ftp服务,同时也可以登陆系统,所以考虑到系统安全,一般企业使用虚拟用户登录ftp服务器器,所以需要建立ftp虚拟用户,使这些用户只能登陆ftp

建vsftpd使用的系统用户mugo,禁止ssh登录。创建之后所有虚拟用户使用这个系统用户访问文件(所有的虚拟用户其实在系统中都需要有一个映射的用户,但这个用户仅仅作为在系统中的映射作用,所以设置为不可ssh登录系统,不用设置密码,保护系统)

命令:

useradd mugo -s /bin/false

建立映射用户

创建虚拟用户主目录,比如虚拟用户叫mftp01、mftp02和mftp03(每个虚拟用户都可以有自己的主目录,建议千万别吧使用系统的主目录作为任何虚拟用户的主目录),执行下面的命令

mkdir -p /var/ftpdata/mftp0{1,2}

新建虚拟账户主目录

编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root及系统保留用户做用户名,系统保留)

建立虚拟用户名单

根据这个文件创建数据库文件

创建名单数据库文件

启用这个数据库文件,db=/etc/vsftpd/vuser,后面文件名不能是vuser.db,如果写成db=/etc/vsftpd/vuser.db 则实际会将文件识别成loginusers.db.db,required表示用户名认证必须正确,否者直接pass

启用数据库文件

创建虚拟用户配置文件目录

创建虚拟用户配置目录

创建虚拟用户配置用(一个户名对应一个文件)。

虚拟用户mftp01的配置:


虚拟用户mftp01的配置

注意⚠️:这些虚拟账户的配置每一条后面都不能有任何多余的东西,包括空格也不行,多一个都不想,否则虚拟账户登录一直会失败。

虚拟用户mftp02的配置:

虚拟用户mftp02的配置

虚拟用户mftp03的配置:

虚拟用户mftp03的配置

注意⚠️:此例中的mftp03使用的主目录是mftp01的,也即说明,主目录可以共享

(2) 修改主配置文件/etc/vsftpd/vsftpd.conf

文件内容修改为:

anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022#anon_upload_enable=YES#anon_mkdir_write_enable=YESdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YES#chown_uploads=YES#chown_username=whoever#xferlog_file=/var/log/xferlogxferlog_std_format=YES#idle_session_timeout=600#data_connection_timeout=120#nopriv_user=ftpsecure#async_abor_enable=YESascii_upload_enable=YESascii_download_enable=YES#ftpd_banner=Welcome to blah FTP service.#deny_email_enable=YES#banned_email_file=/etc/vsftpd/banned_emailschroot_local_user=YES#chroot_list_file=/etc/vsftpd/chroot_list#ls_recurse_enable=YESlisten=YESlisten_ipv6=NOpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES# 虚拟用户启用guest_enable=YESguest_username=mugouser_config_dir=/etc/vsftpd/vuser_conf/allow_writeable_chroot=YES三、FTP服务定制(安全)

ftp服务配置文件:/etc/vsftpd/vsftpd.conf

这里主要就是限制ftp的上传速度,连接超时时间等等,都是在/etc/vsftpd/vsftpd.conf文件中配置

主要有以下内容:

use_localtime=YES # 使用本地时间max_per_ip=10 # 最多允许同一账号在10个不同的IP登录max_clients=10 # 最多连接数local_max_rate=2500000 # 最大下载速度(字节/秒)idle_session_timeout=300 # session超时时间(秒)data_connection_timeout=300 # 数据连接超时时间(秒)virtual_use_local_privs=YES # NO时,虚拟用户和匿名用户有相同的权限,默认是NOpasv_enable=YES # 开启pasv被动模式pasv_min_port=40000 # 开启pasv被动模式的最小端口pasv_max_port=40010 # 开启pasv被动模式的最大端口pasv_promiscuous=YES # 这个是用于检测pasv的安全检查,YES为关闭安全检查......

按需加入在配置文件中即可。

以上安装配置内容,都已经写成脚本自动执行。


红校生-专注互联技术传道授业!

标签: #centos7查看ftp日志