I have moved my website project to a linux environment and I have an issue assigning permission.
Command that I run:
sudo chown -R admin01:admin01 /var/www/html/counsyl
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
If I set
sudo chown -R admin01:admin01 /var/www/html/counsyl
where admin01 is the username, and this user is not root. I am able to edit the files and folders but the issue is I can't add images or upload plugins etc from the WordPress admin area.
If I run the following command
sudo chown www-data:www-data -R *
It allows me to upload images or plugins etc. But now I am unable to edit the files etc from admin01 account.
So what might be the correct permission so that I can edit the files with admin01 user(not root) and at the same time upload files and folders from the WordPress admin area? I will appreciate if you can give some explanation also so that I understand what I am doing wrong.
Permissions of folders and files inside WordPress folder after running the command
sudo chown admin01:www-data -R /var/www/html/counsyl
Have you tried with 755 permission mate?
chmod -R 755 /var/www/html/counsyl
I think above will help you
Try adding both owner as admin01 and user as www-data. This will help you:
sudo chown admin01:www-data -R /var/www/html/counsyl
Try this, it should work. Structure is like
chown -R USERNAME:GROUPNAME /PATH/TO/FILE
Thank you
Related
Having a nightmare with permissions on RP3, apache2, php
I can run my php api script from terminal with no problems. I use the browser for debugging and get the 'permission denied' when trying to edit text files from the browser.
I have temporarily set permissions to 777 on /var/www but this is insecure, and i can no longer remember the original permissions that were on /var/www
Can i somehow give the broswer (chromium) permission to edit files in /var/www?
I have tried setting inheritance, but to no avail, as i am copying files over all the time, i have to keep resetting the permissions to 777 (which is not ideal), so i can debug the code in a browser.
Any help would be greatly appreciated
Rgds
Mike
Usually, the permissions for folders are 0755 and for folders are 0644.
To set the permissions for folders:
sudo find /var/www -type d -exec chmod 0755 {} \;
To set the permissions for files:
sudo find /var/www -type f -exec chmod 0644 {} \;
Now about the user/group, Apache is probably using the user www-data with group www-data.
To set the user/group for write permissions:
sudo chown www-data:www-data /var/www -R
A note about security: opening up the option to edit the files from the browser is insecure without any login, allowing anyone to edit your files. Also, the write permissions should only be allowed in a directory where the users upload files and NOT for all your /var/www files.
I was not able to upload any files in filezilla.. so i changed permission of all files under /var/www/html to ec2-user
I ran this command - chown -R ec2-user /var/app/current
After that Filezilla was working but it burnt the apache.
Now wordpress doesnt create any files in wordpress directory. It says it doesnt have any permission. I guess i killed permission of apache on those files. How can revert back the changes? or atleast how can i give the permissions back as it was?
Add ec2-user to apache group :
sudo usermod -a -G apache ec2-user
Logout and Re-login to instance
Change the group ownership of /var/www and its contents to the apache group.
sudo chown -R ec2-user:apache /var/www
To add group write permissions and to set the group ID on future subdirectories, change the directory permissions of /var/www and its subdirectories.
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
To add group write permissions, recursively change the file permissions of /var/www and its subdirectories:
find /var/www -type f -exec sudo chmod 0664 {} \;
Pleae Refer to this AWS Documentation
I moved a WordPress site to our VPS. In admin I am asked to update plugins, if I do that I am prompted for FTP info. As we don't run FTP on the server this is not possible.
I then changed the the permissions of all of the files to apache:apache using:
chown -R apache:apache *
This fixed the issue and WordPress can now update the files, however, now I cannot edit the files using filezilla. I also tried changing ownership to:
chown -R myuser:apache *
So that I can edit the files but give apache group access. Now I can edit the files with filezilla but no longer update items in WordPress.
So, what is the correct way to go about this giving me write access on file level but still giving WordPress access to update the files?
Seems file permission issue.
cd wordpress
sudo find . -type d -exec chmod 0755 {} \;
sudo find . -type f -exec chmod 0644 {} \;
and following
define( 'FS_METHOD', 'direct' );
in wp-config.php
or
sudo chown -R www-data:www-data wordpress
From WHMPanel, Software, Multi PHP Manager, enable Enable PHP-FPM to fix file permissions issues.
This prevents the popup appearing asking for FTP credentials.
Is it possible that I set the folder permission for the storage folder to 0775 on my local development environment which is WAMP before uploading the project on the webserver?
Edit: I want to set the permissions on the folder before uploading and the permission should be retained after the upload.
Go project directory
$ sudo chmod 777 -R bootstrap
$ sudo chmod 777 -R storage
$ sudo chmod 777 -R vendor
then
$ sudo chown -R www-data:www-data bootstrap
$ sudo chown -R www-data:www-data storage
$ sudo chown -R www-data:www-data vendor
If you use other web server. You need change www-data to your correct user.
I think you expecting to retain the folder permission after upload. My suggestion would be to do an folder existance check in code them if not exists create and set permission for code as an dded precausion.
if(!is_dir('upload')){
mkdir('upload');
chmod('upload',0755);
}
I'm trying to get my php test upload script to work and was wondering what the command would be to allow files to be uploaded in ubuntu server in the var/www/image directory
What username will be uploading the files? Usually on Ubuntu the Apache web server username is www-data. You can check for sure by finding the web server process in a process list command and seeing which username under which it is running.
ps aux | grep apache or ps aux | grep httpd should give you that answer.
Then you will usually want to make that Apache username the owner of the directory and all files and directories within it:
cd /var/www/image
# recursively (all subdirs & files) set owner to www-data for current directory
chown -R www-data .
Ordinarily, the above should be enough, but if for some reason the directory, files or subdirectories do not have write permission for the owner username, that's easily fixed by changing the permissions to add that write access, like this:
cd /var/www/image
# recursively add "w"rite permissions for the "u"ser (owner) to current directory
chmod -R u+w .
cd /var/www/image
For file like image you don't need execution permission :
sudo chmod 664 *
If you have directories inside image and you want to apply permission :
sudo find . -type d -exec chmod 755 "{}" \;
This will recursively search your directory and chmod 755 all directories only.
Similarly, the following will chmod all files only (and ignore the directories):
sudo find . -type f -exec chmod 644 "{}" \;
File name with space case (thanks to Nicklas B)
find . -type f -print0 | xargs -0 chmod 644
Change edit group to www-data
chown -R (owner):www-data (folder)
And folder permission to 775
cd /var/www
sudo chmod 775 image
You'll be prompted to enter the admin password - do so, and hit [return].
Change edit group may solve most of the problems of permissions.
Changing do www-data and set permission to 775.