首页 > 其他分享 >搭建sftp服务器及ftp服务器

搭建sftp服务器及ftp服务器

时间:2023-12-20 14:15:23浏览次数:29  
标签:ftp sshd sftp xx 服务器 home data

一.搭建sftp服务器

实现目标:实现两个用户admin和usr的sftp传输,其中admin可以上传下载,usr只可以下载。sftp端口改为22222

sftp是一种安全的文件传送协议,是ssh内含协议,也就是说只要sshd服务器启动了,sftp就可使用,不需要额外安装,它的默认端口和SSH一样为22

1.创建sftp用户组

groupadd sftp

2.创建不可登录用户admin及usr并加入sftp组

useradd -g sftp -s /sbin/nologin admin
useradd -g sftp -s /sbin/nologin usr

3.给用户设置密码

passwd admin

passwd usr

4.配置sshd_config文件

在sshd_config文件中找到Subsystem开头的行,用#符号注释掉。并添加以下内容
vim /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server

Subsystem sftp internal-sftp 
AllowTcpForwarding no
X11Forwarding no

Match Group sftp
ChrootDirectory /home/sftp/ 
ForceCommand internal-sftp

其中ChrootDirectory指定的是用户目录,用ChrootDirectory指定的用户目录这一层和上面其他层的拥有着必须为root用户。

5.设置目录权限

#创建目录并修改权限为root用户拥有
mkdir /home/sftp/
chown root /home/sftp/
chmod 755 /home/sftp/
#在用户目录下建立子目录,让sftp中admin的用户可读写文件
我们现在在/home/sftp目录下新建一个data文件夹用于下载和上传:
mkdir -p /home/sftp/data
#授权data文件夹读写,让子文件夹data属于admin
chown admin:sftp /home/sftp/data
#设置属主可读可写,其他用户可读
chmod 750 /home/sftp/data

6.关闭selinux

vim /etc/selinux/config 

SELINUX=disabled

setenforce 0

7.修改sftp端口号

sftp与ssh端口一致均为22端口,如果不想用22端口,则可以在sshd_config中进行修改

vim  /etc/ssh/sshd_config
Port 22222

8.重启sshd服务

systemctl restart sshd 
systemctl enable sshd 
若要加入其他可读账号:只需要将新账号user1加入sftp组中。 useradd -g sftp -s /sbin/nologin user1 要自动修改上传文件的权限,则要修改配置文件中的 local_umask 的值 9.额外需求:添加一个sftp可以访问/home/sftp/data/CITI 管理权限的账号,但是这个账号不能向前查看其他文件夹,而不需要ftp功能。其中/home/sftp/data/CITI为已建文件夹
#创建用户
useradd -G sftp -s /sbin/nologin Citiadm
#修改密码
passwd Citiadm
xxxxxx
#修改目录权限
chown Citiadm:sftp /home/sftp/data/CITI
#属主读写,属组可读
chmod 750 /home/sftp/data/CITI
systemctl restart sshd 

#改家目录,Citiadm账户使用sftp登录进去之后就是家目录/home/sftp/data/CITI
sudo vi /etc/passwd
sudo usermod -d /home/sftp/data/CITI -u 1005 Citiadm

 

二.搭建ftp服务器

ftp服务为vsftpd,默认端口为21,改完2121

1.开启FTP服务

yum install -y vsftpd

2.修改配置文件,设定ftp上传家目录,与上方sftp一致

端口设置为2121 

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO

local_enable=YES
local_root=/home/sftp
chroot_local_user=YES
listen_port=2121
use_localtime=YES

allow_writeable_chroot=YES

3.在/etc/services中修改ftp

vim /etc/services
ftp             2121/tcp
ftp             2121/udp

4.注释掉仅允许用户的shell为 /etc/shells 文件内的shell命令时,才能够成功

否则ftp登录时会有530 Login incorrect.530 Please login with USER and PASS.报错

vim /etc/pam.d/vsftpd
#注释掉
#auth       required    pam_shells.so

5.重启vsftpd服务

systemctl restart vsftpd

三.测试

1.window测试:在文件目录输入
sftp://xx.xx.xx.xx:22222
ftp://xx.xx.xx.xx:2121

