CentOS7.0下安装FTP服务的方法

 更新时间:2017年02月24日 09:30:46   作者:枫爷  
本篇文章主要介绍了CentOS7.0下安装FTP服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通。后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程。现在,代码先走FTP吧,挺稳。

FTP简介

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。

在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。

用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

FTP安装

首先检查一下你的远程服务器是否已经安装了FTP服务。

#rpm -qa | grep vsftpd

如果啥都没显示,恭喜你,没有安装ftp服务,你可以安心的进行下面的动作了。如果有vsftpd的版本,那该干啥干啥去,这章不适合你!!!

那我们首先安装vsftpd。

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。

运行下面的命令就可以完成vsftpd的安装

#yum -y install vsftpd

安装完成再次利用上面的rpm命令检查一下是否完成安装,如果完成安装,那就可以继续。

开启vsftpd服务

#service vsftpd start

检查vsftpd服务

#service vsftpd status

注意,ftp服务使用的是21端口,有时候也使用20端口。我们之前设置的iptables防火墙服务阻止了这一端口,所以也要添加下面的代码到/etc/sysconfig/iptables里去。

A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

重启防火墙服务

#systemctl restart iptables.service

好的,到这里,我们的默认ftp服务就已经开始运作啦,让我们来测试一下吧。

#ftp localhost

用户名称那一栏输入anonymous(匿名)

得到下面的信息就标识你的vsftp服务安装已完成。

 

在ftp>后面输入bye,先暂时和ftp告别,因为我们还有一些事没干呢。

配置vsftpd服务

打开vsftpd服务的配置文件

#vim /etc/vsftpd/vsftpd.conf

改变这几个属性的值,具体是啥意思呢,当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。为了以后好控制,我们先打开这几个配置。

保存退出,我们新建一个chroot_list文件

#touch /etc/vsftpd/chroot_list

重启vsftp服务

#service vsftpd restart

新增ftp用户

#/usr/sbin/adduser -d /usr/www/ftptest -g ftp -s /sbin/nologin vftpuser

新增用户vftpuser,用户的主目录是/usr/www/ftptest目录,用户组是ftp,不能登录的账户。

设置vftpuser密码

#passwd vftpuser

修改/usr/www/ftptest的目录权限

#chmod 755 /usr/www/ftptest/

重启vsftp服务

#/sbin/service vsftpd restart

设置权限

查看SElinux策略内ftp相关权限

#getsebool -a | grep ftp

打开ftp权限

#setsebool allow_ftpd_full_access 1

重启vsftp服务

#/sbin/service vsftpd restart

现在,可以在本机ftp远程服务器啦。不过,枫爷推荐大家一款比较实用的ftp软件:filezilla。相当好用,至于怎么用,大家自行百度即可。

可能遇到的问题

问题1:SElinux未关闭导致无法访问,可以尝试将selinux策略先行关闭。

#vim /etc/selinux/config

将SELINUX一栏设置为disable即可

 

问题2:filezilla打开时会报以下的错误

 

打开你的站点管理,点击进入传输设置

 

按照图中的配置配置传输模式,即可完成链接。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • linux如何查看系统信息

    linux如何查看系统信息

    这篇文章主要介绍了linux如何查看系统信息的相关资料,需要的朋友可以参考下
    2023-03-03
  • 基于centos 6.5使用varnish实现网站动静分离

    基于centos 6.5使用varnish实现网站动静分离

    这篇文章主要介绍了基于centos6.5使用varnish实现网站动静分离,需要的朋友可以参考下
    2014-11-11
  • Linux /etc/passwd详解

    Linux /etc/passwd详解

    文章介绍了Linux系统/etc/passwd文件的结构和字段含义,包括用户名、密码、UID、GID、描述性信息、主目录和默认Shell,UID和GID用于识别和分配权限,描述性信息提供用户相关信息,主目录定义用户登录后的操作权限,而默认Shell则作为用户与系统的交互桥梁
    2024-12-12
  • 解决Linux中Systemd服务环境变量缺失的问题

    解决Linux中Systemd服务环境变量缺失的问题

    在Linux系统运维中,我们可能会遇到在使用systemd管理的服务时无法获取系统环境变量,尤其是PATH变量,这确实是一个常见的挑战,因为systemd启动的服务通常不会加载用户的环境变量,下面,我们将一起探讨解决这一问题的几种方法,需要的朋友可以参考下
    2024-01-01
  • Scp如何使用密码拷贝文件

    Scp如何使用密码拷贝文件

    在Linux系统中使用scp命令复制文件的两种方法:手动输入密码和使用密钥拷贝,手动输入密码时,系统会提示输入密码;使用密钥拷贝时,需要先生成ssh密钥对,并将公钥添加到远程服务器的~/.ssh/authorized_keys文件中
    2025-02-02
  • Linux中hexdump命令用法

    Linux中hexdump命令用法

    这篇文章主要介绍了Linux中hexdump命令用法,并给大家例举了命令输出结果,有兴趣的学习下吧。
    2017-12-12
  • Centos5给/根分区扩容

    Centos5给/根分区扩容

    今天在调整VPS的时候发现自己的/分区的空间用光了.但是还剩下一个分区hda3没动.于是乎.想调整到根下面去.但是由于本人新手一个.又不太了解linux的分区机制.
    2010-06-06
  • 详解linux中nano命令

    详解linux中nano命令

    这篇文章主要介绍了详解linux中nano命令,详细的介绍了nano命令的用法,非常具有实用价值,需要的朋友可以参考下
    2017-09-09
  • linux服务器之LVS、Nginx和HAProxy负载均衡器对比总结

    linux服务器之LVS、Nginx和HAProxy负载均衡器对比总结

    这篇文章主要介绍了linux服务器之LVS、Nginx和HAProxy负载均衡器对比,需要的朋友可以参考下
    2014-03-03
  • 解决linux系统中运行node进程却无法杀死进程的问题

    解决linux系统中运行node进程却无法杀死进程的问题

    这篇文章主要介绍了linux系统中运行node进程无法杀死进程的问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论