Rails on AWS - getting Permission denied for mkdir /uploads - ruby-on-rails-5

I know this question has been asked a lot, but no one seems to have my exact problem.
I ran into the permission error on my rails app, running on an AWS EC2, so I promptly ran chmod 666 -R public/uploads
However, once I did that, I got another permission denied error, this time for mkdir on uploads/images. So I ran chmod on it too. But this time, no difference.
I am using Carrierwave to upload the images. I'm a bit of a newb with the linux commands. Any help would be greatly appreciated!

Turned out to be an issue with Carrierwave. The gem wasn't writing files when 'version_name' was used in the url. So I removed it and the files saved fine.
However, image_url, the documented method of getting the url, returned the url with the version_name, rather than the actual url to file. Calling the object attribute declared for the uploader returned the right one.

Related

Nextflow: permission denied for files in bin with -rwxrwxr-x permissions granted

I've made a fresh install of nextflow in a new computer, and I was trying to test the nf-core/rnaseq pipeline, but I am receiving the following error when executing:
Error executing process > 'NFCORE_RNASEQ:RNASEQ:INPUT_CHECK:SAMPLESHEET_CHECK (samplesheet.csv)'
Command error:
.command.sh: line 3: /media/Data/nextflow-rnaseq/rnaseq/bin/check_samplesheet.py: Permission denied
I've checked the permissions for the file, and has all the executing permissions:-rwxrwxr-x. I've also tried to execute it using both my working environment and singularity, and keep finding the same error.
I've also tested my own pipeline, with another project root folder and its own bin folder with custom scripts in there, and I'm having the same error.
Does anyone know if I'm missing something I should have done to make the scripts in bin accessible to nextflow?
Nextflow version: 22.04.4.5706
As Steve pointed out in a comment, the issue was related to how the filesystem was mounted (noexec), and fixing that solves the problem

Laravel 403 error when displaying images from storage folder

I am unable to access files saved to the storage folder. I'm able to upload, files, save files. If I run for example the size method it gets the file size of the uploaded image but when it comes to displaying the file, I get a 403 error. I used the laravel artisan command to create the symlink, I've tried manually creating the symlink. I've checked to verify that follow symlinks is in my apache config, I can cd into it from shell the permissions are 777 (I had it 755 but in trying to figure it what is wrong I changed it to 777) ownership of the symlink and files inside are all the same user and group as every other file in the public directory.
I'm super tired so maybe I'm just missing something obvious, but I can't for the life of me figure out what is wrong. The file clearly exists, its visibility set to "public". Is there any reason why I'd be able to write the directory but not display images saved there?
Edit 1:
web
app
bootstrap
config
database
error
node_modules
public
resources
routes
stats
storage
temp
vendor
Is the basic structure, with a symlink inside public pointing at storage/app/public
the filesystems for my storage folder config is:
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
I haven't really edited anything from the basic laravel install at this point. I did read someone else having a similar problem, said their issue is they weren't allow to access direcotires outside of their document root. So they just had all uploads go to their public folder instead of using the storage folder. I do have my document root set to my public folder. Could that be a problem? (I can edit my apache file if needed)
Ok - got some sleep and this morning looked over everything and realized that when logged in as the site owner, everything looks fine, however when logged in as root it shows the link as broken. Basically artisan creates an absolute link, which /storage/app/public is fine as the site owner because its a jailkitted account whose "root" directory is the web folder. However it was actually creating a symlink to the system root, of which the normally account doesn't have access to so it was returning a 403
Basically I just made the as a relative link instead of an absolute one by removing the broken symlink laravel created and while in the public directory entering:
ln -s ../storage/app/public storage
I had the same issue, after a lot of debugging i managed to identify the actual problem that caused 403 error.
Solution is simple, in
Config/Filesystem.php
where you define your public_path and storage path, you must have same/identical public_path name and storage_path end directory name.
Example:
Incorrect:
public_path('brands') => storage_path('storage/app/public/brandimages');
This will generate 403 error, "since public_path('brands')" is not same as "storage_path('../../../brandsimage')".
Correct:
public_path('brands') => storage_path('storage/app/public/brands');
Now the public_path('brands') and "storage_path('../../../brands')" are same, therefore, correct symlinks will generated,thus solving 403 error.
Generate symlinks with following artisan command
php artisan storage:link
if relative links need to be generated, than use following command
php artisan storage:link --relative
My hosting is a clud server, and my site path is /httpdocs
The solution worked for me, was:
from folder /httpdocs/public, execute ln -s ../storage/app/public storage
then everything works fine.

PDF getting created with permission 600?

I'm experimenting a weird issue. Most of the time (almost everytime) my pdf are getting generated with the permission (rwx-r--r--) 644 which is correct.
But 'sometimes'.. and I cannot understand why this happens but they get created with permission (rw-------) 600. this cause a "permission denied" when other systems try to copy or read the PDF...
Did someone already had this issue? Is it possible that is it a problem in my Jasper config ? or the Server config ?
Ps: I'm running my web app on an redhat server (container is Weblogic ).
This happens when the program through which you run and generate PDF is in the same permission that is root.
you can run your PDF generating software ( or whatever you are using ) in home user mode and not root user mode)
Or just go to that folder where your PDF has been generated and run from terminal
user#your_folder>> sudo chown username:username *
give password if asked.... You can use this with every file and folder that has this problem
You will see once you run this command a 'LOCK' icon goes away and file/folder becomes normal
Hope this helps you

Cannot set-up MyPHPadmin in Apache

I just started using Apache, but when I try to run myPHPadmin, I get this error message:
1 - Can't create/write to file '/var/folders/w1/5yx2p9mj7w9bm67gdwhqxwsr0000gn/T/#sql1ba_3_0.MYI' (Errcode: 13)
Another post in the Stack Overflow suggested changing the permissions on the XAMPP file, my.cnf, with this command:
sudo chmod 600 my.cnf
I tried running the code in Mac Terminal, but the result was "No such file or directory."
Does anyone know what I should try next?
This is a permission problem on your datadir (where MySQL wants to write files). Normally, at MySQL installation, correct permissions are set for the user who runs mysqld.
Are you sure that MySQL was installed correctly as part of XAMPP installation?

New Rails sass user having problems with permissions

Have never used sass before.
On my production server having to switch chmod 644 public/* then run /etc/init.d/apache2 restart to restart the server.
Once server has rendered the css, I then have to come back and run chmod 755 public/* to actually load the css, js and images.
If 755 has higher creds, why does it fail?
actual error is:
Errno::EACCES (Permission denied - /srv/www/mysite.com/myapp/public/stylesheets/custom.css):
Use this Command : chmod 766 -Rf public/. it might be work for you
I know you already got your answer, but if you want to know more of the theory behind it, check this out:
http://www.thinkplexx.com/learn/article/unix/command/chmod-permissions-flags-explained-600-0600-700-777-100-etc
It's pretty straight-forward... I think it's definitely worth glancing at.
Also, in case you don't already know, the -f option only told chmod to not display a diagnostic message if it couldn't modify the file, so it wasn't totally necessary (though it could be helpful). The -R switch changed the modes of the file hierarchies rooted in the files rather than the files themselves.