一: FTP

Centos7中默认已经安装了sshd服务(sftp), vsftpd需要手动安装

1、安装并启动FTP服务

1.1 安装vsftpd

使用 yum 安装 vsftpd

yum install -y vsftpd

1.2 启动vsftpd

安装完成后, 启动vsftpd服务 :

service vsftpd start

启动后, 可以看到系统已经监听了 21 端口(Ubuntu下命令为: lsof -i:21)

netstat -nltp | grep 21

此时, 访问ftp://IPaddr 就可浏览主机上的 /var/ftp目录了

2、配置 FTP 权限

2.1 了解 vsftpd 配置

vsftpd 的配置目录为 /etc/vsftpd, 包含下列的配置文件 :

a. vsftpd.conf 为主要配置文件

b. ftpusers 配置禁止访问 FTP 服务器的用户列表

c. user_list 配置用户访问控制

2.2 阻止匿名访问和切换根目录

匿名访问和切换目录都会给服务器带来安全风险, 我们把这两个功能关闭.

编辑 /etc/vsftpd/vsftpd.conf, 找到下面两处配置并修改:

# 禁用匿名用户  YES 改为NO

anonymous_enable=NO

# 禁止切换根目录 删除或#

chroot_local_user=YES

编辑完成后保存配置, 重新启动 FTP 服务

service vsftpd restart

2.3 创建 FTP 用户

创建一个用户 ftpuser

useradd ftpuser

为用户 ftpuser 设置密码

passwd ftpuser  或  echo "new_password" | passwd ftpuser --stdin

2.4 限制该用户仅能通过FTP访问

限制用户 ftpuser 只能通过 FTP 访问服务器, 而不能直接登录服务器

usermod -s /sbin/nologin ftpuser

2.5 为用户分配主目录

为用户 ftpuser创建主目录并约定

/data/ftp 为主目录, 该目录不可上传文件

/data/ftp/pub 文件只能上传到该目录下

在/data中创建相关的目录

mkdir -p /data/ftp/pub

设置访问权限

chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub

设置为用户的主目录

usermod -d /data/ftp ftpuser

3、OK

至此, FTP服务已经搭建完成, 可以使用各种第三方客户端来测试访问FTP服务器

访问前, 记得关闭防火墙

service firewalld stop

如果需要使用root登录连接FTP服务, 需要配置 /etc/vsftpd/user_list 和 /etc/vsftpd/ftpusers, 将文件中的root注释

二: SFTP

1、创建用户组 sftp

groupadd sftp

2、创建用户 test

useradd -G sftp -s /sbin/nologin test

-s 禁止用户ssh登录

-G 加入sftp用户组

3、创建密码

passwd test

4、修改配置文件 sshd_config

vim /etc/ssh/sshd_config

将下面这行注释

# Subsystem       sftp  /usr/libexec/openssh/sftp-server

然后在末行加入:

Match Group sftp

X11Forwarding no

AllowTcpForwarding no

ChrootDirectory %h

ForceCommand internal-sftp

说明:

Match Group sftp 匹配sftp用户组中的用户

ChrootDirectory %h 只能访问默认的用户目录(自己的目录), 例如 /home/test

5、设置目录权限

chown root:sftp /home/test

chgrp -R sftp /home/test

chmod -R 755 /home/test

# 设置用户可以上传的目录, 该用户下允许用户上传删除修改文件及文件夹

mkdir /home/test/upload

chown -R test:sftp /home/test/upload

chmod -R 755 /home/test/upload

6、解决报错问题

修改 /etc/selinux/config 中SELINUX 为 disabled

7、使用sftp客户端连接服务器

使用第三方客户端连接sftp服务器, 或者使用Python中的paramiko模块连接

CentOS.7下安装配置FTP和SFTP服务的更多相关文章

  1. CentOS系统下安装配置ftp服务

    安装配置步骤: rpm -ivh /opt/bak/vsftpd-2.2.2-11.el6.x86_64.rpm --本地安装vsftpd ll /etc/vsftpd/  --查看vsftpd的配置 ...

  2. CentOS 7下安装配置FTP

    安装vsftpd yum install -y vsftpd 编辑ftp配置文件 vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO #anonymous_e ...

  3. centos 7下安装配置Supervisor

    1.安装Supervisor centos下安装yum install supervisor 2. systemctl enable supervisord 开机自启 systemctl start ...

  4. win7下安装配置ftp服务器

    1. win7操作系统自带了ftp组件,所以不需要另外下载.只需要在控制面板中,添加或删除组件中启用即可. 2. 在管理上,ftp和iis是属于同一个目录的.ftp也可以算是internet info ...

  5. CentOS 7下安装配置proftpd搭建ftp服务器

    proftpd全称:Professional FTP daemon,是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone.xinetd模式运 ...

  6. CentOS 7下安装配置搭建jdk+tomcat+MariaDB环境

    1.JDK安装 注意:rpm与软件相关命令 相当于window下的软件助手 管理软件 步骤: 1)查看当前Linux系统是否已经安装java 输入 rpm -qa | grep java 2)卸载两个 ...

  7. CentOS服务器下安装配置SSL

    https是一个安全的访问方式,数据在传输过程中是加密的,https基于SSL. 一.安装apache和ssl模块 1.安装apache #yum install httpd 2.安装ssl模块 #y ...

  8. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

    在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...

  9. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

随机推荐

  1. [Swift]LeetCode265.粉刷房子 II $ Paint House II

    There are a row of n houses, each house can be painted with one of the k colors. The cost of paintin ...

  2. Spring MVC知识

    f-sm-1. 讲下SpringMvc和Struts1,Struts2的比较的优势 性能上Struts1>SpringMvc>Struts2 开发速度上SpringMvc和Struts2差 ...

  3. 面试题:合并2个有序数组(leetcode88)

    给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n. ...

  4. .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/9985451.html 本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新 ...

  5. synchronize 关键字原理

    众所周知 synchronized 关键字是解决并发问题常用解决方案,有以下三种使用方式: 同步普通方法,锁的是当前对象. 同步静态方法,锁的是当前 Class 对象. 同步块,锁的是 () 中的对象 ...

  6. log4cplus使用(三)-日志重定向

    本文讲述的是log4cplus日志输出到qt widget,封装了serverSocket.     log4cplus支持用户自定义输出设备,只需要继承自Appender,或者Appender子类, ...

  7. 『宝藏 状态压缩DP NOIP2017』

    宝藏(NOIP2017) Description 参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n 个深埋在地下的宝藏屋, 也给出了这 n 个宝藏屋之间可供开发的m 条道路和它们的长度. 小明决 ...

  8. Eureka介绍

    1.  Eureka是什么 Eureka是一个基于REST的服务,主要用于AWS云中的定位服务,以实现中间层服务器的负载平衡和故障转移 在 Spring Cloud 微服务架构中通常用作注册中心 我们 ...

  9. leetcode — unique-binary-search-trees-ii

    ``` import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util ...

  10. java 标准输出与标准错误 out与 err 区别 用法 联系 java中的out与err区别 System.out和System.err的区别 System.out.println和System.err.println的区别 Java重定向System.out和System.err

    本文关键词: java 标准输出与标准错误    out与 err 区别 用法 联系  java中的out与err区别  System.out和System.err的区别 System.out.pri ...