node.js可以像在ubuntu上一样运行的最低特权用户是什么?

时间:2014-11-15 10:26:42

标签: linux node.js ubuntu dropbox

我不太了解不同的权限级别。 如果我需要做的就是在目录中提供静态页面,那么运行node.js所需的最低用户级别是多少。

同样,dropbox守护程序在node.js中运行所需的最低用户级别是多少?

编辑:例如,在本指南中:https://www.linode.com/docs/security/securing-your-server/

使用此命令创建一个新用户来管理系统:

usermod -a -G sudo exampleuser

如何创建Dropbox或node.js可以运行的低级别,特权较低的用户?

编辑:我不确定哪个文件夹设置了哪些文件权限。我不想Dropbox能够运行和修改其文件夹的内容。我不想node.js也有权读取和执行该文件夹中的文件。

1 个答案:

答案 0 :(得分:1)

较低级别的用户不会成为sudo组的一部分。通常,您需要对任何文件的读访问权限,但不一定要写。

通常,最佳做法是单独创建具有自己的组的通用用户。

然后,您将为该用户及其文件设置一个目录树。

您可以使特定组或世界可读的文件组可读。这些目录还需要执行权限。

对于您所描述的情况,我也会将Dropbox作为单独的用户运行,然后将dropbox文件夹设置为group或world readable。 Dropbox用户也不应该成为sudo组的一部分。

假设您有3个用户:

  • 您的主要登录用户名为“user”
  • 节点用户
  • dropbox user

每个用户都在自己的组中,具有相同的名称。我假设您的Dropbox文件夹名为〜/ Dropbox。

chown -R dropbox:node ~/Dropbox
find ~/Dropbox -type d | xargs chmod 750 
find ~/Dropbox -type f | xargs chmod 640
mkdir ~/node
# copy files in here
chown -R node:node ~/node
find ~/node -type d | xargs chmod 750
find ~/node -type f | xargs chmod 640

请注意,这会关闭所有二进制文件上的可执行位,因此您可能需要手动修复它们。另请注意,chmodchown都需要root权限才能修改其他用户文件,因此您可能需要为这些命令添加一些sudo,但它已经变得很长。< / p>