【问题标题】:Restricting linux user to a folder将linux用户限制在一个文件夹中
【发布时间】:2013-07-30 09:53:45
【问题描述】:

我需要为一个只允许执行一个二进制文件的用户创建一个单独的文件夹。他也可以调用 python/perl 并运行程序。 但是用户不应该能够删除他目录中的任何文件夹,也不应该能够查看任何其他目录。我怎样才能做到这一点?

【问题讨论】:

    标签: linux security shell unix


    【解决方案1】:

    如果他们仅通过 ssh 访问,那么ChrootDirectory 是可行的方法。 简而言之,您在另一个目录中创建了一个伪造的/ 系统,其中包含允许用户运行的所有程序和他们需要的库。

    如果需要,请参阅sshd_config 手册页的ChrootDirectory 部分,或类似Here 的位置以获取更完整的指南。

    【讨论】:

    • 您可能需要绑定挂载/proc/ & /dev 以及该chroot中的其他一些系统目录
    【解决方案2】:

    您还可以考虑配置和使用 受限外壳,例如restricted bash

    但是,请注意,如果您允许用户运行像 Python 这样的脚本语言,他将能够绕过这些限制(使用一些巧妙的脚本)。所以 chroot 可能更可取。

    您可以为该用户定义一个单独的组,以阻止他做更多事情。另见nobody usernameSELinux等。

    【讨论】:

      【解决方案3】:

      CHMOD 完成这项工作

        chmod 755 directory/filename
      
      7 user (**owner**) has full access.
      5 allows **group** user "read" and "execute" permissions, but
        not "write" permissions. 
      5 allows **others** "read" and "execute" permissions, 
        but not "write" permissions.     
      

      供您参考:

      5 允许“读取”和“执行”权限,但不允许“写入”权限。 6 将允许读取和写入权限,但不允许“执行”。 A 4 将是“只读”的。 2 将仅是“写入”,而 1 将仅是“执行”。

      进一步参考:link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-23
        • 1970-01-01
        • 2011-12-19
        • 1970-01-01
        • 1970-01-01
        • 2013-12-08
        • 2017-08-24
        • 1970-01-01
        相关资源
        最近更新 更多