首页 服务器应用

CentOS 7安装FTP服务器

2021-11-29 19:01 博客园

安装vsftpd

yum install -y vsftpd

启动服务并且将服务设置成开机自启

systemctl start vsftpd

systemctl enable vsftpd

配置vsftpd

添加用户并设置访问的ftp目录

useradd ftpuser -s /sbin/nologin -d /ftp_data && echo "123456" | passwd ftpuser --stdin

其中新增的用户名为ftpuser,密码为123456,vsftpd的数据目录为/ftp_data

将/ftp_data的所有者修改为ftpuser

chown ftpuser:ftpuser /ftp_data/

备份vsftpd的配置文件

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

修改vsftpd.conf配置文件,禁用匿名用户访问ftp服务器

vim /etc/vsftpd/vsftpd.conf

将配置文件中的anonymous_enable=YES 修改成 anonymous_enable=NO

修改配置文件/etc/pam.d/vsftpd

#备份配置文件

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

#编辑配置文件

vim /etc/pam.d/vsftpd

#将 auth required pam_shells.so 修改为-> auth required pam_nologin.so

参考文章:(10条消息) centos7下配置ftp服务器,各种登录异常排查_andy_521521的博客-CSDN博客

重启ftp服务

systemctl restart vsftpd.service

查看并修改selinux中有关ftp的配置

getsebool -a | grep ftp

如下显示:

ftpd_anon_write --> offftpd_connect_all_unreserved --> offftpd_connect_db --> offftpd_full_access --> offftpd_use_cifs --> offftpd_use_fusefs --> offftpd_use_nfs --> offftpd_use_passive_mode --> offhttpd_can_connect_ftp --> offhttpd_enable_ftp_server --> offtftp_anon_write --> offtftp_home_dir --> off

#修改配置setsebool -P ftpd_full_access onsetsebool -P tftp_home_dir on #测试时只配置上面`ftpd_full_access`不用配置`tftp_home_dir`也行

-P参数为永久开启,CentOS 7开始使用tftp_home_dir代替ftp_home_dir

参考文章:【Linux/CentOS】Boolean ftp_home_dir is not defined - 霍莉雪特 - 博客园 (cnblogs.com)

配置防火墙

firewall-cmd --permanent --zone=public --add-service=ftp

firewall-cmd --zone=public --add-port=21/tcp --permanent

#重置防火墙配置,使得配置立即生效

firewall-cmd --reload

连接FTP服务器

配置连接参数

20211117115900

2

连接成功之后默认是没有任何文件的

3

上传文件进行测试

4

显示能够上传成功

删除文件测试成功之后即可代表FTP服务器安装配置成功。

返回首页
返回顶部