unix/linux下curses库开发指南_上海吉库展览展示服务有限公司_linux 数据库服务器

上文:Linux服务器配置-VSFTP服务配置(四)

使用虚拟用户登陆FTP服务器是最安全的一种认证模式,由于用于登陆FTP服务器的用户名在Linux中不是真实存在的(非本地用户),虽然通过抓包工具得到了用户名及密码,也不能用于登陆Linux系统

一、配置前的打算工作

1、安装db4-utils软件包

因为在配置时,须要使用db_load,用哈希(hash)算法将明文的虚拟用户秘钥文件转换成数据库文件,所以须要安装db4-utils这个软件包。

yuminstall-ydb4-utils

2、db_load说明

句型:db_load[-nTV][-cname=value][-ffile][-hhome][-Ppassword][-tbtree|hash|recno|queue]db_file

选项:

-T容许应用程序才能将文本文件转译载入进数据库。倘若指定了选项-T,这么一定要追跟子选项-t

-t子选项-t追加在-T选项后,拿来指定转译载入的数据库类型,-t可以指定的数据类型有Btree、Hash、Queue和Recon数据库。

-f参数前面接包含用户名和密码的文本文件,文件的内容是:偶数行为用户名、偶数行为密码。

3、配置文件相关配置项重点说明

a、因为虚拟用户是通过映射本地用户来登入FTP的,所以配置文件中local_enable配置项必须设为YES(local_enable=YES)。

b、虚拟用户的权限控制是使用匿名用户的配置项来实现的,要想虚拟用户具有写操作的权限,可以通过以下配置项来实现,另外将配置项anonymous_enable设为NO,并不影响虚拟用户登入FTP服务器。

anon_upload_enable=YES|NO

anon_other_write_enable=YES|NO

anon_mkdir_write_enable=YES|NO

配置项具体解释请参见—Linux服务器配置-VSFTP服务配置(二)。

c、用户访问控制配置项,也适用于虚拟用户配置,可依照具体配置情况,将不容许访问FTP的虚拟用户添加到访问控制列表中。

userlist_enable=YES|NO

userlist_deny=YES|NO

userlist_file=/etc/vsftpd/user_list

配置项具体解释请参见—Linux服务器配置-VSFTP服务配置(四)。

d、通过user_config_dir设置项,可以为每位虚拟用户设置不同的配置文件,但配置文件名需与虚拟用户名相同。没有单独配置文件的虚拟用户,适用于主配置文件。

二、实例说明使用数据库文件形式配置虚拟用户认证登陆FTP服务器

1、配置软件环境说明。

CentOS6系统:

CentOSrelease6.10(Final)

vsftpd-2.2.2-24.el6.x86_64

RHEL7系统

RedHatEnterpriseLinuxServerrelease7.6(Maipo)

vsftpd-3.0.2-25.el7.x86_64

linux 数据库服务器_unix/linux下curses库开发指南_上海吉库展览展示服务有限公司

服务器配置要求:

2、防火墙配置。

vsftpd服务的防火墙配置已在—Linux服务器配置-VSFTP服务配置(三)中加以说明,这儿不再重复。

3、创建虚拟用户明文秘钥文件。

文件的内容是:质数行为虚拟用户名、偶数行为用户密码。当FTP虚拟用户与本地用户重名时,为了系统安全访问FTP服务器的密码一定不要与登陆Linux系统的密码相同。

vim/etc/vsftpd/virusers.txt

上海吉库展览展示服务有限公司_unix/linux下curses库开发指南_linux 数据库服务器

4、生成虚拟用户秘钥认证数据库文件。

将明文秘钥文件,使用db_load转化成数据库文件。为了安全起见,再转化为数据库文件后,可删掉后面创建的虚拟用户明文秘钥文件。

db_load-T-thash-f/etc/vsftpd/virusers.txt/etc/vsftpd/virusers.db

上海吉库展览展示服务有限公司_linux 数据库服务器_unix/linux下curses库开发指南

5、编辑vsftpd服务的PAM认证文件(/etc/pam.d/vsftpd)。

vim/etc/pam.d/vsftpd

在PAM认证文件中,加入以下两行,并注释掉其他行。其他行为本地用户登录时的验证项。另外,PAM认证文件中“db=”的参数为使用db_load命令生成的数据库文件的路径,但不写数据库文件的后缀名。

authrequiredpam_userdb.sodb=/etc/vsftpd/virusers

accountrequiredpam_userdb.sodb=/etc/vsftpd/virusers

