Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Do not recursively change every WordPress file to www-data:www-data by default. The correct fix is to match ownership and write access to the account that runs PHP and to the specific operation that is failing. In many installations, the site owner should own the files, while the web server receives write access only to required paths such as wp-content/uploads.

First identify the exact path WordPress cannot write, inspect its owner, group and mode, and confirm the PHP or web-server account. Then apply the narrowest ownership, group or permission change that restores uploads, updates, plugin installation or cache writes without making the whole site writable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What a WordPress “permission denied” error actually means

WordPress needs the operating-system process that handles a request to traverse directories and, for some tasks, create or modify files. A message such as “Unable to create directory,” “Installation failed,” or “The uploaded file could not be moved” means that process was refused somewhere along the path. The refusal may involve the destination directory, a parent directory, the file owner, group membership, an access-control list, or a mandatory security policy.

The account name www-data is common on Debian- and Ubuntu-based systems, but it is not universal. Other servers may run PHP as apache, nginx, a per-site pool user, a container user, or a hosting-provider account. Changing ownership to a name that is not actually running PHP does nothing useful and can prevent the site owner from maintaining the installation.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.

Decide whether the whole WordPress tree should be owned by www-data

For a normal site, the answer is usually no. WordPress guidance says files should typically be owned by the user account that maintains the site, and specifically cautions that on shared hosting they should not be owned by the web-server process itself. This arrangement lets the owner update files over SSH, SFTP or an automated deployment while limiting what a compromised web request can alter.

There are deployments where the web process or a shared service group must write more broadly, but that is a deliberate design choice, not a universal repair command. Compare the common approaches before changing anything:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Approach Write scope Works well when Main drawback
Recursive www-data:www-data on the entire site Potentially every core, plugin and theme file A tightly controlled deployment intentionally runs all maintenance as the service account SSH/SFTP work by the site owner can fail; a compromised web process has a larger modification surface
Site owner owns files; web server has a shared group Only directories that need web writes The host supports predictable group membership and ACLs Requires coordination of group IDs, umasks and deployment tooling
Targeted ownership on an uploads or cache directory One required subtree Uploads, generated media, or a cache is the only failing operation Another feature may later require a separately documented writable path
Managed-host support changes the policy Provider-defined The site uses containers, PHP pools, ACLs or security controls you do not administer You must follow the provider’s process instead of applying a generic command

Diagnose the failing path before changing permissions

1. Capture the exact operation and path

Reproduce one failure and copy the complete path from the WordPress notice or server log. Distinguish an upload such as wp-content/uploads/2026/10 from a plugin installation, a core update, a temporary file, or a cache directory. Fixing an unrelated directory can leave the original error untouched.

2. Inspect every directory in the path

As the administrator or site owner, inspect the destination and its parents. Replace the example path with your real document root:

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
ls -ld /var/www/html/wordpress /var/www/html/wordpress/wp-content /var/www/html/wordpress/wp-content/uploads
namei -l /var/www/html/wordpress/wp-content/uploads
stat -c '%A %U %G %n' /var/www/html/wordpress/wp-content/uploads

A directory needs the execute bit to be traversable; a writable destination also needs the write bit for the process that creates entries. The namei output is useful when the final directory looks correct but a parent blocks traversal.

3. Identify the account running PHP

Check the PHP-FPM pool, web-server process and hosting documentation rather than assuming www-data:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
ps -eo user,group,cmd | grep '[p]hp-fpm'
ps -eo user,group,cmd | grep -E '[n]ginx|[a]pache2|[h]ttpd'

On PHP-FPM, the worker user configured in the pool is the account that normally performs file operations. A reverse proxy or web server may run under a different account, but the PHP worker is generally the relevant identity for WordPress code. If a container is involved, verify the numeric UID and GID inside the container and on the mounted volume.

4. Check controls beyond Unix mode bits

When owner, group and mode appear correct, check ACLs and mandatory access controls. On Red Hat-family systems, SELinux can deny a write even when ordinary permissions look permissive; audit logs and the file security context can reveal that case. AppArmor profiles, container mount options and provider-level policies can have a similar effect. Do not respond by making the site world-writable until these controls are ruled out.

Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Use 755 directories and 644 files as the baseline

WordPress documents a common baseline of mode 755 for directories and 644 for files. In symbolic terms, the owner can read and write files, while other users can read them; directories also need execute permission so users can enter them. The baseline is a starting point, not proof that every operation will work: ownership, group membership and host security policy still matter.

If a previous troubleshooting attempt changed many modes, WordPress’s hardening guidance gives these commands to restore the general pattern:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} ;
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} ;

Run them only against the intended WordPress installation. Review custom scripts, sockets, symlinks and deployment files before applying a blanket reset, because a nonstandard application may require different modes. Take a backup and record the current state when you are repairing a production site.

