新的python virtualenv应该用新的linux用户帐户创建吗?

2024-04-26 14:03:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我从python3开始,使用Raspbian(来自Debian)和virtualenv。我了解如何创建/使用virtualenv来“沙盒”不同的Python项目,但是我有点不清楚是否应该为每个项目设置不同的linux用户(假设该项目/virtualenv将用于创建并在linux盒上运行守护进程)。你知道吗

因此,在创建单独的python环境时,我认为问题应该是:

  1. 为我正在处理的每个deamon/acript创建一个新的linux用户帐户,这样python虚拟环境和python项目代码区域都可以位于该用户拥有的目录下?

  2. 也许只需在开始时创建一个新的非管理员帐户,然后将此帐户用于每个项目/虚拟环境

  3. 为raspbian创建我第一次登录的初始管理用户下的所有内容(例如“pi”user)-对此选项假定为NO,但为了完整性而将其放入。


Tags: 项目代码用户沙盒环境virtualenv进程linux
3条回答

TL;DR:1。2号。是的3。没有

  1. creating a new linux user account for each deamon/script I'm working on, so that both the python virtual environment, and the python project code area can live under directories owned by this user?

不。不必要的复杂性和没有真正的好处,为这个创建许多用户帐户。请注意,一个用户可以登录多个会话并运行多个进程。你知道吗

  1. perhaps just create one new non-administrator account at the beginning, and then just use this account for each project/virtual environment

是的,如果需要升级权限,请使用非管理员帐户中的sudo。你知道吗

  1. create everything under the initial admin user I first log with for raspbian (e.g. "pi" user) - Assume NO for this option, but putting it in for completeness.

不,最好是创建一个普通用户,而不是以root用户身份运行所有内容。不过,使用非根管理员帐户也可以。你知道吗

在一般情况下,不需要仅为virtualenv创建单独的帐户。你知道吗

有理由创建一个单独的帐户,但它们不同于虚拟环境,而且在某种程度上是对虚拟环境的厌恶。(如果你有一个服务的专用帐户,没有必要把它放在你可能想要的虚拟环境中,如果它有你想轻松升级的依赖关系等等,但是这个帐户已经提供了一个类似于虚拟环境在帐户中提供的隔离级别。)

使用虚拟环境的原因:

  • 使在同一帐户下运行具有不同要求的事物变得容易。你知道吗
  • 让自己轻松安装东西而不需要任何特权。你知道吗

使用单独账户的原因:

  • 对特权资源的细粒度访问控制。你知道吗
  • 正确隔离帐户的私有资源。你知道吗

这取决于你想要达到的目标。从virtualenv的角度来看,你可以做任何这些。你知道吗

#如果您有多个可公开访问的服务,并且希望将它们隔离开来,那么对我来说,1是有意义的。你知道吗

如果您在内部网络上运行受信任的代码,但不希望依赖项发生冲突,那么#2听起来很合理。你知道吗

考虑到Pi经常被用于特定的用途(而不是一般用途的桌面),并且默认帐户基本上没有使用,使用该帐户就可以了。确保更改默认密码。你知道吗

相关问题 更多 >