首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos下配置sftp且限制用户访问目录

centos下配置sftp且限制用户访问目录

作者头像
luxixing
发布2019-05-29 17:39:11
6.6K1
发布2019-05-29 17:39:11
举报
文章被收录于专栏:luxixingluxixing

第一步:创建sftp服务用户组,创建sftp服务根目录

groupadd sftp
#此目录及上级目录的所有者(owner)必须为root,权限不高于755,此目录的组最好设定为sftp
mkdir /srv/sftp
chown -R root:sftp /srv/sftp
chmod -R 0755 /srv/sftp 

第二步:备份sshd配置文件然后编辑

mv /etc/ssh/sshd_config ~/backup/sshd_config_xxx                     
vim /etc/ssh/sshd_config

这一步,注释掉/etc/ssh/sshd_config文件中的此行代码:

Subsystem  sftp    /usr/libexec/openssh/sftp-server

添加如下代码:

Subsystem sftp internal-sftp
Match Group sftp
    ChrootDirectory /srv/sftp/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

功能可简述为:凡是在用户组sftp里的用户,都可以使用sftp服务 使用sftp服务连接上之后,可访问目录为/srv/sftp/username 举个例子:

用户test是一个sftp组的用户,那么他通过sftp连接服务器上之后,只能看到/srv/sftp/test目录下的内容 用户test2也是一个sftp组的用户,那么他通过sftp连接服务器之后,只能看到/srv/sftp/test2目录下的内容

第三步:添加有效的sftp用户,且给予用户写权限

#此例将创建一个名称为test的sftp帐号

#创建test的家目录:test目录的所有者必须是root,组最好设定为sftp,权限不高于755
mkdir /srv/sftp/test
chmod 0755 /srv/sftp/test
chown root:sftp /srv/sftp/test
#添加用户 使用参数 -s/sbin/nologin禁止用户通过命令行登录                  
useradd -gsftp -d/srv/sftp/test -s/sbin/nologin test

关于写权限,如下解决方案并不是很完美

#在test目录下创建一个可以写的目录
mkdir /srv/sftp/test/write 
chown -R test:sftp /srv/sftp/test/write

这样test用户就可以在自己家目录里的write目录下拥有写入权限了


最后再强调一下,sftp服务的根目录的所有者必须是root,权限不能超过755(上级目录也必须遵循此规则),sftp的用户目录所有者也必须是root,且最高权限不能超过755.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档