linux给文件或目录添加apache权限
2014-04-17 22:07
591 查看
系统环境:ubuntu11.10/apache2/php5.3.6
在LAMP环境中,测试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现如下php警告:
[Tue Jan 31 09:40:27 2012][error] [client 127.0.0.1] PHP Warning: move_uploaded_file(/home/leotody/32883679.jpeg): failed to open stream: Permission denied in /var/www/upload_file.php on line 25, referer: http://localhost/info.html
[Tue Jan 31 09:40:27 2012][error] [client 127.0.0.1] PHP Warning: move_uploaded_file(): Unable to move '/tmp/phps05ssU' to '/home/leotody/32883679.jpeg' in /var/www/upload_file.php on line 25, referer: http://localhost/info.html
提示没有访问权限,文件上传的代码如下:
if (file_exists("upload/". $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"]. " already exists. ";
}
else
{
if(move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]))
{
echo "Stored in: ". "upload/". $_FILES["file"]["name"];
}
else
{
echo "move error!";
}
}
页面中显示"move error!",说明move_uploaded_file()函数执行失败。
通过查找资料,发现网上有说是selinux启动的原因,检查系统并未启动selinux,查看upload目录默认权限ls -ld upload,结果为755:
drwxr-xr-x 2 root root 4096 2012-01-31 10:59 upload
将upload目录权限改为777,sudo chmod 777 upload,再测试上传功能成功。但这种修改权限的方法并不安全。
故可以改upload目录的拥有者为www-data(即apache)
sudo chown -R www-data:www-data upload
然后再测试上传功能成功。
drwxr-xr-x 2 www-data www-data 4096 2012-01-31 10:59 upload
在LAMP环境中,测试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现如下php警告:
[Tue Jan 31 09:40:27 2012][error] [client 127.0.0.1] PHP Warning: move_uploaded_file(/home/leotody/32883679.jpeg): failed to open stream: Permission denied in /var/www/upload_file.php on line 25, referer: http://localhost/info.html
[Tue Jan 31 09:40:27 2012][error] [client 127.0.0.1] PHP Warning: move_uploaded_file(): Unable to move '/tmp/phps05ssU' to '/home/leotody/32883679.jpeg' in /var/www/upload_file.php on line 25, referer: http://localhost/info.html
提示没有访问权限,文件上传的代码如下:
if (file_exists("upload/". $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"]. " already exists. ";
}
else
{
if(move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]))
{
echo "Stored in: ". "upload/". $_FILES["file"]["name"];
}
else
{
echo "move error!";
}
}
页面中显示"move error!",说明move_uploaded_file()函数执行失败。
通过查找资料,发现网上有说是selinux启动的原因,检查系统并未启动selinux,查看upload目录默认权限ls -ld upload,结果为755:
drwxr-xr-x 2 root root 4096 2012-01-31 10:59 upload
将upload目录权限改为777,sudo chmod 777 upload,再测试上传功能成功。但这种修改权限的方法并不安全。
故可以改upload目录的拥有者为www-data(即apache)
sudo chown -R www-data:www-data upload
然后再测试上传功能成功。
drwxr-xr-x 2 www-data www-data 4096 2012-01-31 10:59 upload
相关文章推荐
- linux文件上传,给文件或目录添加apache权限的方法
- linux给文件或目录添加apache权限
- linux文件上传,给文件或目录添加apache权限
- linux给文件或目录添加apache权限
- [添加用户]解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码
- 解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码
- Linux的chmod命令,对一个目录及其子目录所有文件添加权限
- linux 对一个目录及其子目录所有文件添加权限
- Linux添加删除用户和组以及目录与文件的权限
- [添加用户]解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码,usermod的ysuum安装包。飞
- Linux文件和目录访问权限设置
- 浅谈Linux cd命令进入目录文件权限
- Linux 文件和目录的读写执行权限详解
- 使用 ACL 设置用户访问指定文件/目录的权限 | Linux 中国
- Linux文件与目录的默认权限与隐藏权限
- 【ARM-Linux开发】Linux下更改目录下所有文件的所有者及其权限
- Linux中,进入目录、在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.
- 1、linux中的umask与文件和目录权限的关系
- Linux使用笔记: 设置Samba服务器中新建文件/目录的权限
- Linux下Apache网站目录读写权限的设置