文档章节

FTP

夜_幕
 夜_幕
发布于 2017/02/16 09:54
字数 1318
阅读 2
收藏 0
点赞 0
评论 0

注意:该服务器(10.0.1.9),安装的是CentOS7.2,因此系统开机自动启动ftp服务,防火墙放行ftp服务,重启ftp服务以及查看ftp服务运行状态只对CentOS7系列和RHEL7系列有效,除此之外其他的命令在CentOS6系列和RHEL6系列通用。

 

1,先登录服务器,IP地址:10.0.1.9,用户root,密码xxxxxx,在linux下使用下面命令连接

         ssh  root@10.0.1.9 

如果显示”ssh command not found ”,安装ssh服务,使用命令

         yum  install  openssh  -y

第一次链接的过程中会提示是否做指纹识别, 选择yes, 然后输入密码xxxxxx

windows下需要安装xshell, putty, securecrt等工具,设置好要连接的IP地址和用户登录,以windows下安装的xshell为例

1)  点击左上角新建,图标

2)  然后输入主机和名称,名称任意都可以,如图所示

  

3)  在这个界面的左上方选择用户身份验证, 方法选择Password, 然后输入用户名和密码, 如下图所示,选择确定即可.

  

 

2, 因为后续很多命令的使用是需要root权限的,所以如果是以普通用户登陆的需要切换到root,  root用户登陆的则不需要, 可以略过,切换root命令    

         su  -

3, 安装vsftp服务,使用命令

         yum  install  vsftpd  -y

4, 使服务开机自动启动,使用命令

         systemctl  enable  vsftpd.service

5, 备份vsftpd服务的配置文件

         cp  /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bak

6, 设置防火墙使得ftp能够被访问

         firewall-cmd  --permanent --zone=public  --add-service=ftp   #永久开放ftp服务

         firewall-cmd  --reload                                  #重新加载配置

7, 关闭selinux,这个影响ftp服务,使用命令    

         setenforce 0

8, 创建ftp服务使用的一个系统用户,使用命令

         useradd  -d  /home/bernie  -s  /sbin/nologin

9, 创建系统用户对应的虚拟用户, 使用命令 

         touch  /etc/vsftpd/ftp_user.txt

在文件中写入下面两行, 第一行对应的是虚拟用户的名字,第二行是虚拟用户对应的密码。

         taiyouxi1

         2kBK990oqQCZ

10, 将使用的明文用户名和密码文件ftp_user.txt转换为数据库文件并加加密, 使用命令

       db_load  -T  -t  hash  -f   /etc/vsftpd/ftp_user.txt     /etc/vsftpd/vsftpd_login.db

11, 修改/etc/vsftpd/ftp_user.txt  /etc/vsftpd/vsftpd_login.db 文件权限, 使得只有root可以修改和查看, 使用命令

         chown  600   /etc/vsftpd/vsftpd_login.db  /etc/vsftpd/ftp_user.txt

12, 修改vsftpd服务的认证方式,让他以配置的虚拟用户的身份来认证,使用命令

         vim  /etc/pam.d/vsftpd,

进去后按”i”编辑,将其中的auth和account开头的,在开头使用#全部注释, 在auth和account原来位置添加如下内容:

         auth  required  /lib64/security/pam_userdb.so     db=/etc/vsftpd/vsftpd_login

         account  required  /lib64/security/pam_userdb.so   db=/etc/vsftpd/vsftpd_login

13, 修改配置文件 vsftp.conf , 改为以下内容,命令

         vim  /etc/vsftpd/vsftpd.conf  (按”i”编辑)

anonymous_enable=YES     修改为: anonymous_enable=NO  设定不允许匿名访问

write_enable=YES          修改为: write_enable=NO       设定不允许进行写操作

添加下面内容:

xferlog_file=/var/log/vsftpd.log        设定vsftp日志的路径

chroot_local_user=YES               禁止本地用户登出自己的FTP主目录     

guest_enable=YES                   设定启用虚拟用户功能    

guest_username=bernie           指定虚拟用户的宿主用户,这里的bernie既是ftp_user.txt中定义的虚拟用户的宿主用户

user_config_dir=/etc/vsftpd/vsftpd_user_conf  设定虚拟用户个人的文件配置

virtual_use_local_privs=YES                 设定虚拟用户的权限符合他们的宿主用户

allow_writeable_chroot=YES                 添加用户的写权限,和chroot_local_user=YES有关

14, 创建/etc/vsftpd/vsftpd_user_conf目录,和user_config_dir=/etc/vsftpd/vsftpd_user_conf这个文件,使用命令

        mkdir   /etc/vsftpd/vsftpd_user_conf

