使用Apache

问题描述:

我使用PHP的深化发展一个网站在PHP程序更改用户。该网站与服务器运行的Apache使用Apache

我的目标是能够控制,可以上传文件的人。如果它们属于Apache(Linux组)中的特定组,它们只能上传文件。问题是,当有人上传文件时,上传的文件的apache的,因为他们没有连接到服务器它不存在用户,所以有人上传文件的文件的所有者它的Apache,所以我不能改变所有者或当这个文件的组

我想,为了解决这个问题,我打算使用命令“su - user”来改变用户,当我创建文件时,所有者就是我而不是apache。但问题是,当我使用这个commande,它叫pompt窗口来编写代码,但我使用php,所以它不会工作

我发现这个bash运行它在我的PHP程序,但唯一的问题它不起作用。所以,如果你有任何想法,我将与你的帮助真的greatfull

> spawn su user_name 
expect "Password:" { send "my_password\r" } 
expect "$ " { send "/bin/sh my_script_bash\r" } 
expect "$ " { exit } 

重要提示:我没有获得root用户和密码,因为我在一家大公司工作,我没有权利知道一些密码

我不太明白需要将文件作为实际在服务器上的用户写在服务器上的重要性,而且您的方法并不是要考虑的安全,甚至可能在一家大公司。

一个典型的PHP应用程序处理的授权,让别人上传一个文件本身,并会一直写文件作为Apache用户(WWW),从来没有作为一个用户已经在服务器上定义。

一般PHP应用程序将如何解决这个问题是有一些类型的用户在被授权的文件上传到服务器上的目录数据库。 你怎么挂钩用户的文件是你的,一种方法是将文件的详细信息存储在与用户ID数据库,以便您知道该文件属于用户或者你可以创建一个目录用户的ID或名称。