确定我所有的文件和文件夹被设置为vsftpd:nogroup的所有者。 FTP程序可以上传和创build,尽一切努力。 但是当我使用PHP命令mkdir时,即使创build它的文件夹设置为chmod 777,我也会得到权限拒绝。如果我将基础文件夹设置为用户www-data和组www数据,PHP mkdir将会工作。 但是,我无法使用FTP删除或上传到该文件夹。
/ uploads是基础文件夹。
我使用PHP mkdir在那里创build一个目录:
if (!is_dir($_SERVER['DOCUMENT_ROOT'] . "/uploads/" . $_REQUEST['clientID'] . '/video/')) { @mkdir($_SERVER['DOCUMENT_ROOT'] . "/uploads/" . $_REQUEST['clientID'] . '/video/', 0777); }
如果/ uploads是vsftpd:nogroup,那么PHP mkdir会给出一个Permission Denied错误。
如果/ uploads是www-data:www-data,那么PHP mkdir会工作,但是我不能继续在刚刚创build的那个文件夹中FTP任何东西。
如果/ uploads是vsftpd:www-data,那么PHP mkdir会给出一个Permission Denied错误。
我如何创build一个PHP目录,仍然可以通过FTP访问它?
这应该将您的用户添加到www数据组。 只要www-data创build的文件是用一个组写的,你应该可以修改或删除它们
sudo adduser vsftpd www-data