CentOS.7下安装配置FTP和SFTP服务

一: FTP

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

1、安装并启动FTP服务

1.1 安装vsftp d

使用 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模块连接

Original: https://www.cnblogs.com/self479/p/9300466.html
Author: yiSiNing479
Title: CentOS.7下安装配置FTP和SFTP服务

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577645/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • postgresql 自增列 初始值设置

    — 获取自增列的名称 SELECT pg_get_serial_sequence(‘table_name’, ‘id’) AS sequence_name; –获取自增列的下一…

    Linux 2023年6月14日
    056
  • redis 常用命令

    批量删除redis key redis-cli -a xxx keys “prefix_tb_supplier:spl_id*” | xargs redis…

    Linux 2023年5月28日
    075
  • 系统执行命令记录到message 日志文件中

    直接 配置 /etc/profile 配置文件添加一样,简单高定。 export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; e…

    Linux 2023年6月8日
    067
  • vue axios的二次封装

    1、axios的二次封装 BiliBili作者原地址,多多支持 npm i axios //下载axios 首先创建两个文件夹在src目录下;api和config 先在 confi…

    Linux 2023年6月7日
    064
  • ShardingSphere-proxy-5.0.0企业级分库分表、读写分离、负载均衡、雪花算法、取模算法整合(八)

    一、简要说明 以下配置实现了: 1、分库分表 2、每一个分库的读写分离 3、读库负载均衡算法 4、雪花算法,生成唯一id 5、字段取模 6、解决笛卡尔积问题 7、设置默认所有表不进…

    Linux 2023年6月14日
    074
  • Ubuntu下使用apt-get命令查询并安装指定版本的软件

    执行以下命令,查询软件所有的版本号 sudo apt-cache madison <package></package> 执行以下命令,安装指定版本的软件 …

    Linux 2023年6月6日
    093
  • 将Java代码打包成jar文件转换为.exe可执行程序方法

    ​ 做完学生管理系统后我想将代码打包成一个可执行程序,那样就可以直接点击在Windows下运行了,下面就跟大家分享下打包方法。 将Java的代码转换成 .exe 文件需要先把代码打…

    Linux 2023年6月6日
    094
  • vue动画效果和vue组件——day03

    <div id="app"><br> <input type="button" value="&am…

    Linux 2023年6月7日
    073
  • 统计Redis中各种数据的大小

    如果 MySQL 数据库比较大的话,很容易就能查出是哪些表占用的空间; 不过如果 Redis 内存比较大的话, […] Meet so Meet. C plusplus…

    Linux 2023年5月28日
    076
  • Python之正则表达式

    一、什么是正则表达式 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”))操作的一种逻辑公式,就是用事先定义好的…

    Linux 2023年6月14日
    076
  • tcp 连接 time-wait 状态过多问题解释

    前言 两条竖线分别是表示: 主动关闭(active close)的一方 被动关闭(passive close)的一方 网络上类似的图有很多,但是有的细节不够,有的存在误导。有的会把…

    Linux 2023年6月16日
    0186
  • Lab

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/Skybiubiu/p/15876295.htmlAut…

    Linux 2023年6月13日
    065
  • windows 使用挂载盘提供FTP服务

    环境说明: NFS服务器:centos7.0 IP:192.168.18.10 FTP服务器:windows server 2008 IP:192.168.18.41 准备工作: …

    Linux 2023年6月8日
    0156
  • Shell命令

    1.shell命令的执行机制:fork+exec执行命令(任何的shell都会执行) 2.shell中的用户输入处理 1 命令行参数:选项、参数 2 运行时输入 3 read命令:…

    Linux 2023年6月6日
    092
  • Git详细使用流程

    初始化git仓库 git init 执行命令后文件夹下将会在执行命令路径下生成.git隐藏文件上传该路径下的所有内容到暂存区 git add . 通常项目中都有read.me,创建…

    Linux 2023年6月7日
    094
  • Django 如何获取 Model 字段列表?

    在平时的开发过程中,避免不了需要获取 Model 中的字段列表。 那需要把所有字段都再复制一份吗?这样的话就太麻烦了,而且后期也不好维护。 其实,Django 内置了一个方法,可以…

    Linux 2023年6月7日
    0102
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球