Apply the least-privilege repair for common failures

Uploads and generated media

If media uploads are the only failure and the PHP account really is www-data, a support example is:

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
sudo chown -R www-data:www-data /var/www/html/wordpress/wp-content/uploads

This is a context-specific example, not a universal WordPress prescription. Confirm the path, verify that www-data is the actual PHP account, and check that your hosting policy permits changing ownership. Restrict the change to the uploads subtree; do not extend it to WordPress core merely because the command succeeds.

Afterward, create a small test upload and confirm that the file appears in the expected year/month directory. If the test works but the site owner can no longer rename or remove files over SFTP, the owner/group model is mismatched with your maintenance workflow; correct that model rather than repeatedly alternating recursive chown commands.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plugin or theme installation

Plugin and theme installation writes below wp-content, but it may also create temporary directories. Inspect the exact path in the error and the parent directories. If only one custom cache or temporary directory is needed, grant write access there instead of changing all plugins, themes and core files to the service account.

When WordPress asks for FTP credentials, that is often a symptom that the PHP process cannot write as the file owner. Supplying credentials may complete one update, but it does not fix an incorrect ownership design. Align the owner, group and PHP pool configuration so the intended update method works consistently.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Core updates and automatic updates

WordPress’s documented automatic-update behavior performs file operations as the user who owns the files, then sets files to 0644 and directories to 0755. If you transfer ownership to the web server, later maintenance by the site owner can fail. Conversely, if PHP cannot write the required content directory, web-based updates and plugin operations can fail. Decide whether your workflow is owner-driven, web-UI-driven, or deployment-driven, and make ownership reflect that choice.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why chmod 777 is not a safe fix

Mode 777 gives every local user and process read, write and execute access. WordPress warns that world-writable files can allow a compromised process, another hosting account or an unintended script to alter site code. The impact can include taking control of the blog or exposing database credentials.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not use chmod -R 777 as a diagnostic shortcut. If a directory needs temporary write access for a controlled test, use the narrowest path, restore the intended mode immediately, and investigate owner, group, ACL and security-context issues. A successful write under 777 proves only that access was being denied; it does not identify the correct permanent policy.

Choose an ownership model that matches your workflow

Owner-driven maintenance

For a single administrator who updates through SSH, SFTP or automation, keep the site owner as the owner of core files and directories. Give the PHP account write access only to paths that WordPress must modify at runtime, commonly uploads and selected cache directories. This limits the damage a vulnerable plugin or request can cause.

Shared group maintenance

Teams sometimes use a dedicated group containing the deployment account and PHP account. In that model, the group owns only the writable paths, and group-write permission is applied deliberately. The host must also preserve group ownership on newly created files; otherwise the arrangement will slowly break. Have the administrator who manages the server document the group, umask and deployment behavior rather than copying a command from another machine.

Service-account ownership

Some immutable or containerized deployments intentionally run updates as the same service identity that serves requests. That can be valid when the image, volume permissions and rollback process are designed for it. It is not a reason to apply chown -R www-data:www-data to an ordinary shared-host WordPress installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When permissions look right but WordPress still cannot write

  • SELinux denial: inspect audit denials and the security context on Red Hat-family systems before changing modes.
  • ACL restriction: use ACL inspection to find an explicit deny or a mask that limits the apparent group permission.
  • Wrong PHP pool: a site may use a per-domain pool account rather than the web server’s global user.
  • Container volume: match numeric UID/GID ownership on the mounted volume, not just the username displayed inside one environment.
  • Read-only mount or quota: a correct mode cannot overcome a read-only filesystem or exhausted storage allocation.
  • Parent traversal: every parent directory must permit the PHP account to traverse it, even if the final directory is writable.

Managed hosting requires a provider-specific fix

On managed WordPress hosting, the provider may use isolated PHP pools, containers, ACLs or security policies that are reset automatically. WordPress advises customers to consult the host’s documentation or support before changing server configuration. Ask support to identify the PHP account, the intended writable paths and the approved ownership repair. This is safer than applying a distribution-specific command that may conflict with the provider’s control panel or deployment system.

Verify the repair without weakening the site

  1. Record the original failing path and the account that should perform the operation.
  2. Inspect owner, group, mode, parent traversal and any ACL or security-context information.
  3. Change only the required directory or group; leave core files under the intended administrative owner.
  4. Repeat the original operation: upload a media file, install the specific plugin, or run the update that failed.
  5. Check that new files have the expected owner, group and modes, and that SSH/SFTP maintenance still works.
  6. Review server and security logs for denied writes or unexpected processes.
  7. Document the final ownership model so the next update does not trigger another blind recursive chown.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.