sftp配置为chroot方式
发布日期:2021-05-15 09:10:14 浏览次数:17 分类:精选文章

本文共 1139 字,大约阅读时间需要 3 分钟。

新建一个只能sftp登陆的用户且chroot到其家目录

摘要:本文将详细介绍如何在服务器上新建一个仅支持SFTP登陆的用户,并指定其登陆后的工作目录为其家目录。

创建SFTP用户并设置chroot

在服务器环境中创建一个新的SFTP用户可能需要以下步骤:

  • 创建用户组和用户:
  • useradd -g usftp1 supplementary_group_name

    Before creating the user, ensure that the groupsupplementary_group_namehas been created usinggroupadd`.

    1. 创建用户并指定其chroot目录:
    2. useradd -d /home/usftp1 -s /sbin/nologin -m usftp1

      这里的-d指定了用户的主目录,-s指定了Shell的命令文件路径,-m可选,它会提示输出信息。/home/usftp1将作为这个用户的默认工作目录。

      1. 修改sshd_config配置文件: 在/etc/ssh/sshd_config文件中找到Subsystem部分并添加以下内容:
      2. Subsystem sftp /usr/libexec/openssh/sftp-server
        Match User usftp1
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp

        保存修改后,重启sshd服务:

        systemctl restart sshd
        1. 复核权限: 确保/home/usftp1目录及其父目录的权限符合要求:
        2. chown root:root /home/usftp1
          chmod 755 "/home/usftp1"

          可以使用命令chmod -R 755 /home/usftp1将权限设置为每层目录的755(读取、执行、改为拥有者,禁止其他人写入)。

          测试SFTP连接: 使用以下命令验证SFTP连接是否正常:

          sftp -oPort=22 usftp1@192.168.30.6

          输入用户密码后,如果连接成功,应会显示远程目录结构。

          注意事项:

        3. 由于chroot要求权限,ChrootDirectory及其上级目录的权限必须为root: root,并且文件权限必须设置为755。
        4. 需要确保SFTP用户的Write bits被设置为最高权限,但整体权限必须不超过755。
        5. 通过以上步骤,可以安全地创建一个仅支持SFTP的用户,并将其chroot到指定的家目录,这样可以有效地限制用户的操作权限,确保服务器的安全性。

    上一篇:常用tcpdump命令
    下一篇:CentOS7利用Systemd添加用户自定义系统服务

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2025年04月07日 04时46分13秒