linux 数据库服务器_上海吉库展览展示服务有限公司_unix/linux下curses库开发指南

另外,可单独在/etc/pam.d/目录中创建用于虚拟用户的PAM认证文件,但须要在vsftpd服务配置文件中,更改pam_service_name配置项来加以明晰。

6、创建本地映射用户linux系统下载官网,并设置FTP目录的权限。

在Linux系统中文件都有所有者、所属组的属性,当使用虚拟用户创建文件时,都会造成文件权限出现错误(由于虚拟用户不是系统本地用户)。因此,须要创建一个本地映射用户,也就是说suse linux,让虚拟用户默认登陆到与之有映射关系的这个本地用户的目录中,虚拟用户创建的文件的属性都归属于这个本地用户。为了安全起见,可将这个本地用户设置为不容许登陆Linux服务器。

adduser-d/var/vftproot-s/sbin/nologinvirftp

chmod-R755/var/vftproot

linux 数据库服务器_上海吉库展览展示服务有限公司_unix/linux下curses库开发指南

7、备份配置文件

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

8、修改配置文件

vim/etc/vsftpd/vsftpd.conf

listen_port=21

connect_from_port_20=NO

pasv_enable=YES

pasv_min_port=59800

pasv_max_port=59900

listen=YES

linux 数据库服务器_上海吉库展览展示服务有限公司_unix/linux下curses库开发指南

listen_ipv6=NO

max_clients=0

max_per_ip=0

one_process_model=NO

accept_timeout=60

data_connection_timeout=300

idle_session_timeout=300

dirmessage_enable=YES

message_file=.message

write_enable=YES

download_enable=YES

chroot_local_user=YES

tcp_wrappers=YES

userlist_enable=YES

userlist_deny=YES

userlist_file=/etc/vsftpd/user_list

xferlog_enable=YES

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

use_localtime=YES

anonymous_enable=NO

anon_umask=022

local_enable=YES

guest_enable=YES

guest_username=virftp

virtual_use_local_privs=NO

user_config_dir=/etc/vsftpd/vuser_config

pam_service_name=vsftpd

在RHEL7系统中,配置文件还须要加入以下配置项。

allow_writeable_chroot=YES

新版(2.3.5以上)的vsftpd程序为了安全,FTP目录没有写权限,才准许用户登入,也可将此项设置为YES。

9、重启vsftpd服务

servicevsftpdrestart

systemctlrestartvsftpd

10、为虚拟用户单独创建配置文件及相应目录,已调整各个虚拟用户的不同访问权限。

同过上述配置及主配置文件可以看出,现今所有虚拟用户的访问权限为:所有虚拟用户都可以登入FTP服务器linux 数据库服务器,FTP的家目录为/var/vftprootlinux 数据库服务器,并具有浏览和下载文件的权限。

创建自定义虚拟用户配置文件所在的目录

mkdir-p/etc/vsftpd/vuser_config

为虚拟用户单独创建配置文件及相应目录

vim/etc/vsftpd/vuser_config/snowfox#创建snowfox虚拟用户的配置文件

加入以下配置项:

anon_upload_enable=YES

anon_other_write_enable=YES

anon_mkdir_write_enable=YES

mkdir/var/vftproot/wendy#创建wendy虚拟用户家目录

chownvirftp:virftp/var/vftproot/wendy/#修改目录的所有者及所属组为本地映射用户virftp

chmod755/var/vftproot/wendy/#修改目录权限

vim/etc/vsftpd/vuser_config/wendy#创建wendy虚拟用户的配置文件

加入以下配置项:

local_root=/var/vftproot/wendy

anon_upload_enable=YES

anon_other_write_enable=YES

anon_mkdir_write_enable=YES

因为vsftpd的主配置文件,早已满足了itcat虚拟用户的要求,顾不需为其完善单独的配置文件。

11、SELinux设置

修改vsftp的SELinux布尔变量

setsebool-Pftp_home_diron

setsebool-Pallow_ftpd_full_accesson

上海吉库展览展示服务有限公司_linux 数据库服务器_unix/linux下curses库开发指南

setsebool-Pftpd_full_accesson

12、验证配置结果

以上是我在学习Linux系统中整理的一些学习要点,肯定会有不对的地方,希望诸位高手给予见谅,我们共同学习!感谢!

上篇:Linux服务器配置-VSFTP服务配置(六)

通过实例说明数据库+虚拟用户配置登陆FTP服务器。

本文原创地址://q13zd.cn/lfwqpzvfwpzs.html编辑:刘遄,审核员:暂无