背景:
购买了阿里云主机,默认镜像(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
本文介绍如何在阿里云主机上配置SFTP服务,实现每个用户拥有独立的目录并进行权限隔离。通过修改sshd_config文件,设置ChrootDirectory和ForceCommand参数,确保用户只能访问自己的目录。同时,解决sjjh_user用户读写权限问题,创建upload/download目录供数据交换。
2万+

被折叠的 条评论
为什么被折叠?



