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
### 安装与配置 vsftpd FTP 服务器 #### 工具准备 为了在 CentOS 7 上成功安装并配置 vsftpd FTP 服务器,确保已具备管理员权限以及网络连接正常。 #### 安装过程 通过 yum 包管理器来完成软件包的获取与部署。执行命令如下: ```bash yum install -y vsftpd ``` 这一步骤会自动下载最新版本的 vsftpd 并将其安装到系统中[^1]。 #### 修改主配置文件 编辑位于 `/etc/vsftpd/vsftpd.conf` 的主要设置文档,在此可以调整全局参数以满足特定需求。对于基本功能而言,默认选项通常已经足够使用;然而建议开启匿名访问控制或设定本地用户的读写权限等特性时需谨慎操作。例如允许本地用户登录可添加以下行至配置文件末尾: ```plaintext local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES ``` 上述指令分别代表启用本地账户登陆、赋予上传权利、限制于家目录内活动及解决某些 SELinux 环境下的兼容性问题[^2]。 #### 启动服务 一旦完成了必要的更改之后,则要启动 vsftpd 服务并且设为开机自启状态: ```bash systemctl start vsftpd.service systemctl enable vsftpd.service ``` 此时可以通过命令 `systemctl status vsftpd.service` 来验证当前运行状况是否良好[^3]。 #### 测试连接 最后利用任意一款支持 FTP 协议传输方式的应用程序尝试建立远程链接,以此检验整个流程是否顺利完成。如果一切顺利的话应该能够无障碍地浏览共享资源甚至实施增删改查动作了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值