zoukankan      html  css  js  c++  java
  • 如何设置让SFTP的用户限制在某个目录下

    通常SFTP的任何用户登录之后能看到整个系统的文件目录,这样很不安全。

    通过chroot我们可以将某个用户登录SFTP后只能在某个限定的目录下操作,这样可以更安全。我们来看看怎么设置。

    1、创建一个用于SFTP登录的用户:

    useradd sftpuser1

    给该用户设置一个密码:

    passwd sftpuser1

    禁止该用户登录SSH(因为我们只想该用户使用SFTP,并不需要该用户能登录SSH):

    vi /etc/passwd

    将sftpuser1的shell改成/bin/false

    2、设置sshd_config:

    vi /etc/ssh/sshd_config

    找到 Subsystem sftp这一行,修改成:

    Subsystem sftp internal-sftp

    UsePAM yes

    Match user sftpuser1
    ForceCommand internal-sftp
    ChrootDirectory /home/ftpdir

    将 上面的 /home/ftpdir 目录替换成你需要限定的实际目录,请注意该目录的用户属主必须是root,并且该目录的上级的每一级目录的属主也必须是root。如果上级目录不可以设置成root,那可以通过建立符号链接  ln -s 来变相实现。

    多个用户请重复配置这三行:

    Match user sftpuser2
    ForceCommand internal-sftp
    ChrootDirectory /home/ftpdir

    这样可以为不同的用户设置不同的限制目录。

    3、重新启动sshd:

    /etc/init.d/sshd restart

    4、现在用SFTP软件使用sftpuser1用户登录,就可以发现目录已经被限定在了 /home/ftpdir 了。

  • 相关阅读:
    数组与方法
    数据类型
    认识Java(2)
    认识Java(1)
    面试题集锦
    00-python语言介绍
    06-python-生成器、循环器
    00-python-内置函数笔记
    04-python-闭包
    03-python-装饰器
  • 原文地址:https://www.cnblogs.com/human/p/3491564.html
Copyright © 2011-2022 走看看