Python中的执行权限

Python中的执行权限,python,security,permissions,execute,Python,Security,Permissions,Execute,我需要将代码发送到远程客户端,以便在其中执行,但安全性是我现在关心的问题。我不想在那里执行不安全的代码,所以我想控制程序在做什么。我的意思是,例如,知道是否正在建立连接,连接到哪里,是否正在读取本地文件,等等。这在Python中可能吗 编辑:我在考虑类似于Android许可系统的东西。我想知道一个代码会做什么,如果它做了一些不同的事情,请停止它。Python中曾经有一个名为bastian的模块,但由于不安全,该模块被弃用。我相信还有一种叫做RPython的东西,但我对它知道的不多 在本例中,我将

我需要将代码发送到远程客户端,以便在其中执行,但安全性是我现在关心的问题。我不想在那里执行不安全的代码,所以我想控制程序在做什么。我的意思是,例如,知道是否正在建立连接,连接到哪里,是否正在读取本地文件,等等。这在Python中可能吗


编辑:我在考虑类似于Android许可系统的东西。我想知道一个代码会做什么,如果它做了一些不同的事情,请停止它。

Python中曾经有一个名为
bastian
的模块,但由于不安全,该模块被弃用。我相信还有一种叫做RPython的东西,但我对它知道的不多

在本例中,我将在目标服务器上使用并编写代码。这样,您就知道客户机只能执行编写和测试的代码


编辑-可能值得注意的是,Pyro也支持它-尽管我不必为此使用它。

Python中曾经有一个名为
bastian
的模块,但由于不安全,该模块被弃用。我相信还有一种叫做RPython的东西,但我对它知道的不多

在本例中,我将在目标服务器上使用并编写代码。这样,您就知道客户机只能执行编写和测试的代码


编辑-可能值得注意的是,Pyro还支持-尽管我不必为此使用它。

我想您正在寻找沙盒python。过去,人们曾努力实施这一政策,但几年前就已经废除了


在python中,wiki为您的用例提供了一个很好的选项概述。

我认为您正在寻找一个沙盒python。过去,人们曾努力实施这一政策,但几年前就已经废除了

在python中,wiki为您的用例提供了一个很好的选项概述。

最严格(但可能是最慢)的方法是在模拟器中的裸操作系统上运行python

根据您使用的操作系统,有几种方式可以运行有限制的程序,但不需要模拟器的开销:

  • FreeBSD以的形式提供了一个很好的集成解决方案。 这些源于系统调用
  • 目的是在Linux上或多或少地实现同样的功能
最严格(但可能是最慢)的方法是在模拟器的裸操作系统上运行Python

根据您使用的操作系统,有几种方式可以运行有限制的程序,但不需要模拟器的开销:

  • FreeBSD以的形式提供了一个很好的集成解决方案。 这些源于系统调用
  • 目的是在Linux上或多或少地实现同样的功能

您可以使用不同的Python运行时:

  • 如果您使用运行脚本;您可以利用Java的权限系统
  • 使用,您可以选择允许在控制器脚本中运行的内容

您可以使用不同的Python运行时:

  • 如果您使用运行脚本;您可以利用Java的权限系统
  • 使用,您可以选择允许在控制器脚本中运行的内容

“向远程客户端发送要在其中执行的代码”和“不希望在那里执行任何代码”似乎相互矛盾。对不起。我想说“不安全”,“将代码发送到远程客户端在其中执行”和“不希望在那里执行任何代码”似乎相互矛盾。对不起。我想说的是“不安全”。不,我在想Android权限之类的东西。我想知道一个代码会做什么,如果它做了一些不同的事情,停止它。你可以通过只向沙盒公开允许的API来实现使用沙盒python。不,我想用Android权限之类的东西。我想知道一个代码会做什么,如果它做了一些不同的事情,请停止它。您可以通过只向沙盒公开允许的API来实现使用沙盒python。将为每个代码设置权限,并且客户端将是可移植的,因此这不是一个解决方案。正如我在其他评论中所说,我正在搜索类似于Android权限系统的东西。现在知道一个代码将做什么,如果它做了一些不同的事情就停止它。将为每个代码设置权限,并且客户端将是可移植的,所以这不是一个解决方案。正如我在其他评论中所说,我正在搜索类似于Android权限系统的东西。现在看看一个代码会做什么,如果它做了一些不同的事情就停止它system@JonClements这是一个很好的方法。我希望客户机是可移植的,所以使用Java开发这些客户机并使用Jython运行脚本是一种很好的可能性。你能给我指一篇关于Java权限系统的文章吗?我以前从未听说过这件事。您确定可以将其与Python集成吗?谢谢。@DavidMorenoGarcía我不能相信——这是J.F.Sebestian的答案。Jython是在JVM上运行的Python实现。所以,是的,但我恐怕要说的是,现在该由你来用谷歌搜索相关文章了!是的,我知道Jython是什么,虽然我从来没用过。我只是想问,是否有可能将Jython与Java权限系统集成。当然,我正在谷歌上搜索这个系统。很好的横向思维+1——甚至可能是有.NET权限的IronPythonsystem@JonClements这是一个很好的方法。我希望客户机是可移植的,所以使用Java开发这些客户机并使用Jython运行脚本是一种很好的可能性。你能给我指一篇关于Java权限系统的文章吗?我以前从未听说过这件事。您确定可以将其与Python集成吗?谢谢。@DavidMorenoGarcía我不能相信——这是J.F.Sebestian的答案。Jython是在JVM上运行的Python实现。所以,是的,但我恐怕要说的是,现在该由你来用谷歌搜索相关文章了!是的,我知道Jython是什么