【问题标题】:Linux user scheme for a Django production serverDjango 生产服务器的 Linux 用户方案
【发布时间】:2011-08-24 14:16:55
【问题描述】:

我目前正在尝试为我的 Django 主页设置 nginx + uWSGI 服务器。一些教程建议我为某些守护进程创建特定的 UNIX 用户。像 nginx 用户用于 nginx 守护进程等等。由于我是 Linux 管理的新手,我想创建第二个用户来运行所有进程(nginx、uWSGI 等),但结果我需要一些 --system 用户。

主要问题是您将为 nginx + uWSGI 服务器设置哪些用户以及如何使用它们?比如说,我有一个新安装的 Debian Squeeze 的服务器。

我应该安装所有的包,虚拟环境,并将所有目录设置为 root 用户,然后创建系统目录来运行脚本吗?

【问题讨论】:

  • 我建议尽可能多地使用 Debian 提供的软件包,除非您需要新版本中的特定功能。这些软件包将为您处理用户创建,这也是它们使用起来非常棒的另一个原因。 :)
  • 是的,确实如此,但我认为我不应该在 root 下运行自己的脚本,对吧?你的意思是,只有root用户和系统用户可以吗?安全吗?
  • @Alexander,这取决于脚本应该做什么:) 你的网站不应该以 root 身份运行是绝对正确的。希望 Debian nginx 包创建一个 nginx 帐户并将其配置为在启动时更改为该用户...
  • @sarnold 我将重复之前的编辑以澄清:是否可以只有 root 用户和系统用户?那我就不需要普通用户了吗?
  • @Alex,啊哈 :) 我喜欢在系统上拥有普通用户:(a) 多个管理员出现在 sudo 日志中 (b) 并非所有任务都需要管理员权限,但管理员级别的错误维修成本可能更高。但你是对的,你可以以root 的身份完成所有工作,而不必为普通用户帐户而烦恼。

标签: python django linux nginx uwsgi


【解决方案1】:

我喜欢在系统上拥有普通用户:

  • 多个管理员出现在 sudo 日志中 - 没有什么比询问特定的人为什么他们做出特定更改更有趣了。

  • 并非所有任务都需要管理员权限,但管理员级别的错误修复成本更高

  • 如果每个文件只包含来自特定用户的密钥,则管理~/.ssh/authorized_keys 会更容易——如果文件中有四个或五个不同的用户,则管理起来会更困难。小点:) 但是写cat ~/.ssh/id_rsa.pub | ssh user@remotehost "cat - > ~/.ssh/authorized_keys" 很容易——如果必须使用>> 代替,那是不稳定的。 :)

但你是对的,你可以以 root 身份完成所有工作,而无需使用普通用户帐户。

【讨论】:

  • 他询问的是运行单独进程的用户帐户(nginx、uwsgi),而不是管理员帐户
  • @yeeeev:我认为他在问一个不同的问题;见this clarifying comment只有root用户和系统用户可以吗?那我就不需要普通用户了吗?
猜你喜欢
  • 1970-01-01
  • 2011-09-29
  • 2012-05-29
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-11
  • 1970-01-01
相关资源
最近更新 更多