I have my project in local development and all it's working fine.
When I pass the project to a rasberry and try to make it works I'm getting some errors I try to find the solution in other questions like this here in stackoverflow but it not works.
When I call to a function who it's working with storage folder I get this error:
With sudo chmod -R 775 storage/
The stream or file "/var/www/html/test/storage/logs/laravel.log" could
not be opened: failed to open stream: Permission denied
And if I change the permission to 777 I get this error:
file_put_contents(/var/www/html/test/resources/views/projects/problema.blade.php): failed to open stream: Permission denied
How should be the permission of the folder to make it works?
This is what i used to do for the linux installations :
sudo usermod -a -G apache your_user
sudo chown -R your_user:apache /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;
You should be fine with these permissions.You can replace the group and user and you need. Never provide a 777 permission to any of the folders.
Related
I'm not too abreast on all Linux commands and following a pretty thorough tutorial on setting up WP on my ubuntu 20.04.
I ran these 2 commands :
sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
And now I can't enter the directory:
-bash: cd: wordpress/: Permission denied
How do I fix this?
www dir as follows:
drwxr-x--- 5 www-data www-data 4.0K Jun 12 18:56 wordpress
EDIT: I'm on an AWS server as default ubuntu user and sudoer, even with sudo I cannot enter that dir.
You should run the command below to be able access /var/www/wordpress and then trying to cd into it.
$ sudo chmod 755 /var/www/wordpress
As changing to specific directory requires executable permission on that directory.
Hope it solved your problem.
The other day I thougt I should make my server a little more secure.
I figured I had way too many directories that are read-open to others and could potentially be a risk in case someone finds his way into the system.
I then removed read-, write- and execute-permissions for others on certain directories:
chmod -R o-rwx /home/*/
chmod -R o-rwx /etc/apache2
chmod -R o-rwx /var/www
chmod -R o-rwx /opt
chmod -R o-rwx /mnt
chmod -R o-rwx /media
Now, about two days later I wanted to access my subversion-server located at /home/svn and I got an error 500.
I guess I messed up the permissions on the subversion directory. But I don't understand why it would need 'others'-permissions. I thought it runs as root and can read/write/execute anything it needs.
EDIT: I looked into svn-error.log and saw this:
[Wed Nov 29 14:34:29 2017] [error] [client 2003:cd:dbc6:5c00:ec08:696:5b01:bf20] (13)Permission denied: Could not open password file: /etc/apache2/dav_svn.passwd, referer: http://<host>:<port>/svn/myrepo
What permissions are the correct ones to set and why?
I found the answer here: https://ubuntuforums.org/showthread.php?t=1288812
I was able to restore the correct permissions for folders and files in three commands:
find /etc/apache2/ -type f -exec sudo chmod 644 {} \;
find /etc/apache2/ -type d -exec sudo chmod 755 {} \;
sudo chown -R root:root /etc/apache2
This question already has answers here:
How do I change permissions for a folder and its subfolders/files? [closed]
(19 answers)
Closed 8 years ago.
In Ubuntu I want to change the file permissions of a whole folder and all its sub folders to read/write by anybody
I have tried sudo chmod 666 /var/www and sudo chmod 755 /var/www without success
update
I have since found that changing privileges can also be done in the GUI by opening nautilus as sudo.
So that you don't mess up other permissions already on the file, use the flag +, such as via
sudo chmod -R o+rw /var/www
If you just want to change file permissions, you want to be careful about using -R on chmod since it will change anything, files or folders. If you are doing a relative change (like adding write permission for everyone), you can do this:
sudo chmod -R a+w /var/www
But if you want to use the literal permissions of read/write, you may want to select files versus folders:
sudo find /var/www -type f -exec chmod 666 {} \;
(Which, by the way, for security reasons, I wouldn't recommend either of these.)
Or for folders:
sudo find /var/www -type d -exec chmod 755 {} \;
Add -R for recursive:
sudo chmod -R 666 /var/www
I found many related questions and tried to solve the issue but I was not successful. Actually I created an user named "amit" and assigned the group "www-data". I gave permission to the folder using this method
sudo chown -R :www-data /var/www
sudo chmod g+w /var/www
sudo adduser amit www-data
Change folder and file permission recursively:
To change all the directories to 755 (-rwxr-xr-x):
find /var/www -type d -exec chmod 755 {} \;
To change all the files to 644 (-rw-r--r--):
find /var/www -type f -exec chmod 644 {} \;
But in joomla system info when i check i get all directories as non writable.
So I changes this command to
sudo chown -R www-data:www-data /var/www
Surprisingly this worked.
I need to know why the created user didn't work but this one worked, where did I miss something?
Applying chmod 755 (rwxr-xr-x) for directories and chmod 644 (rw-r--r--) for files just makes the writable for the owner, but not for the group. If you want to grant the group write permissions then you need 775 and 664.
I have a LAMP server where I've run the following commands to set permissions of files in /var/www:
groupadd web
usermod -a -G web my_user
chown -R root:web /var/www
chmod -R 775 /var/www
chmod -R g+s /var/www
My goal is to have all files writable by any member of the "web" group. Is there a secure way to allow file uploads (e.g. within Wordpress) without changing the file ownership? Note: this is a private server.
One way of applying permissions to just directories is to use the find command. For example:
# Set the owner and group on everything.
chown -R root:web /var/www
# Make *directories* read/write/execute and set the `sgid` bit.
find /var/www -type d -print | xargs chmod g+rwxs
You don't want to run chmod -R 775 /var/www because this will make all your files executable, which is probably not what you want.