需求说明:

  今天项目中有一个新的需求,需要在linux环境中搭建一个ftp服务,在此记录下.

操作过程:

1.通过yum的方式安装ftp服务对应的软件包

[root@testvm01 ~]# yum install vsftpd
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
rhel-source | 4.1 kB : ...
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 :2.2.-.el6_5. will be installed
--> Finished Dependency Resolution Dependencies Resolved ===============================================================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================================================
Installing:
vsftpd x86_64 2.2.-.el6_5. rhel-source k Transaction Summary
===============================================================================================================================================================================================
Install Package(s) Total download size: k
Installed size: k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : vsftpd-2.2.-.el6_5..x86_64 /
Verifying : vsftpd-2.2.-.el6_5..x86_64 / Installed:
vsftpd.x86_64 :2.2.-.el6_5. Complete!

备注:ftp对应的rpm包是:vsftpd.x86_64 0:2.2.2-12.el6_5.

2.启动ftp服务

[root@testvm01 ~]# ls /etc/init.d/vsftpd
/etc/init.d/vsftpd
[root@testvm01 ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@testvm01 ~]# ps -ef | grep vsftpd
root : ? :: /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root : pts/ :: grep vsftpd

备注:通过以上的信息知道ftp对应的后台命令是vsftpd,对应的配置文件vsftpd.conf

3.设置ftp服务为开机自动启动

[root@testvm01 ~]# chkconfig --level  vsftpd on
[root@testvm01 ~]# chkconfig --list | grep vsftp
vsftpd :off :off :on :on :on :on :off

4.查看ftp服务监听的端口

[root@testvm01 ~]# netstat -ntlp | grep vsftpd
tcp 0.0.0.0: 0.0.0.0:* LISTEN /vsftpd

备注:ftp服务,默认监听的端口是21端口.

5.创建ftp用户,用于ftp登录

[root@testvm01 ~]# useradd ftpuser01
[root@testvm01 ~]# echo 'ftpuser01' | passwd --stdin ftpuser01
Changing password for user ftpuser01.
passwd: all authentication tokens updated successfully.
[root@testvm01 ~]# chage -M ftpuser01

6.在本地通过浏览器连接到ftp服务

备注:能够访问,但是并没有提示输入用户名和密码的信息.

7.限定只有某些用户能够访问ftp服务器

修改配置文件vsftpd.conf,增加以下内容

userlist_deny=NO

意思是说,只有在user_list文件中的用户可以登录.

将ftp用户加入到user_list这个文件中

[root@testvm01 vsftpd]# cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
ftpuser01

8.重新通过浏览器进行访问

备注:此时,提示输入用户名和密码验证.

9.输入正确的用户名和密码之后,出现以下的错误

经过检查,系统打开了selinux,将其关闭.

10.查看selinux的状态

[root@testvm01 ~]# sestatus -b | grep ftp
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
ftp_home_dir off
ftpd_connect_db off
ftpd_use_fusefs off
ftpd_use_passive_mode off
httpd_enable_ftp_server off
tftp_anon_write off
tftp_use_cifs off
tftp_use_nfs off

备注:也可以将selinux关闭掉.

11.将ftp_home_dir设置为on

[root@testvm01 ~]# setsebool -P ftp_home_dir on
[root@testvm01 ~]# sestatus -b | grep ftp_home_dir
ftp_home_dir on

12.重新进行ftp登录

备注:可以登录成功.至此ftp登录完成.

文档创建时间:2018年10月8日16:13:00

