【发布时间】:2014-10-26 13:41:51
【问题描述】:
我正在尝试在 Node.JS 中重新实现现有的服务器服务。该服务可以比较与经典 FTP 服务器:经过身份验证的用户可以读取/创建/修改文件,但仅限于授予匹配系统用户名的权限。
我很确定我不能让 Node.JS 以 root 身份运行并使用 seteuid() 或类似方法切换用户,因为这会破坏并发性。
相反,我可以让我的 Node.JS 进程以 ROOT 身份运行并在访问文件时手动检查权限吗?我正在考虑一些系统调用,例如“could user X create a file in directory Y?”
否则,我可以通过使用用户组来解决这个问题吗?请注意,服务必须能够删除/修改由真实系统用户创建的文件,这可能不会设置特殊组,以便服务可以访问该文件。
【问题讨论】: