0基础自学linux运维-2.5-CentOS 6.6 下安装vsftpd并配置虚拟用户

一、安装环境:

1.1.操作系统:

操作系统:centOS6.6最小化安装

1)查看linux系统环境

[root@VM3~]# cat /etc/redhat-release

CentOSrelease 6.6 (Final)

[root@VM3~]#  uname -r

2.6.32-504.el6.x86_64

[root@VM3~]# uname -m

x86_64

提示:也可以用uname -a

2)

外网:192.168.0.76/24

内网:192.168.3.76/24

1.2.关闭iptables和selinux

服务器端和客户端同时操作

1)关闭iptables

service iptables stop

chkconfig iptables off

不关闭也可以要让其端口通过防火墙

#使用被动模式指定5000-5100为被动

-A INPUT mstate --state NEW m tcp p dport 5000:50100 j ACCEPT


#下面是centOS7的,关闭防火墙

#停止firewall

systemctl stop firewalld.service

#禁止firewall开机启动

systemctl disable firewalld.servic


2)关闭selinux

临时关闭:setenforce 0

永久性关闭:

vi/etc/selinux/config

把SELINUX=enforcing 改为SELINUX=disabled

shutdown -rnow

所用的软件:


3)时间同步(非必要)

yuminstall ntp -y

/usr/sbin/ntpdatepool.ntp.org

echo'#time sync by hua at 2015.7.2'>>/var/spool/cron/root

echo'*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1'>>/var/spool/cron/root

crontab-l

#或者用*/30 * * * * ntpdate 121.9.213.10’


二、vsFTP安装及配置

2.1.yum安装vsFTP

rpm -qa | grepvsftpd

yum -y installvsftpd

chkconfig vsftpd on

[root@VM3 vsftpd]# rpm -qa | grep vsftpd

vsftpd-2.2.2-14.el6.x86_64

2.2.基于虚拟用户的配置

所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。

cd /etc/vsftpd/

cp vsftpd.conf vsftpd.conf.bak

1)vi vsftpd.conf

#设定本地用户可以访问。如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问,默认为yes

local_enable=YES

chroot_list_enable=YES

#使用户不能离开主目录 默认为yes

ascii_upload_enable=YES

#默认为yes

ascii_download_enable=YES #

设定支持ASCII模式的上传和下载功能,默认为yes

pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证,默认已经添加

#以下可以在单独用户文件配置,也可以在个人用户配置文件配置,但对针对某个用户生效。

anonymous_enable=NO

#设定不允许匿名访问 默认为yes

注:以上用默认就行,基本上不用修改

2)虚拟用户配置项

以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加

guest_enable=YES #设定启用虚拟用户功能,可以不要在个人配置那里设置

#guest_username=ftp #

指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了

#基于hua用户的权限,就是hua什么权限虚拟用户就有什么权限,可以在个人配置里设置

guest_username=hua

#设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径

#放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)

 #需要自己建立目录mkdir /etc/vsftpd/vuser_conf

user_config_dir=/etc/vsftpd/vuser_conf

简写:

guest_enable=YES

guest_username=系统用户名

user_config_dir=虚拟用户配置文件路径


3)最终配置

[root@VM3vsftpd]# egrep  -v "^#|^$"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=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

user_config_dir=/etc/vsftpd/vuser_conf

pasv_enable=YES

pasv_min_port=5000

pasv_max_port=5100

pasv_promiscuous=YES

3)进行认证

①安装Berkeley

DB工具

很多人找不到db_load的问题就是没有安装这个包。

yum install db4 db4-utils -y

②创建用户密码文本

路径/etc/vsftpd/vuser_passwd.txt,注意奇行是用户名,偶行是密码

vi vuser_passwd.txt

t1

123456


③生成虚拟用户认证的db文件

db_load-T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

④编辑认证文件/etc/pam.d/vsftpd


[root@VM3~]# find / -name pam_userdb.so

/lib64/security/pam_userdb.so

从上面的得到so 路径为/lib64/security/pam_userdb.so

编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:

authrequired pam_userdb.so db=/etc/vsftpd/vuser_passwd

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

0基础自学linux运维-2.5-CentOS 6.6 下安装vsftpd并配置虚拟用户_第1张图片

⑤创建虚拟用户配置文件

mkdir /etc/vsftpd/vuser_conf

cd /etc/vsftpd/vuser_conf/

vi t1(注文件文件要与用户名一样)

local_root=/home/hua/tools

local_umask=022

write_enable=YES

guest_enable=yes

guest_username=hua

anonymous_enable=no

anon_world_readable_only=no

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

anon_umask=022

servicevsftpd start

4)配置PASV模式

vsftpd默认没有开启PASV模式,现在FTP只能通过PORT模式连接,要开启PASV默认需①通过下面的配置打开/etc/vsftpd/vsftpd.conf,在末尾添加

#byhua 2015.10.26

pasv_enable=YES

//开启PASV模式

pasv_min_port=5000//最小端口号

pasv_max_port=5100

//最大端口号

pasv_promiscuous=YES

②在防火墙配置内开启端口

iptables -A INPUT m state --state NEW m tcp p dport 50000:50100 j ACCEPT


5)测试VSFTP结果

在win7在安装cuteftppro FTP客户端软件

0基础自学linux运维-2.5-CentOS 6.6 下安装vsftpd并配置虚拟用户_第2张图片

登陆测试,上传,下载,删除都可以

你可能感兴趣的:(0基础自学linux运维-2.5-CentOS 6.6 下安装vsftpd并配置虚拟用户)