2.linux测试

sftp测试

sftp -oPort=22222 [email protected]

ftp测试

#安装ftp
yum install ftp -y
ftp xx.xx.xx.xx 2121

 

标签:ftp,sshd,sftp,xx,服务器,home,data
From: https://www.cnblogs.com/xiaoxiaomuyuyu/p/17916363.html

相关文章

  • C++聊天集群服务器解决客户端注销登录问题
    客户端如何处理注销登录问题?问题描述:​ 在客户端登录后进行注销选择,然后重新登录刚才注销的账号,直接卡死。注意这是概率发生,因为是主线程和子线程抢服务器发送的信息,只有子线程抢到才会发生卡死问题产生原因分析:​ 前置条件:主线程循环等待用户输入选择(第一张图是死循环,send......
  • DNS服务器搭建小记
    环境准备主机IPDNS服务器:Rocky_Linux9192.168.3.1/24web服务器:Rocky_Linux9192.168.3.2/24客户端:windows11192.168.3.10/24安装软件包#安装yuminstallbind-libsbind-utilsbind-chroot-y#卸载yumremovebind-libsbind-utilsbind-chroot-y修改配置文件#修改配置文件,使其......
  • 将本地服务共享给服务器
    文档说明:只记录关键地方;发布时间:2023-12-20要求:通过公网临时访问正在开发的服务运行环境:linuxmacos用途例子:1、本地调试微信公众号服务器推送的消息2、公网临时预览,预览本地开发的服务3、服务器访问本地NAS服务4、远程协助等等说明将本地服务共享给服务器......
  • vscode插件,将修改的文件同步到服务器
    安装扩展--deploy 在setting.json中进行设置 "deploy":{"targets":[{"type":"sftp","name":"MySFTPfolder","descr......
  • 分享一个linux服务器迁移文件脚本
    #!/bin/bash#定义源和目标服务器SRC_SERVER=""DEST_SERVER="[email protected]"#定义源和目标目录SRC_DIR="/home"DEST_DIR="/home"#定义rsync命令选项1500是1500kbRSYNC_OPTS="-avz--partial--progress--delete--bwlimit=1500"#......
  • 改变上传的svg颜色并生成新的svg文件,再上传或者更新至服务器上
    最近有个需求,就是把上传的svg改颜色,并生成新的svg图片上传值服务器上<!DOCTYPEhtml><html><head><title>上传svg并修改颜色得到新的svg文件</title><style>#svgContainer{padding:50px;display:inline-block;}......
  • 恒创科技:云服务器1核2G和2核4G差距大吗?
    ​云服务器是运行在云计算平台上的虚拟服务器,当您创建云服务器时,云提供商会为您分配一定数量的虚拟化硬件,例如CPU、内存等,而在这些分配的配置中,1核2G和2核4G通常算是主流的选择,那么,这些配置参数到底是什么意思呢?它们之间差距大吗?本文主要从处理器核心数量、内存容量、建站选......
  • 物联网架构实例—解决Linux(Ubuntu)服务器最大TCP连接数限制
    1.前言:在对物联网网关进行压测的时候,发现在腾讯云部署网关程序,设备接入数量只能达到4000多个长连接,之后就再也无法接入终端了。之前在阿里云部署的时候明明可以到达2万左右,而且腾讯云的这个服务器比阿里云的硬件配置还要高上不少,不至于那么差,随后查阅大量资料终于完美解决。2.解......
  • ​物理服务器
    物理服务器物理服务器是一种独立的、非虚拟化的计算机设备,它通常被用作高性能应用、数据库、存储和网络等关键业务应用的运行平台。物理服务器可以提供更高的处理能力、更好的安全性和可靠性,但需要用户自行维护和管理。物理服务器的形式多种多样,常见的有塔式服务器、机架服务器和......
  • C语言实现TCP CS模型代码,客户端服务器
    服务端将接受客户端发送的数据并将其转换成大写形式,然后再发送给客户端,客户端将发送一个字符串给服务器,并显示来自服务器的响应内容。服务器点击查看代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/socket.h>#include<netinet/in.h>#......