在这个目录下建立文件,这里以建立的虚拟用户的名字命名,使用命令

        touch /etc/vsftpd/vsftpd_user_conf/taiyouxi1

在这个文件下写入下面内容,下面设置使得taiyou1这个用户登陆后具有所有的(读,写,删除)权限使用命令

        vim   /etc/vsftpd/vsftpd_user_conf/taiyouxi1   (按”i”编辑)

write_enable=YES

anonymous_enable=NO

anon_world_readable_only=NO   只要宿主用户对文件有读权限,就可以下载

anon_upload_enable=YES       

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_umask=022

download_enable=YES

local_root=/data/bernie

15, 设定ftp登陆后文件的路径会在/data/bernie ,先创建bernie目录,再设置bernie的用户所有者和所属组为bernie,使用命令 

        mkdir   /data/bernie

        chown   bernie.bernie   /data/bernie   -R

16, 编辑完成以后需要对服务进行重启才能生效,使用命令

        systemctl  restart  vsftpd.service 

查看是否重启成功以及服务运行的状态,使用命令

        Systemctl  status   vsftpd.service

17,  登陆机器完成搭建服务了以后,这个时候是root用户,如果本身就是root用户登录的输入”exit”,按回车 退出,或者在键盘上按”ctrl”加”d”退出,如果本身是以普通用户登陆进入切换到root用户的,需要输入”exit”按回车,再输入”exit”按回车。

18,  在别的机器(linux)上登陆ftp服务时使用命令

        lftp taiyouxi1:2kBK990oqQCZ@10.0.1.9

如果没有lftp命令,自行安装, 命令

        yum  install  lftp  -y

Windows上想要登陆ftp服务,打开我的电脑,在这个位置输入下图所示的内容

 

输入完成后按回车键

在弹出的页面输入给定的ftp服务的用户和密码,然后登陆

© 著作权归作者所有

共有 人打赏支持
夜_幕
粉丝 3
博文 10
码字总数 4267
作品 0
杭州

暂无文章

ES15-JAVA API 索引管理

1.创建连接 创建连接demo package com.sean.esapi.client;import java.net.InetSocketAddress;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.clien......

贾峰uk
3分钟前
0
0
单点登录的设计,从单域名到多域名(经验分享)

个人实践总结,最初的的需求,多个产品线都在同一个根域名下面。 独立的用户中心分离,单独负责用户登录和用户信息获取、变更等处理逻辑。 第一步,用户登录成功,分配给用户一个memToken(令...

小海bug
5分钟前
0
0
合格前端第十二弹-TypeScript + 大型项目

写在前面 TypeScript 已经出来很久了,很多大公司很多大项目也都在使用它进行开发。上个月,我这边也正式跟进一个对集团的大型运维类项目。 项目要做的事情大致分为以下几个大模块 一站式管理...

qiangdada
9分钟前
0
0
编程学习之如何在Node.js中优化服务器端渲染?[图]

编程学习之如何在Node.js中优化服务器端渲染?[图] 在 Airbnb,我们花了数年时间将所有前端代码迁移到 React 架构,Ruby on Rails 在 Web 应用中所占的比例每天都在减少。实际上,我们很快会...

原创小博客
11分钟前
0
0
gradle学习笔记

相关文档 适合新手的 gradle 自学教程合集 Gradle教程

OSC_fly
25分钟前
0
0
Virtual Serial Port - RFC2217

Virtual Serial Port for Linux RFC-2217 The COM Port Control Protocol pyserial - RFC 2217 NetSerial - Windows Telnet COM Port - RFC Official Using Python, How do I make a virtual......

zungyiu
32分钟前
0
0
全球的IPv6部署急剧增加,中国进度较慢

导读 全球的IPv6部署继续增加,但中国在IPv6方面还需要努力,从部署图上分析,中国几乎没有几个地方是普及IPv6的。这6年来,自世界IPv6发布以来,全球网络和服务提供商的IPv6部署水平急剧增加...

问题终结者
36分钟前
1
0
好看的电影记录

星际迷航三 狂暴之路 新木乃伊 黑夜传说 铁血战士2

xd03122049
39分钟前
0
0
记录Yii2框架开发遇到微信错误提示

转载地址 记录Yii2框架开发遇到微信错误提示 微信公共号开发,提示“该公众号暂时无法提供服务,请稍后再试”,如何解决? 以前使用Yii框架的时候,并没有像Yii2,以前的Yii框架似乎用起来在...

durban
41分钟前
1
0
LSM树(Log-Structured Merge Tree)存储引擎浅析

其实每一种数据库,它都是一种抽象的数据结构的具体实现。 随着rocksDB(facebook的),levelDB(google的),以及我们熟知的hbase,他们都是使用的LSM树结构的数据库。 它的核心思路其实非常...

算法之名
55分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部