CentOS.7下安装配置FTP和SFTP服务
一: 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服务的更多相关文章
- CentOS系统下安装配置ftp服务
安装配置步骤: rpm -ivh /opt/bak/vsftpd-2.2.2-11.el6.x86_64.rpm --本地安装vsftpd ll /etc/vsftpd/ --查看vsftpd的配置 ...
- CentOS 7下安装配置FTP
安装vsftpd yum install -y vsftpd 编辑ftp配置文件 vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO #anonymous_e ...
- centos 7下安装配置Supervisor
1.安装Supervisor centos下安装yum install supervisor 2. systemctl enable supervisord 开机自启 systemctl start ...
- win7下安装配置ftp服务器
1. win7操作系统自带了ftp组件,所以不需要另外下载.只需要在控制面板中,添加或删除组件中启用即可. 2. 在管理上,ftp和iis是属于同一个目录的.ftp也可以算是internet info ...
- CentOS 7下安装配置proftpd搭建ftp服务器
proftpd全称:Professional FTP daemon,是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone.xinetd模式运 ...
- CentOS 7下安装配置搭建jdk+tomcat+MariaDB环境
1.JDK安装 注意:rpm与软件相关命令 相当于window下的软件助手 管理软件 步骤: 1)查看当前Linux系统是否已经安装java 输入 rpm -qa | grep java 2)卸载两个 ...
- CentOS服务器下安装配置SSL
https是一个安全的访问方式,数据在传输过程中是加密的,https基于SSL. 一.安装apache和ssl模块 1.安装apache #yum install httpd 2.安装ssl模块 #y ...
- CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)
在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...
- Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
Centos下安装配置LAMP(Linux+Apache+MySQL+PHP) 关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...
随机推荐
- [Swift]LeetCode885. 螺旋矩阵 III | Spiral Matrix III
On a 2 dimensional grid with R rows and C columns, we start at (r0, c0) facing east. Here, the north ...
- Java接口的实例应用:致敬我的偶像——何塞·穆里尼奥
文/沉默王二 曹操在<短歌行>中为杜康酒打过一个价值一亿个亿的广告——“何以解忧,唯有杜康”,我替曹操感到惋惜的是他本人并不会收到这笔不菲的代言费.想一想,要是三国时期的明星人物们有这个代 ...
- java代码之美(7)---guava之Bimap
guava之Bimap bimap的作用很清晰:它是一个一一映射,可以通过key得到value,也可以通过value得到key. 一.概述 1.bimap和普通HashMap区别 (1)在Java集合 ...
- 说一说MVC的CustomHandlerErrorAttribute(五)
九月第一篇,呵呵 前言:最近刚入职了一家公司,上司让我维护一个项目,我接手了看了一下项目,try catch 严重影响我的视觉,我直接通过vs插件将其try catch全部替换掉占位符,呵呵. 所以我 ...
- Java多线程之Executor框架和手写简易的线程池
目录 Java多线程之一线程及其基本使用 Java多线程之二(Synchronized) Java多线程之三volatile与等待通知机制示例 线程池 什么是线程池 线程池一种线程使用模式,线程池会维 ...
- Vimtutor(中文版)学习笔记各章小结
在Bash中直接输入 vimtutor 打开新世界!通常阅读完需要25-30分钟不等,像玩游戏一样学会vim,然后爱不释手 里面设置了很多例子通过实践操作来学,这里仅把vimtutor上的每一章小结记 ...
- HashMapd的存取原理你知道多少
在java的容器集合中,hashmap的使用频率可以说是相当高的.不过对于hashmap的存(put())以及取(get())的原理可能很多人还不大清楚,今天,我就给大家介绍下它是如何存如何取的. # ...
- 如何优雅地查看 JS 错误堆栈?
本文由云+社区发表 在前端,我们经常会通过 window.onerror 事件来捕获未处理的异常.假设捕获了一个异常,上报的堆栈是这个: TypeError: Cannot read property ...
- Nginx的正向代理与反向代理详解
正向代理和反向代理的概念 代理服务(Proxy),通常也称为正向代理服务. 如果把局域网外Internet想象成一个巨大的资源库,那么资源就分布到了Internet的各个点上,局域网内的客户端要访问这 ...
- Perl一行式:文本编解码、替换
perl一行式程序系列文章:Perl一行式 文本大小写转换 全部字符转换成大写或小写,有几种方式: # 转大写 $ perl -nle 'print uc' file.log $ perl -ple ...