上传图片Permission denied的问题,windows 7 下开发是好的,linux不可以。

问题描述

在windows7下开发时,没有问题,图片可以上传,在 centos passenger下部署后,目录已经设为666,报错,清各位朋友帮忙诊断。错误信息如下:Errno::EACCES (Permission denied - /home/ftp/site001/wwwroot/public/images/item_logos): /rubyee/lib/ruby/1.8/fileutils.rb:243:in `mkdir' /rubyee/lib/ruby/1.8/fileutils.rb:243:in `fu_mkdir' /rubyee/lib/ruby/1.8/fileutils.rb:217:in `mkdir_p' /rubyee/lib/ruby/1.8/fileutils.rb:215:in `reverse_each' /rubyee/lib/ruby/1.8/fileutils.rb:215:in `mkdir_p' /rubyee/lib/ruby/1.8/fileutils.rb:201:in `each' /rubyee/lib/ruby/1.8/fileutils.rb:201:in `mkdir_p' app/models/item.rb:36:in `create_everything'代码如下: after_create :create_everything .... def create_everything # Logos Folder logos_path = "#{RAILS_ROOT}/public/images/item_logos/#{self.id}" FileUtils.mkdir_p(logos_path) if !File.exist?(logos_path) # # Images Folder images_path = "#{RAILS_ROOT}/public/images/item_images/#{self.id}" FileUtils.mkdir_p(images_path) if !File.exist?(images_path) # Files Folder files_path = "#{RAILS_ROOT}/public/files/item_files/#{self.id}" FileUtils.mkdir_p(files_path) if !File.exist?(files_path) end 问题补充:使用了 qichunren 提供的方法,但仍然错误,信息如下:Errno::EACCES (Permission denied - /home/ftp/androidzzz_androidzzz/wwwroot/public/images/item_logos): /rubyee/lib/ruby/1.8/fileutils.rb:243:in `mkdir' /rubyee/lib/ruby/1.8/fileutils.rb:243:in `fu_mkdir' /rubyee/lib/ruby/1.8/fileutils.rb:217:in `mkdir_p' /rubyee/lib/ruby/1.8/fileutils.rb:215:in `reverse_each' /rubyee/lib/ruby/1.8/fileutils.rb:215:in `mkdir_p' /rubyee/lib/ruby/1.8/fileutils.rb:201:in `each' /rubyee/lib/ruby/1.8/fileutils.rb:201:in `mkdir_p' app/models/item.rb:36:in `create_everything' app/controllers/items_controller.rb:128:in `create' passenger (2.2.14) lib/phusion_passenger/rack/request_handler.rb:92:in `process_request' passenger (2.2.14) lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop' passenger (2.2.14) lib/phusion_passenger/railz/application_spawner.rb:441:in `start_request_handler' passenger (2.2.14) lib/phusion_passenger/railz/application_spawner.rb:381:in `handle_spawn_application' passenger (2.2.14) lib/phusion_passenger/utils.rb:252:in `safe_fork' passenger (2.2.14) lib/phusion_passenger/railz/application_spawner.rb:377:in `handle_spawn_application' passenger (2.2.14) lib/phusion_passenger/abstract_server.rb:352:in `__send__' passenger (2.2.14) lib/phusion_passenger/abstract_server.rb:352:in `main_loop' passenger (2.2.14) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously' passenger (2.2.14) lib/phusion_passenger/abstract_server.rb:163:in `start' passenger (2.2.14) lib/phusion_passenger/railz/application_spawner.rb:222:in `start' passenger (2.2.14) lib/phusion_passenger/spawn_manager.rb:262:in `spawn_rails_application' passenger (2.2.14) lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add' passenger (2.2.14) lib/phusion_passenger/spawn_manager.rb:256:in `spawn_rails_application' passenger (2.2.14) lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize' passenger (2.2.14) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize' passenger (2.2.14) lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application' passenger (2.2.14) lib/phusion_passenger/spawn_manager.rb:154:in `spawn_application' passenger (2.2.14) lib/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application' passenger (2.2.14) lib/phusion_passenger/abstract_server.rb:352:in `__send__' passenger (2.2.14) lib/phusion_passenger/abstract_server.rb:352:in `main_loop' passenger (2.2.14) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'

解决方案

你是将哪个目录设置成666的,你有可能是其中的子目录没有设置成那样。设置的时候用 -R选项吧chmod -R 666 public/images
解决方案二:

777是表示任何用户 都可以读删。那你使用770吧
解决方案三:

再不行看看selinux是不是打开了
解决方案四:

很明显还是权限的问题引起的,你执行一下chmod -R 777 /home/ftp/androidzzz_androidzzz/wwwroot/public/images/item_logos
解决方案五:

sudo chown -R nobody 网站目录/public/images我昨天遇到这个问题用上面弄好了

时间: 2024-08-31 08:12:15

上传图片Permission denied的问题,windows 7 下开发是好的,linux不可以。的相关文章

linux-32位windows操作系统下可以装64位Linux虚拟机吗?

问题描述 32位windows操作系统下可以装64位Linux虚拟机吗? 10C 最近在学Hadoop,然后很多教程上都是64位的,但是我的电脑是32位的,那我能装一个64位的Linux虚拟机,然后再在Linux虚拟机里装Hadoop64位的吗??(无论答案是"yes"or ""no "" 答案中如果能说明原由,那便是极好的~~~) 解决方案 100%不行,64位主机才支持64位虚拟机,同时也支持32位虚拟机,反过来不行.(bochs qemu之

ftp上传下载,ftp服务器在windows系统下,web服务器在linux系统下

问题描述 ftp上传下载,ftp服务器在windows系统下,web服务器在linux系统下 哪位大神知道: ftp服务器在搭建windows系统下,web服务器在部署linux系统下,现java中使用ftpclient实现上传下载时,下载的文件内容是乱码: 之前web服务器也部署在windows系统下正常的,后来迁移到linux系统下出现乱码了啊,中文文件名编码正常. 查ftpclient的源码发现读取ftp服务器上文件的编码格式固定了,无法在外部修改,有试着将读取出来的文件转码各种编码方式,

windows eclipse 下开发hadoop mapreduce,报空指针异常。

问题描述 windows eclipse 下开发hadoop mapreduce,报空指针异常. 用三台ubuntu系统的服务器,搭建了hadoop集群,然后在windows下 用eclipse开发mapreduce,能连上hadoop,也能显示hdsf上的文件.自己写了mapreduce程序,run as hadoop 的时候,报空指针异常,什么localjob 之类的错误,什么原因求指点, 将工程打成jar包在linux hadoop环境用命令行运行是没问题的..

解密-Standford大学在windows操作系统下开发的ibe-0.7.2-win.zip如何使用?

问题描述 Standford大学在windows操作系统下开发的ibe-0.7.2-win.zip如何使用? http://crypto.stanford.edu/ibe/download.html 在这个链接下载了ibe-0.7.2-win.zip文件,在指示文件中指出配置文件gen.cnf和ibe.cnf的编辑问题,这两个文件如何进行修改,才是正确的配置,成功配置后才可以进行加密 私钥分发,私钥生成,解密的命令操作,请给予指导意见,谢谢啦.

《C语言开发从入门到精通》一2.2 在Windows环境下开发C程序

2.2 在Windows环境下开发C程序 知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\在Windows环境下开发C程序.mp4 DOS环境对广大读者来说十分陌生,并且在DOS下进行开发也十分麻烦.为此,专门推出了Windows环境下的开发工具.Win-TC其实就是一种Windows环境下的开发工具,但是其功能和Turbo C基本类似,只是在编译和运行上更加方便而已.随着计算机技术的发展,编程工具也随之更新换代.目前最受程序员喜爱的开发工具,当属微软的Visual Studio. 2.2

Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 详细图文讲解

android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把环境搭建起来了,把过程记录下来分享给大家. 内容目录: 1.默认基础环境 2.NDK下载与配置 3.安装Cygwin 4.用NDK编译 5.安装CDT插件 6.安装Sequoyah插件 7.JNI编译环境配置 画了一个思维导图让大家一目了然配置过程   -------------------------

《C语言开发从入门到精通》一2.3 在Linux下开发C程序

2.3 在Linux下开发C程序 知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\在Linux下开发C程序.mp4 在平常工作中,我们都熟识了Windows系统,程序开发也习惯了在Windows环境下开发程序这一工作模式.但是,在特殊应用领域,例如单片机应用和嵌入式开发,就需要在Linux环境下开发C程序.Linux是一种计算机操作系统,是一套免费使用和自由传播的类UNIX操作系统,它主要用于基于Intel x86系列CPU的计算机上.这个系统是由世界各地成千上万的程序员设计和实现的.其目

Linux下安装jdk报Permission denied以及chmod详解

一.发现问题 在Linux中安装jdk.bin的时候发现问题,报错./config.sh: line 103: /home/jdk.bin : Permission denied 修改权限:chmod 775 /home/jdk.bin 二.chmod命令详解 文件/目录权限设置命令:chmod 用于改变文件或目录的访问权限 用法1:其语法格式为:chmod [who] [opt] [mode] 文件/目录名         其中who表示对象,是以下字母中的一个或组合: u:表示文件所有者 g

php include提示failed to open stream: Permission denied in错误

  出现failed to open stream: Permission denied in是apache运行用户没用权限去访问指定的文件了,所以导致目录文件打不开了. 在打开浏览器时提示 Warning: include (/global.php) [function.include]: failed to open stream: Permission denied in index.php on line 21 Warning: include() [function.include]: