CentOS6.5下安装vsftpd-2.2.2-11(虚拟用户)

分类:CentOS教程 阅读:49770 次

#所用vsftpd服务为CentOS6.5自带镜像

#查看是否有挂载镜像光盘
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4 18G 3.4G 14G 21% /
tmpfs tmpfs 491M 72K 491M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot


#建立/mnt/cdrom光盘挂载目录并且把光盘挂载到该目录,提示仅仅只读挂载
mkdir /mnt/cdrom && mount /dev/cdrom /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only

------------------------------------------------------------
#建立yum配置文件备份文件夹用于备份原系统yum配置文件
mkdir /etc/yum.back


#移动yum.repos.d配置文件目录下原来所有配置文件到刚刚建立的yum配置文件备份目录
cd /etc/yum.repos.d/ && mv * /etc/yum.back/

#新建光驱yum安装服务的yum配置文件自定义命名为cdyuminstall.repo
touch /etc/yum.repos.d/cdyuminstall.repo


#配置文件中写入以下配置信息
vim /etc/yum.repos.d/cdyuminstall.repo
[cdinstall]
#自定义命名
name=cdinstall
#自定义命名
baseurl=file:///mnt/cdrom
#自定义路径,此路径为光盘挂载目录

enabled=1

#是否启用yum源,0为不启用,1为启用
gpgcheck=0
#是否检查GPG-KEY,0为不检查,1为检查#配置完毕wq保存退出
yum clean all
#配置完成后要清除下yum缓存
------------------------------------------------------------
#安装光盘内自带的vsftpd服务
yum install vsftpd
#等待安装完成查看下已安装的服务信息
rpm -q vsftpd
vsftpd-2.2.2-11.el6_4.1.x86_64
#将vsftpd配置文件备份以防配置错误不可挽回,自定义备份名称vsftpd.conf.bak
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#将备份后配置文件vsftpd.conf.bak去除空行和#开头的信息导入到配置文件vsftpd.conf中
cd /etc/vsftpd
grep -vi "#" vsftpd.conf.bak | grep -vi ^$ > vsftpd.conf
#查看下导出的配置文件信息
[root@localhost vsftpd]# cat 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
[root@localhost vsftpd]#
#确定系统集成db4版本
rpm -q db4
db4-4.7.25-18.el6_4.x86_64
#建立自定义命名临时文本文件并写入虚拟用户用户名密码
vim vusers.txt
[root@localhost vsftpd]# cat vusers.txt
test
#虚拟用户账户
test
#虚拟用户密码
[root@localhost vsftpd]#
#将刚刚建立的文本载入到自定义命名的数据库虚拟用户
db_load -T -t hash -f vusers.txt vsftpd-virtual-user.db
#建立pam认证配置文件并指定数据库文件路径
vim /etc/pam.d/vsftpd.virtual
[root@localhost vsftpd]# cat /etc/pam.d/vsftpd.virtual
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
[root@localhost vsftpd]#
#创建虚拟用户配置目录用于存放虚拟用户配置信息
mkdir -pv /etc/vsftpd/vhome
#建立虚拟用户宿主目录,用于虚拟用户登录访问数据
mkdir /usr/html
#对新建原来建立已经导入数据库的虚拟用户test进行权限分配
vim /etc/vsftpd/vhome/test
[root@localhost vsftpd]# cat /etc/vsftpd/vhome/test
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=033
local_root=/usr/html/

[root@localhost vsftpd]#
#建立系统用户web并且给他分配目录权限
useradd -s /sbin/nologin -c "web" web
chown -R web.web /usr/html
#目录必须不可写
chmod a-w /usr/html
#在vsftpd.conf配置文件中加入虚拟用户配置信息
[root@localhost vsftpd]# cat vsftpd.conf
anonymous_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
listen=YES
userlist_enable=YES
tcp_wrappers=YES
use_localtime=YES
local_enable=YES
write_enable=YES
anon_world_readable_only=NO
guest_enable=YES
guest_username=web
pam_service_name=vsftpd.virtual
xferlog_std_format=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_file=/var/log/xferlog
user_config_dir=/etc/vsftpd/vhome

[root@localhost vsftpd]#

#修改配置文件信息后重启下相应的服务
[root@localhost vsftpd]# service vsftpd restart
关闭 vsftpd: [确定]
为 vsftpd 启动 vsftpd: [确定]
[root@localhost vsftpd]#
setenforce 0

#暂时关闭selinux模式,不然登录虚拟账户后会报错,也可以永久关闭写入vi/etc/sysconfig/selinux配置文件SELINUX=disabled需重启服务器


--------------------------------------------------------
#在vsftp访问目录下新建目录和文件用于测试
mkdir /usr/html/test111 && touch /usr/html/222
#安装lftp服务用于访问测试
yum install lftp
#尝试用虚拟用户登录测试
[root@localhost vsftpd]# lftp 127.0.0.1
lftp 127.0.0.1:~> user test
口令: test
lftp test@127.0.0.1:~> ls
-rw-r--r-- 1 500 500 0 Dec 01 06:56 111
drwxr-xr-x 2 0 0 4096 Dec 01 07:51 test111
lftp test@127.0.0.1:/>

-------------------------END-----------------------