linux环境中安装ftp服务的更多相关文章

  1. (3)ElasticSearch在linux环境中安装与配置head插件

    1.简介 ElasticSearch-Head跟Kibana一样也是一个针对ElasticSearch集群操作的API的可视化管理工具,它提供了集群管理.数据可视化.增删改查.查询语句等功能,最重要还 ...

  2. linux环境中安装iotop命令,解决-bash: iotop: command not found问题

    需求描述: 今天在测试环境中,准备查看mysql各个线程占用的io的情况,准备使用iotop命令来查看,发现没有这个命令 [root@testvm Packages]# iotop -bash: io ...

  3. linux环境中安装NRPE插件执行远程"本地资源"检查?NRPE安装?

    需求描述: 在安装完nagios之后,需要对本地资源进行监控,比如磁盘空间的使用,进程数,swap空间,等等.这些都不是通过网络提供出来的, 所以,都是本地资源,可以通过NRPE插件实现在客户端中采集 ...

  4. Centos6.5环境中安装vsftp服务

    1.检查vsftp是否安装 命令:rpm -qa|grep vsftpd 若已经安装,则显示相关的版本信息,否则什么也没有. 也可以输入find -name "vsftpd" -p ...

  5. Linux环境下安装mysql服务

    我使用的是阿里云的ECS服务,系统是CentOS7,安装mysql版本是5.7 第一步,通过 wget -i -c http://dev.mysql.com/get/mysql57-community ...

  6. Python在Linux环境中安装Thrift

    1.文件下载:thrift-0.11.0.tar.gz 个人网盘下载:链接:https://pan.baidu.com/s/1MXgx8LuN4wk7ssVUD9Wzaw  提取码:xw85  2. ...

  7. 【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub

    在文章([事件中心 Azure Event Hub]使用Logstash消费EventHub中的event时遇见的几种异常(TimeoutException, ReceiverDisconnected ...

  8. 在Mac OS环境下安装MySQL服务

    在Mac OS环境下安装MySQL服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我之前介绍过window环境下安装mysql服务,以及在Linux环境下安装mysql服务,今 ...

  9. Linux 安装FTP服务

    Linux 安装FTP服务,简单入门 环境: 虚拟机:Oracle VM VirtualBox. 系统:CentOS 7. (1)判断是否安装了ftp: rpm -qa | grep vsftpd 或 ...

随机推荐

  1. mongo源码学习(四)invariant

    前言 在看MongoDB源码的时候,经常会看到这个玩意儿:invariant. invariant的字面意思是:不变式. 在emacs上跳转到函数定义要安装一个插件,ggtags,费了老大劲儿.这都可 ...

  2. C语言 · 分分钟的碎碎念

    算法提高 分分钟的碎碎念   时间限制:1.0s   内存限制:256.0MB      问题描述 以前有个孩子,他分分钟都在碎碎念.不过,他的念头之间是有因果关系的.他会在本子里记录每一个念头,并用 ...

  3. C语言 · 色盲的民主

    算法提高 色盲的民主   时间限制:1.0s   内存限制:256.0MB      问题描述 n个色盲聚在一起,讨论一块布的颜色.尽管都是色盲,却盲得各不相同.每个人都有自己的主张,争论不休.最终, ...

  4. flume中HdfsSink参数说明

    flume到hdfsSink: type hdfs path 写入hdfs的路径,需要包含文件系统标识,比如:hdfs://namenode/flume/webdata/ 可以使用flume提供的日期 ...

  5. hbase源码系列(十二)Get、Scan在服务端是如何处理?

    继上一篇讲了Put和Delete之后,这一篇我们讲Get和Scan, 因为我发现这两个操作几乎是一样的过程,就像之前的Put和Delete一样,上一篇我本来只打算写Put的,结果发现Delete也可以 ...

  6. PCL超体聚类

    超体聚类是一种图像的分割方法. 超体(supervoxel)是一种集合,集合的元素是“体”.与体素滤波器中的体类似,其本质是一个个的小方块.与大部分的分割手段不同,超体聚 类的目的并不是分割出某种特定 ...

  7. Android开发-httpclient兼容性问题

    据说android 6.0之后已经将Apache Http Client移出SDK,build时出现“Unable to find optional library: org.apache.http. ...

  8. C51寄存器

    EA   全局中断允许位 ET2 定时器/计时器2中断允许位 ES 串行口中断允许位 ET1 定时器/计时器1中断允许位 EX1 外部中断1中断允许位 ET0 定时器/计时器0中断允许位 EX0 外部 ...

  9. 17个CSS知识点整理

    1.对WEB标准以及W3C的理解与认识 标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率:使用外链css和js脚本.结构行为表现的分离.文件下载与页面速度更快:内容能被更多的用户所访问.内容能被更 ...

  10. Python 文件操作三

    文件重命名os模块中的rename()可以完成对文件的重命名操作rename(需要修改的文件名, 新的文件名) import os os.rename("11.txt", &quo ...