禁用/启用用户访问/下载,但允许php编辑-使用chown和chmod
我想要禁用/启用用户访问/下载,但允许php编辑-使用chown和chmod,php,Php,我想要 将上传的文件移动到某个文件夹(比如http://localhost/myproject/protected)。(PHP应该能够rm,mv,cp,…所有内的东西都受保护) 启用/禁用用户对任何文件的访问/下载,例如http://my.ip.add.ress/myproject/protected/foo.bar(和http://localhost/myproject/protected/foo.bar也不例外!) 。。。使用chmod和chown我想知道这是否可能 附:我有个主意:
将上传的文件移动到某个文件夹(比如
)。(PHP应该能够http://localhost/myproject/protected
,rm
,mv
,…所有cp
)内的东西都受保护
- 启用/禁用用户对任何文件的访问/下载,例如
(和http://my.ip.add.ress/myproject/protected/foo.bar
也不例外!)http://localhost/myproject/protected/foo.bar
chmod
和chown
我想知道这是否可能强>
附:我有个主意:
// firstly chown -R www-data:www-data /var/www
<?php
//file : localhost/myproject/foo.php
//use following when access for user is disabled
shell_exec("chmod -R 0777 protected");
// edit the folder ...
// edit the folder ...
// edit the folder ...
shell_exec("chmod -R 0000 protected");
?>
不要更改任何chmod您只需将chown更改为apache,然后只有您的php代码可以修改此设置
// File name and username to use
$file_name= "foo.php";
$path = "/home/sites/php.net/public_html/sandbox/" . $file_name ;
$user_name = "apache";
// Set the user
chown($path, $user_name);
sudo chown-R apache protect/foo.bar
chown:invalid user:'apache',trusted$user\u name=“www data”
仍然可以下载:(ps aux | egrep'(apache | httpd)通常会显示apache以什么身份运行。默认用户通常是“nobody”或“apache”
// File name and username to use
$file_name= "foo.php";
$path = "/home/sites/php.net/public_html/sandbox/" . $file_name ;
$user_name = "apache";
// Set the user
chown($path, $user_name);