如何使用所有者组和用户更改php上传

Oliver Guo

在ubuntu服务器的xampp的apache上上传文件夹或文件时遇到了php问题:

我用文件夹创建了一个指定的FTP组和用户:

Group:User = ABC:abc_user该组的根文件夹= / htdocs / ABC / uploads

将程序放入文件夹:

/htdocs/ABC/upload.php

和chown-ed:

须藤chown -R abc_user:ABC / htdocs / ABC

主程序将在/ uploads上上传create子文件夹和文件:

function create_folders($dir) {
    return is_dir($dir) or ( create_folders(dirname($dir)) and mkdir($dir));
}

move_uploaded_file($tmp_filename, $fileLocation)

该程序可以运行,并且可以上传文件夹和文件:)。

但是,我找到了文件夹和文件,它们位于group:user(1:1)下。

Oliver Guo

我尝试了谷歌的解决方案,并运行一些脚本进行自我测试。

在该文件夹上添加了一个test.php并再次进行了chown-ed:

echo exec("who");

chgrp($path,$group_name);
chown($path, $user_name);

得到了结果:

daemon
Warning: chgrp(): Operation not permitted in test.php

Warning: chown(): Operation not permitted in test.php

Array ( 
[name] => daemon 
[passwd] => x 
[uid] => 1 
[gid] => 1 
[gecos] => daemon 
[dir] => /usr/sbin 
[shell] => /usr/sbin/nologin 
) 

我很困惑为什么它是“守护程序”,而group:user是1:1,而不是我的group:user。

因此,我尝试了另一种方法来寻找服务器端的所有内容,即xampp设置部分,

并在httpd.conf上找到了一些东西:

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon
</IfModule>

然后我尝试更改组:用户:

<IfModule unixd_module>
User abc_user
Group ABC
</IfModule>

最后,我再次上传了ABC:abc_user下的group:user !!!!

但是.....存在一个问题,XAMPP表示如果我对某些程序使用会话时,它无法保存会话:(....

<br />\n<b>Warning</b>:  session_start(): open(/opt/lampp/temp//sess_9k3dm9uv2gcgof1c37eacjlv36, O_RDWR) 
failed: Permission denied (13) in <b>/opt/lampp/htdocs/upload.php</b> on line <b>1</b><br />\n
<b>Warning</b>:  Unknown: open(/opt/lampp/temp//sess_9k3dm9uv2gcgof1c37eacjlv36, O_RDWR) 
failed: Permission denied (13) in <b>Unknown</b> on line <b>0</b><br />\n<br />\n
<b>Warning</b>:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/opt/lampp/temp/) in <b>Unknown</b> on line <b>0</b><br />\n

听起来我需要将temp的路径更改为/ htdocs / ABC / temp,然后它应该可以工作,但是看起来很奇怪。

有什么天赋有好主意吗?:)

感谢和问候。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从用户HDFS查找用户和组的所有者

仅将所有者和组更改为特定所有者

更改C中的所有者和组?

在Sublime Text中编辑文件时如何不更改所有者和组?

如何通过目录名称更改目录的所有者和组?

Netbeans将文件上传到Ubuntu FTP服务器时如何不更改文件所有者和组

如果用户不是参与者或所有者,Azure用户如何创建资源组?

所有者组的用户无法更改Linux中的文件权限

Ruby on rails:创建具有多个用户和一个所有者的组

如何更改目录的所有者

如何更改流程的所有者?

用户和组所有者在文件权限中的优先级

vsftpd上传后更改所有者权限

无法更改我拥有所有权限的目录的所有者(用户或组)?

在不更改所有者和组的情况下进行修补

将服务主体所有者更改为组

更快地递归更改所有者/组的方法?

更改计划的所有者/组-缺少必需的权限

如何在Linux机器上使用Python获取文件夹的所有者和组?

ls -l不显示人类可读的所有者和组,如何检查文件的所有者和组?

如果组所有者是“root”,如何在控制台中更改文件的颜色 ls?

当非特权用户更改可执行文件的所有者或组时,为什么会清除S_ISUID和S_ISGID模式位

在Linux下使用java.nio.Files更改文件所有者组

如何使用 PHP 和 Google Drive API 获取基于所有者的所有文件夹和文件

rsync忽略所有者,组,时间和权限

厨房synced_folders所有者和组

Docker - 挂载目录的所有者和组

如何按所有者和组对 ls 进行排序?

如何查找所有者和组已定义权限的目录?