CentOS7安装vsftpd

CentOS7安装vsftpd

最近又用到ftp了,摸索了一下终于安装成功,记录下安装过程,本次使用的操作系统为 CentOS7,ftp使用vsftpd。

安装vsftpd

yum install -y vsftpd

配置vsftpd

vsftpd的配置文件路径为:/etc/vsftpd/vsftpd.conf
打开此文件,调整一些配置:

vim /etc/vsftpd/vsftpd.conf

设置不允许匿名访问

anonymous_enable=NO

如下图:
在这里插入图片描述

设置允许ascii上传和下载

ascii_upload_enable=YES
ascii_download_enable=YES

如下图:
在这里插入图片描述

设置用户只可访问为其基本的主目录

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

如下图:
在这里插入图片描述

设置ftp服务端口和空闲连接超时时间

listen_port=8031

如下图:
在这里插入图片描述

设置空闲连接超时时间 (单位:秒)

idle_session_timeout=300

如下图:
在这里插入图片描述

启用虚拟用户

guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vuser_conf

设置被动模式随机端口范围

pasv_min_port=50000
pasv_max_port=51000

如下图,我设置的端口范围为:50000 至 51000,此范围可调整
在这里插入图片描述

其他一些配置

allow_writeable_chroot=YES
use_localtime=YES
virtual_use_local_privs=YES
accept_timeout=5
connect_timeout=1

如下图:
在这里插入图片描述

配置用户

创建vsftpd目录
mkdir /home/vsftpd
配置ftpuser
groupadd ftpuser
useradd -g ftpuser -M -d /home/vsftpd -s /sbin/nologin ftpuser

设置ftpuser的密码
passwd ftpuser

执行上面命令后,会提示输入密码,根据提示输入,并重复确认即可
在这里插入图片描述

将vsftpd目录的权限转给ftpuser
chown -R ftpuser:ftpuser /home/vsftpd
创建ftp用户

打开文件:vuser_passwd,此文件位于 /etc/vsftpd 目录内

vim /etc/vsftpd/vuser_passwd

在 vuser_passwd 中添加 ftp 用户账号和密码,文件中,奇数行为账号,偶数行为密码,如下图,创建了一个ftp账号,用户名为 hy,密码为 hy123
在这里插入图片描述

创建ftp用户的目录,并设置访问权限
mkdir -p /home/vsftpd/hy
chmod 755 -R /home/vsftpd
生成虚拟用户数据文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
设置用户数据文件访问权限
chmod 600 /etc/vsftpd/vuser_passwd.db

配置pam认证

查看系统位数

查看系统是64位还是32位,不同位数的系统,后续配置有所差别

getconf LONG_BIT

如下图,我的系统是64位:
在这里插入图片描述

先配置原始pam文件,再创建一个新文件,并将下面的命令写入文件

下面的命令根据系统位数选择即可,不需全部写入:
64位系统:

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

32位系统:

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
写文件
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
vim /etc/pam.d/vsftpd

如下图,
在这里插入图片描述

创建虚拟用户,并配置目录

mkdir -p /etc/vsftpd/vuser_conf
vim /etc/vsftpd/vuser_conf/hy
将下方内容写入文件:
local_root=/home/vsftpd/hy
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
创建文件chroot_list,并写入ftp用户名
vim /etc/vsftpd/chroot_list

在这里插入图片描述

配置SELINUX和防火墙

设置SELinux对vsftp放行
setsebool -P ftpd_full_access on
配置iptables,写入规则
vim /etc/sysconfig/iptables

在iptables中写入以下规则:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8031 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50000:51000 -j ACCEPT

其中,8031,是我的ftp对外端口,而50000:51000是上面配置的随机端口范围。

如果是测试环境,也可直接关闭 SELinux (不安全,不推荐此方法)
打开SELinux 配置文件:

vim /etc/selinux/config

修改配置:

SELINUX=disabled

如下图:
在这里插入图片描述

配置完成,启动ftp即可,以下是一些命令


#启动
systemctl start vsftpd.service

#重启
systemctl restart vsftpd.service

#停止
systemctl stop vsftpd.service

#查看状态
systemctl status vsftpd.service

#设置开机启动
systemctl enable vsftpd.service
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值