首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的web服务器上设置权限有一些问题

问在我的web服务器上设置权限有一些问题
EN

Server Fault用户
提问于 2010-11-16 06:51:39
回答 2查看 95关注 0票数 1

我的设置如下:

代码语言:javascript
复制
Multiple users coding for the one website
Each user has their own username/group
Websites are located in /usr/local/ourcompany/websites/sitename/*

./websites/归me:ourcompany所有。我将此文件夹及其所有子文件夹设置为可按组写入。chmod g+ws websites

这解决了大多数权限问题。它允许ourcompany组中的每个人编辑网站文件。问题是当通过PHP上传文件时。

PHP以www-data的形式运行。这似乎破坏了setuid组可写设置。

我在查Nginx如果这有关系..。

有小费吗?

EN

回答 2

Server Fault用户

发布于 2010-11-16 08:45:29

我会这样做:

1-保持工作许可,因为你拥有它。

2-通过PHP将文件上传到另一个(临时)目录。这个临时目录应该是www-data用户可以写的.

3-编写一个简单的脚本,将上传的文件从临时目录复制/移动到所需的路径/usr/local/ourcompany/websites/sitename/*。然后,您可以对新文件进行chown/chmod,以确保在上载更多文件时保留权限。如下一节所述,此脚本将以根用户身份执行。

4-将www数据用户添加到sudoers文件中。使用sudo visudo编辑它。因此,www-data用户将以超级用户身份执行shell脚本(在第3点中创建),而不需要密码。您需要在sudoers文件中命名脚本,以便将此权限限制在这个signle shell脚本上。

票数 0
EN

Server Fault用户

发布于 2010-11-16 09:16:00

您的PHP上载脚本可能是一个非常特定的脚本,比如/up/up_script.php

在这种情况下,我将在nginx的配置中创建一个特定位置,并使用php5-cgi进程执行这些查询,该进程由"ourcompany“(而不是www-data)的一个成员运行。其余的代码仍然可以(应该)由对网站文件没有写权限的用户执行。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/202324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档