文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux配置sftp用户访问指定目录

2023-09-17 12:31

关注

一、环境

开发环境:Windows7 64位
服务环境:centos
SSH:OpenSSH_7.4p1

二、新建sftp用户:

需要root权限执行--------------------------

1.新建一个用户组

为了方便后面添加用户

groupadd sftp

2.添加用户

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

注:
-g: 指定用户所属用户组
-s: shell, /usr/sbin/nologin表示禁止用户使用SSH登录,仅可用于SFTP登录
testuser: 用户名

配置密码

 passwd testuser

三、创建指定FTP文件夹

1.创建限制指定用户访问的路径

mkdir -p /data/ftp/

注:此处目录的属主属组必须是root:root,且权限为755,后面会提到原因

2.设置文件夹权限

chown root:root /data/ftp/
chmod 755 /data/ftp/

四、修改配置文件

vim /etc/ssh/sshd_config

注释Subsystem sftp /usr/lib/openssh/sftp-server
在配置文件中添加如下配置:

Subsystem sftp internal-sftpMatch Group sftp        ForceCommand internal-sftp        ChrootDirectory /data/sftp/%u#AllowTcpForwarding no#X11Forwarding no

Subsystem sftp internal-sftp 表示sftp服务使用系统自带的internal-sftp
Match Group sftp 表示配置指定的组,此处也可以写成Match User testuser来指定配置的用户
ForceCommand internal-sftp 表示强制使用系统internal-sftp
ChrootDirectory /data/sftp/%u 表示指定用户根目录,%u表示当前的用户,ChrootDirectory 指定的目录及该目录到系统根目录为止,目录拥有者都只能是root。
AllowTcpForwarding no 禁止TCP转发
X11Forwarding no 禁止X11转发

后面两项可根据实际情况来添加
注:上述配置类,参考https://www.cnblogs.com/convict/p/16411632.html,可以看看原文,讲解更详细

五、重启SSH服务

systemctl restart sshd

service ssh restart 

启动成功后,使用ftp工具连接
在这里插入图片描述
如图,用户登录上sftp后,只能看到配置的目录。此处显示的根目录实际为ChrootDirectory /data/sftp/%u配置指定的目录。
可以在此目录下创建属于testuser用户的操作目录,如:

mkdir /data/sftp/testuser/work/

赋权

chown testuser:sftp /data/sftp/testuser/work/

六、可能出现的问题

这种尝试一般不会一帆风顺。。。
在尝试过程中,遇到的最棘手的问题就是配置问题,配置完成后,启动服务报错:

Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.

按照提示,依次执行:systemctl status sshdjournalctl -xe
打印一大串日志,找到自己能看懂的那边关键err信息:

 /etc/ssh/sshd_config line 152: Directive 'Ciphers' is not allowed within a Match block

在配置文件中找到了Ciphers相关的配置,百度一下,这是加密算法,新增的配置内容必须要放在加密算法后面。。。
调整配置,再次重启,成功。
还没完,我换了一台服务器,再次按照这个步骤操作,发现又不行了,emmm,这个地方还有一个坑,云服务一般都配置了UseDNS配置,新增的配置必须放在这个配置后面。定位问题的过程都是一样的,主要是没接触过,一顿好找啊。。。。

完结,撒花!

来源地址:https://blog.csdn.net/programm_er/article/details/128253492

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