Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > centos7安装ftp服务

centos7下如何安装ftp服务

作者:奈小奈

这篇文章主要介绍了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

总结

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

您可能感兴趣的文章:
阅读全文