Php 另一个文件权限问题

Php 另一个文件权限问题,php,javascript,linux,security,image,Php,Javascript,Linux,Security,Image,我有一个分类广告网站,当用户发布新的分类广告时,他们可能会选择上传图片 我的php代码获取所选图像,将其上传到图像文件夹,并相应地命名 这里的问题是,我必须将images文件夹设置为777才能工作 我的问题是,权限应该设置为什么?如果不是777,你知道为什么它不起作用吗 如果你需要更多的信息,请告诉我 谢谢 更新 我有一个用户(danny)有根访问权限。。。 图片上传到的文件夹,以及“image_upload.php”文件,都由用户“danny”拥有。然后我试着将它们设置为chmod764,但当

我有一个分类广告网站,当用户发布新的分类广告时,他们可能会选择上传图片

我的php代码获取所选图像,将其上传到图像文件夹,并相应地命名

这里的问题是,我必须将images文件夹设置为777才能工作

我的问题是,权限应该设置为什么?如果不是777,你知道为什么它不起作用吗

如果你需要更多的信息,请告诉我

谢谢

更新

我有一个用户(danny)有根访问权限。。。 图片上传到的文件夹,以及“image_upload.php”文件,都由用户“danny”拥有。然后我试着将它们设置为chmod764,但当我这样做时,我遇到了一个问题

看,似乎我必须为“public”设置r+w+e权限才能让一切正常工作

不明白为什么

再次感谢

你知道为什么它不起作用吗

除权限外,请确保为以下各项指定正确的设置:

  • 文件上传
  • 上载\u最大\u文件大小
  • 内存限制
  • 最大执行时间
  • 贴纸最大尺寸
见:

还要确保:

  • 您已经在
    表单中指定了
    enctype=“multipart”
  • 使用
    print\r($\u files)检查文件数组

忘记启示录,
777
是野兽的真实数字:-)

您几乎不需要这样设置权限。当然,您的图像是在目录中以单个用户ID(如
php
)创建的

如果是这种情况(应该是这样),您只需将该用户添加到该目录的特定组并允许组写入访问,
764
最有可能,尽管最后一位数字可能会根据其他需要更改

您可以通过更改上载脚本来确定哪个用户正在运行:

system ("id >/tmp/id.txt")
或者在PHP中运行命令行工具的等效工具

然后查看
/tmp/id.txt
文件以了解详细信息。您将得到类似于:

uid=1000(php) gid=1000(phpgrp) groups=1000(phpgrp)
找到(
php
)后,计算出
图像组
目录:

pax> ls -ald images
drwxr-xr-x 4 pax paxgrp 4096 2010-06-14 16:38 images
这将是上述成绩单中的
paxgrp
。然后确保将
php
用户添加到
paxgrp
组。这通常可以在
/etc/group
中通过更改来完成,例如:

paxgrp:x:1027:bob,george
进入:

然后确保目录权限允许组(而不是世界)写入


而且,根据您的更新,谁拥有您的PHP文件实际上并不重要,只是谁在运行它,这可能根本不是danny

否则,我可以删除硬盘上的任何文件,因为
rm
属于root:-)


找到该用户的最快方法是更改该文件,以便它按照我的建议输出
id
信息。

这里的答案很好,我只想添加另一种可能性。您提到一个用户“Danny”具有根访问权限,并且Danny拥有文件/目录。对于非CLI PHP脚本,web服务器用户应该拥有该脚本,那么您就不需要公众能够读写和执行(老实说,如果您做得正确,您应该能够将权限设置为700,并且仍然可以,尽管它通常不受限制)

好的,谢谢。我会这样做,虽然大部分都是这样做的。。。但我不明白为什么上传的权限必须是777。请看我的后续问题
paxgrp:x:1027:bob,george,php