【问题标题】:Bash script that can write and execute files only from certain directory只能从特定目录写入和执行文件的 Bash 脚本
【发布时间】:2017-10-09 14:51:10
【问题描述】:

我需要一个 bash(或 python)脚本,它只在某个目录及其子目录中编辑和执行文件,但在其他目录中没有这样做的权限。任何想法如何为脚本设置此类权限?

【问题讨论】:

  • 我想你只需要学习用户和文件权限基础知识。
  • 我发现proot 工具的作用类似于 chroot,但它不需要 root 权限。可能,这不是安全的方式,但它可以处理得足够。我在没有 root 访问权限的服务器上设置了 root 和 ubuntu 10.04(服务器有 2.6 内核)。它似乎对我有用。

标签: python bash


【解决方案1】:

Apache 网络服务器通过在 linux 上创建自己的用户来做类似的事情,即用户 apache 可以访问 /var/www 而不是 root :

https://support.rackspace.com/how-to/how-to-add-linux-user-with-document-root-permissions/

这样您就可以创建一个新用户并仅授予该用户特定目录的权限

那么任何其他需要使用该脚本的用户都可以以您创建的用户身份运行它:

https://www.cyberciti.biz/open-source/command-line-hacks/linux-run-command-as-different-user/

how to run script as another user without password

【讨论】:

  • 感谢您的好主意,但我需要在没有 root 访问权限的服务器上运行此类脚本,因此我无法创建用户。因此,基于用户访问的解决方案似乎并不合适。
  • 除了在 linux 权限中使用 owner 之外,只有 group linux.com/learn/understanding-linux-file-permissions 但是在这种情况下(创建一个组,...)您还需要在服务器上进行 root 访问。不可能只在特定目录中执行脚本,因为根本没有编程机制,即附加到包含脚本的文件的标志,在 linux 中,任何访问安全性都由权限控制
猜你喜欢
  • 1970-01-01
  • 2015-10-04
  • 2012-10-22
  • 2014-11-15
  • 1970-01-01
  • 1970-01-01
  • 2015-10-31
  • 2018-01-25
  • 1970-01-01
相关资源
最近更新 更多