Centos 7.2安装 vsftpd服务

2017-10-27  本文已影响98人  霂蔺

一、实验环境:

二、安装准备:

1.关闭selinux

     selinux为Linux提供安全强化同时,也让Linux服务安装变得更复杂。未正确的为相关服务配置SELINUX,将导致服务无法正常运行。所以对于初学者来说,建议关闭selinux。
  • 查看SLlinux状态:
    /usr/sbin/sestatus -v   ##如果SELinux status参数为enabled即为开启状态
    getenforce       ##也可以用这个命令检查
  • 1.临时关闭:
    setenforce 0       ##(设置SELinux 成为permissive模式)
                 ##(setenforce 1 设置SELinux 成为enforcing模式)
  • 2.永久关闭(修改配置文件需要重启机器):
    修改/etc/selinux/config
    文件将SELINUX=enforcing改为SELINUX=disabled
    重启服务器即可

三、安装vsftpd

1.查看服务器是否安装vsftpd

rpm -qa|grep vsftpd

2.安装vsftpd服务及ftp客户端

yum install ftp vsftpd -y

3.备份vsftpd的配置文件

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

四、配置虚拟用户访问vsftpd服务

1.创建虚拟用户的密码文件,奇数行为用户名,偶数行为密码:

touch /etc/vsftpd/vir_user.txt
echo -e "bingfeng\nbingfeng" >> /etc/vsftpd/vir_user.txt
echo -e "bf\nbf" >> /etc/vsftpd/vir_user.txt
这里创建了2个用户bingfeng、bf,bingfeng有读写权限,bf只有读的权限。

2.生成虚拟用户数据库:

yum -y install libdb-utils
db_load -T -t hash -f /etc/vsftpd/vir_user.txt /etc/vsftpd/vir_user.db

3.配置vsftpd pam验证文件/etc/pam.d/vsftpd:

mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
cat <<END > /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vir_user
account required pam_userdb.so db=/etc/vsftpd/vir_user
END

4.增加一个系统用户virftp ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作:

useradd -d /ftproot virftp -s /sbin/nologin
chown -R virftp.virftp /ftproot

6、设置vsftpd主配置文件/etc/vsftpd/vsftpd.conf:

#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#启用虚拟账户
guest_enable=YES
#把虚拟账户映射到系统账户virftp
guest_username=virftp
#使用虚拟用户验证(PAM验证)
pam_service_name=vsftpd
#设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#启用chroot时,虚拟用户根目录允许写入
allow_writeable_chroot=YES

7.设置虚拟用户各自的配置文件:

mkdir /etc/vsftpd/vsftpd_viruser/
#配置文件名同虚拟账户名
touch /etc/vsftpd/vsftpd_viruser/bingfeng
touch /etc/vsftpd/vsftpd_viruser/bf
chown -R virftp.virftp /ftproot

8.在虚拟用户 bingfeng的配置文件中写入如下配置/etc/vsftpd/vsftpd_viruser/bingfeng

# 允许写入
write_enable=YES
#允许浏览FTP目录和下载
anon_world_readable_only=NO
# 允许虚拟用户bingfeng上传文件
anon_upload_enable=YES
# 允许虚拟用户创建目录
anon_mkdir_write_enable=YES
# 允许虚拟用户bingfeng执行其他操作(如改名、删除)
anon_other_write_enable=YES
# 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
anon_umask=022
# 指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
local_root=/ftproot/

9.在虚拟用户 bingfeng的配置文件中写入如下配置/etc/vsftpd/vsftpd_viruser/bf

write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_umask=022
local_root=/ftproot/

10.重启vsftpd服务、加入开机启动项:

systemctl restart vsftpd.service
systemctl enable vsftpd.service

11.使用虚拟用户bingfeng和密码bingfeng测试

[root@server ~]# ftp
ftp> open 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 3.0.2)
Name (127.0.0.1:root): bingfeng
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

参考地址:

http://aiezu.com/article/centos7_yum_vsftpd_install_configure.html

上一篇下一篇

猜你喜欢

热点阅读