centos7下如何安装ftp服务

 更新时间:2023年06月02日 10:06:01   作者:奈小奈  
这篇文章主要介绍了centos7下如何安装ftp服务问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

centos7安装ftp服务

安装

安装vsftpd :

 [root@ftp ~]# yum install -y vsftpd    

安装epel-release ,借助epel的yum扩展源来下载db4-utils:

[root@ftp ~]# yum install -y epel-release 

安装db4-utils :

[root@ftp ~]# yum install -y db4-utils 

建立用户

1.建立系统账户(和虚拟账户相关联的)

[root@ftp ~]# useradd virftp -s /sbin/nologin

2.建立虚拟用户的账号文件,并赋予权限

[root@ftp ~]# vi /etc/vsftpd/vsftpd_login
test1
000000                     #奇数行为用户名,偶数行为上一行用户名所对应的密码
test2                         
123456                    
[root@ftp ~]# chmod 600 /etc/vsftpd/vsftpd_login 

3.对账号文件生成对应的库文件

[root@ftp ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

配置用户

1、创建目录用于存放用户的文件

[root@ftp ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@ftp ~]# cd /etc/vsftpd/vsftpd_user_conf/
[root@ftp vsftpd_user_conf]# vi test1
local_root=/home/virftp/test1        #账户的家目录
anonymous_enable=NO                #不允许匿名账号登录
write_enable=YES                    #可写
local_umask=022                    #用户的umask值
anon_upload_enable=NO            #不允许匿名账号上传文件
anon_mkdir_write_enable=NO        #不允许匿名账户可写

2、创建用户的家目录及文件

[root@ftp~]# mkdir /home/virftp/test1
[root@ftp ~]# touch /home/virftp/test1/ly.txt

3、给家目录赋予权限,并映射到系统账号

[root@ftp ~]# chown -R virftp:virftp /home/virftp/

4、修改登录认证文件,将虚拟用户密码文件写入

[root@ftp~]# vi /etc/pam.d/vsftpd 
auth       sufficient   /lib64/security/pam_userdb.so   db=/etc/vsftpd/vsftpd_login #添加
account    sufficient   /lib64/security/pam_userdb.so   db=/etc/vsftpd/vsftpd_login #添加
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

配置vsftpd并启动

1、修改vsftpd的全局配置文件,并启动vsftpd

[root@ftp ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO             #找到并修改为此句
anon_upload_enable=NO            #找到并修改为此句
anon_mkdir_write_enable=NO        #找到并修改为此句
#添加以下内容
chroot_local_user=YES
guest_enable=YES
guest_username=virftp             #虚拟用户
virtual_use_local_privs=YES            #现在使用的是虚拟用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
[root@ftp ~]# systemctl start vsftpd

登录ftp

1、登录 (安装lftp软件,登录vsftpd)

[root@ftp ~]# yum install -y lftp
[root@ftp ~]# lftp test1@127.0.0.1
Password: 
lftp test1@127.0.0.1:~> ls        
-rw-r--r--    1 1000     1000            0 Dec 03 08:21 ly.txt
lftp test1@127.0.0.1:/> quit

centos7安装ftp服务登录不上的坑

防火墙的设置

1. 需要关闭window的防火墙以及杀毒软件的拦截

直接百度,有很多,就不再赘述

2.关闭cenos7的防火墙 或者防火墙开启 21 端口

直接关闭

#查看防火墙状态 
systemctl status firewalld.service
#关闭防火墙
systemctl stop firewalld.service

关闭防火墙成功:

防火墙开启 21 端口

#开放端口
firewall-cmd --zone=public --add-port=21/tcp --permanent

Selinux关闭或者修改后才支持ftp服务

1.直接关闭Selinux

#修改配置项SELINUX=disabled
vi /etc/selinux/config

如果修改配置项后,需要重启系统才会生效,如果不想重启系统可以使用下面设置Selinux属性的方法

2.修改设置Selinux属性

#查看Selinux 中关于vsftpd 的参数
getsebool -a | grep ftp 

如果看到上面属性是关闭的

#运行以下命令修改:
setsebool -P allow_ftpd_full_access on
setsebool -P ftpd_home_dir on
#重启vsftpd
service vsftpd restart

测试ftp本地是否可以登录

#安装ftp命令
yum -y install ftp
# 测试本地登录  ftp IP
ftp 192.168.0.XXX

登陆成功

然后用工具登录试一试(我用的是Xftp)

卸载vsftpd

#RPM Package Manager,RPM包管理器卸载的方法
– rpm -q 软件名...                               #查询软件包是否安装
– rpm -ivh 软件名-版本信息.rpm...    #安装软件包
– rpm -e 软件名...                               #卸载程序
 rpm -q vsftpd    #查询软件是否安装
 rpm -ql vsftpd   #查询已安装软件的安装清单
rpm -e vsftpd    #卸载软件程序
# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm  #卸载

常用命令

#查看所有安装的服务
systemctl list-unit-files --type=service
#查看所有运行服务
netstat -tlnp
#查看ftp服务端口号
getsebool -a | grep ftp

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux安全与密钥登录指南

    Linux安全与密钥登录指南

    在使用Linux服务器时,确保服务器的安全至关重要,本文将为你介绍一些关键的Linux安全措施,包括开启密钥登录、查看登录日志、限制登录IP以及查看系统中能够登录的账号,以下内容适合小白用户,通过简单的操作就能有效提升服务器的安全性,需要的朋友可以参考下
    2025-02-02
  • linux下shell常用脚本命令及有关知识

    linux下shell常用脚本命令及有关知识

    大家好,本篇文章主要讲的是linux下shell常用脚本命令及有关知识,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • linux中的常用命令与快捷键介绍

    linux中的常用命令与快捷键介绍

    大家好,本篇文章主要讲的是linux中的常用命令与快捷键介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux挂载NTFS分区的操作指南

    Linux挂载NTFS分区的操作指南

    在使用Windows和Linux双系统的电脑上,通常我们可能也需要在Linux上 访问NTFS分区,虽然Linux用户一般来说不一定会有分区的习惯,但是在双系统情况下,两个系统复用NTFS分区也是很常见的,今天,就来讨论如何正确地在Linux挂载NTFS分区,需要的朋友可以参考下
    2025-10-10
  • 基于Ubuntu 16.04设置固定IP的方法教程

    基于Ubuntu 16.04设置固定IP的方法教程

    这篇文章主要给大家介绍了基于Ubuntu 16.04设置固定IP的方法教程,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-10-10
  • 通过yum升级CentOS/RHEL最小化安装的方法

    通过yum升级CentOS/RHEL最小化安装的方法

    下面小编就为大家带来一篇通过yum升级CentOS/RHEL最小化安装的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux系统下防火墙配置的详细指南

    Linux系统下防火墙配置的详细指南

    防火墙是一种网络安全设备,它能够:监控和过滤进出网络的流量阻止不安全的连接保护计算机和网络免受未授权访问创建一个安全边界简单来说,防火墙就像是电脑的"安全门卫",决定谁能进、谁能出,本文给大家介绍了Linux如何配置防火墙,需要的朋友可以参考下
    2025-07-07
  • linux之普通用户与root用户之间切换方法

    linux之普通用户与root用户之间切换方法

    下面小编就为大家带来一篇linux之普通用户与root用户之间切换方法。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 解决Ubuntu下使用linuxdeployqt打包Qt程序问题

    解决Ubuntu下使用linuxdeployqt打包Qt程序问题

    这篇文章主要介绍了解决Ubuntu下使用linuxdeployqt打包Qt程序问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • 解决Centos7下crontab+shell脚本定期自动删除文件问题

    解决Centos7下crontab+shell脚本定期自动删除文件问题

    小编最近遇到这样的需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件,保留7天就够了,所以需要自动清理文件夹内的bak文件。这篇文章主要介绍了解决Centos7下crontab+shell脚本定期自动删除文件问题,需要的朋友可以参考下
    2018-11-11

最新评论