-
一个PHP Web应用程序,需要允许登录的管理员上传和删除图像到特定记录的Web文件夹。
在MySQL数据库中创建记录时,还会在公共服务器上创建一个文件夹 - 使用PHP mkdir() - 来保存该特定记录的图像。
同一个应用程序中将有多个用户,都需要获得添加和删除图像的权限才能正在创建的文件夹中。
该文件夹也需要继续通过FTP访问。
所以我想总的来说,它需要可以访问 - 添加,编辑,删除,查看,FTP - 登录用户,但公众无法访问。
我应该使用哪个文件夹权限?
原因何在?安全?辅助功能?编辑状态?
感谢。 问候。
答案 0 :(得分:1)
使用Web界面上传文件时,上传目录需要由apache用户写入。如果所有与文件的交互都是通过Web界面进行的,则只需要担心apache用户,其他组将通过Web应用程序进行身份验证。
如果要创建文件夹,然后允许用户和组从服务器访问文件,则需要创建组。在这种情况下,请创建一个管理员组。
步骤:
//make the admin group
$ groupadd admin
// make the folder for uploads
$ sudo mkdir uploads
// make the apache user (apache or www-data) the owner and the group admin
$ chown apache.admin uploads
// give the folder permission using the sticky bit
// this will allow both apache and admin group to edit/add/delete in uploads
$ chmod 7752 uploads
// the sticky bit will maintain the group inside the uploads folder
// try it out
$ su apache
$ cd uploads
$ mkdir test
$ touch newFile.txt
// the new folder and new file should have admin as the group
如果没有粘滞位,上传中的新文件和文件夹将由apache和apache组拥有。即...... chmod 775测试
现在,当您在uploads文件夹中创建新文件夹时,管理员组中的用户将拥有ftp访问权限