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中echo命令的用法实例教程

    linux中echo命令的用法实例教程

    linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法,下面这篇文章主要给大家介绍了关于linux中echo命令用法的相关资料,需要的朋友可以参考学习。
    2017-05-05
  • Linux系统下如何挂载FAT32的U盘

    Linux系统下如何挂载FAT32的U盘

    Linux挂载U盘步骤如下: 1:将U盘插入USB接口,检查是否插好 2:用fdisk命令检查分区和USB设备信息
    2013-04-04
  • shell判断一个变量是否为空方法总结

    shell判断一个变量是否为空方法总结

    在本篇文章里小编给大家分享了关于shell判断一个变量是否为空方法总结内容,有兴趣的朋友们学习下。
    2019-01-01
  • linux手工配置ip地址详细步骤

    linux手工配置ip地址详细步骤

    大家好,本篇文章主要讲的是linux手工配置ip地址详细步骤,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux命令之mv和cp的用法示例

    Linux命令之mv和cp的用法示例

    这篇文章主要给大家介绍了关于Linux命令中的mv和cp用法示例,文中有详细示例代码,对大家学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2023-06-06
  • linux进行硬盘分区挂载的实现方法

    linux进行硬盘分区挂载的实现方法

    这篇文章主要介绍了linux进行硬盘分区挂载的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 教你使用Apache搭建Http下载服务器

    教你使用Apache搭建Http下载服务器

    这篇文章主要介绍了使用Apache搭建Http下载服务器的详细过程,Apache2默认采用的是80端口号,因此直接通过公网ip或域名就能访问,需要的朋友可以参考下
    2022-10-10
  • linux通过挂载系统光盘搭建本地yum仓库的方法

    linux通过挂载系统光盘搭建本地yum仓库的方法

    linux通过挂载系统光盘搭建本地yum仓库,使用yum命令加上 list 参数就可以查看仓库了。本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-10-10
  • linux Apache服务器系统安全设置与优化

    linux Apache服务器系统安全设置与优化

    结合,mod_gzip 和缓冲工具等,我们完全可以使一台配置较低的 PC 有足够的能力处理各种 HTML/CGI 等的请求。
    2008-07-07
  • Linux(CentOS)环境下安装下载Nginx并配置

    Linux(CentOS)环境下安装下载Nginx并配置

    本篇文章主要介绍了Linux(CentOS)环境下安装下载Nginx并配置 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论