搭建 SFTP 交换平台,实现用户隔离,解决 “client_loop: send disconnect: Broken pipe“

本文介绍如何在阿里云主机上配置SFTP服务,实现每个用户拥有独立的目录并进行权限隔离。通过修改sshd_config文件,设置ChrootDirectory和ForceCommand参数,确保用户只能访问自己的目录。同时,解决sjjh_user用户读写权限问题,创建upload/download目录供数据交换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:
购买了阿里云主机,默认镜像(centos)自带了 SSH 和 SFTP。
需求是,通过这个主机的 SFTP,每个用户一个目录,都是互相隔离的。

修改 ssh 配置文件: vim /etc/ssh/sshd_config

# 端口号
Port 22
# 打开 sftp
Subsystem       sftp    internal-sftp
# 针对 sftp 用户组的设置
Match Group sftp
        ChrootDirectory %h
        ForceCommand internal-sftp

重启服务:

service sshd restart

创建用户

# 创建用户目录
mkdir /share/sjjh_user 
# 创建用户组
groupadd sftp
# 创建用户
useradd -d /share/sjjh_user -s /sbin/nologin sjjh_user
# 床架密码
passwd sjjh_user  # 123456
# 把用户加入用户组
usermod -G sftp sjjh_user

进行完上面的操作后,遗留问题是
1、sjjh_user 没有读写权限,并且,通过 chmod/chown 操作 /share/sjjh_user 后,会报错:sftp client_loop: send disconnect: Broken pipe
2、通过下面的操作创建 upload/download 目录,通过这两个目录中上传下载数据。

cd /share/sjjh_user && mkdir upload download && chown sjjh_user download upload

登陆使用:

sftp -P 22 sjjh_user@111.111.111.111 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值