Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →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
For a static Linux website, keep the document tree owned by root (or a deployment account) and give the configured web-server account read and directory-traverse access through its group. Do not make Apache or Nginx the owner of the entire web root unless a specific application directory must be writable. On Ubuntu, Apache commonly runs as www-data; Fedora’s Nginx configuration commonly uses nginx. Verify the account on your host before changing anything.
If you are applying these checks on a self-managed VPS, Antihost VPS provides Linux VPS hosting with full root access in the USA East, the Netherlands, and Ukraine.
A secure baseline is a group-readable tree such as root:nginx with directories set to 750 and files to 640. Use 755 directories and 644 files only when anonymous users or another intermediary genuinely require world-read access.
Recommended Free Tools
What ownership should a Linux web root have?
Ownership answers who can change a file; permission bits answer what the owner, group, and everyone else may do. A web server normally needs to read HTML, CSS, JavaScript, images, templates, and other published assets. It does not need to own those files or write to them.
#1 Best Overall
- 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:Upgraded 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.
- Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.
For a static site, a practical arrangement is:
- Owner:
rootor a dedicated deployment account that publishes releases. - Group: the account’s web-server group, such as
nginxorwww-data. - Directories: group read and execute permission so the server can list or traverse the path as required.
- Files: group read permission, with no write permission for the web server.
This follows Apache’s requirement that the server have read access to configuration and served files, while avoiding the security problem of allowing the request-handling account to alter the site. Ubuntu warns that running the server itself as root creates major security holes; the privileged parent process should switch to its configured, less-privileged account before serving requests.
Identify the account that actually serves requests
Never assume that www-data or nginx is correct. The name depends on the distribution, package, service, and any local hardening.
Check the service definition
For a systemd service, inspect the effective user and group:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
systemctl show nginx -p User -p Group
systemctl show apache2 -p User -p Group
systemctl show httpd -p User -p Group
A blank User value can mean the unit starts with its default user and that the worker account is configured elsewhere. Check the server’s own configuration as well.
Check Apache’s configured worker account
On Ubuntu, the usual values are in Apache’s environment or configuration files and are commonly www-data for both User and Group. On other systems, inspect the active Apache configuration for the User and Group directives. The parent process may appear as root in a process listing; that is not the account that should own your content.
Check Nginx workers
Inspect the active Nginx configuration for its user directive and confirm the worker processes with:
Rank #2
- 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
ps -eo user,group,comm | grep -E '^(nginx|www-data|apache|httpd)'
Fedora’s Nginx guidance commonly uses nginx. A locally customized service can use a different account, so use the value shown by your host rather than copying an example unchanged.
Choose an ownership model for your deployment
| Use case | Owner and group | Typical modes | Why |
|---|---|---|---|
| Static site, releases copied by an administrator | root:webgroup |
Directories 750, files 640 |
The server can read and traverse, but cannot replace content. |
| Static site requiring world-readable access | root:webgroup or root:root |
Directories 755, files 644 |
Useful when an intermediary process or policy needs access through the “other” class. |
| Deployments made by a non-root release account | deploy:webgroup |
Directories 750, files 640 |
The deployment account writes releases; the server remains read-only. |
| Application with uploads or generated data | Read-only tree plus a separate writable directory | Restrict write mode to that directory | Limits damage if the application or web process is compromised. |
The group name in the table is a placeholder for the real service group on your machine. If the service account is www-data, use www-data; if it is nginx, use nginx. Confirm that the group exists before applying a recursive change.
Apply secure permissions to a static web root
The following example uses /srv/my-site/html and an Nginx group. Replace both values with your actual path and service group. The same pattern works for Apache when its configured group is different.
- Inspect the current tree before changing it.
sudo namei -l /srv/my-site/html sudo find /srv/my-site/html -maxdepth 2 -printf '%M %u:%g %pn' | head -n 40 - Set the owner and group.
sudo chown -R root:nginx /srv/my-site/htmlThis makes root the only owner able to write under normal owner/group/other mode bits, while associating the tree with the server’s group.
- Set directory permissions.
sudo find /srv/my-site/html -type d -exec chmod 750 {} +Directory read permits listing entries; directory execute permits lookup and traversal. Both are needed for predictable serving and maintenance.
DriversCrashes, No Sound, or Screen Glitches?PerformanceWindows Errors? Fix Them Before They SpreadDriversOutdated Drivers Are Slowing You DownSpecial offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. - Set file permissions.
sudo find /srv/my-site/html -type f -exec chmod 640 {} +Files are readable by root and the group but not writable by the web server. This includes source files, configuration fragments, templates, and scripts unless a documented application requirement says otherwise.
Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black- 【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.
- Check the effective path.
sudo -u nginx test -r /srv/my-site/html/index.html && echo readable sudo -u nginx namei -l /srv/my-site/html/index.htmlRun the test with the real service account. A successful file mode check is not enough if a parent directory blocks traversal.
- Reload or restart only after checking configuration.
sudo nginx -t sudo systemctl reload nginxUse the equivalent configuration test and reload commands for Apache. A permissions change does not fix a syntax error or a virtual-host pointing at a different document root.
When to use 755 and 644
Use 755 on directories and 644 on files when anonymous users, a separate static-file process, or an intermediary requires world-read access. Ubuntu’s Nginx examples commonly create the web root recursively with 755. These modes are more permissive than the group-only baseline: every local user can read files and traverse directories, so do not use them to expose material that should be private.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Keep writable content narrowly scoped
Some applications genuinely need to accept uploads, build caches, create thumbnails, or generate public files. That requirement should produce one or a few explicitly writable directories, not ownership of the complete document tree.
Separate code from data
Keep source code, configuration, templates, libraries, and scripts owned by root or the deployment account and non-writable by the web-server group. Create a dedicated path such as /srv/my-site/shared/uploads for user content, then grant only the permissions required by the application.
sudo install -d -o root -g nginx -m 770 /srv/my-site/shared/uploads
The exact mode depends on whether only the service account, a deployment group, or multiple administrators must write there. Avoid granting write permission to “other.” If uploads are served publicly, treat their names and contents as untrusted and keep executable scripts out of the upload path.
Rank #4
- 【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.
Do not make CGI and script directories broadly writable
Red Hat’s security guidance uses root ownership and 755 for script or CGI directories so only root retains write permission. A script directory is especially sensitive: changing a script can change what the server executes. Make an exception only when the application documentation identifies a specific directory that must be modified at runtime.
Use deployment releases instead of in-place edits
A deployment account can write a new release tree, set its final modes, and switch the document-root link or configuration to that release. This keeps the currently served files stable during deployment and avoids giving the request-handling process write access. Whatever release strategy you use, verify the resulting owner, group, modes, and parent-directory traversal after the switch.
Unix permissions are only one access-control layer
Check every parent directory
For a request such as /srv/my-site/html/index.html, the service account must be able to traverse /srv, /srv/my-site, and /srv/my-site/html. Directory execute permission controls traversal; file read permission alone cannot make a path servable. Use namei -l to display each component and find the first directory that denies access.
Account for ACLs
Access control lists can grant or deny permissions beyond the three traditional classes. If mode bits look correct but the account still cannot read a file, inspect ACLs with:
getfacl -p /srv/my-site/html/index.html
Remove an unintended ACL only after confirming it is not part of your deployment policy. A recursive chmod does not necessarily express the access rules you intended when ACL entries are present.
Check SELinux labels on enforcing systems
SELinux can deny web-server access even when ownership and mode bits are correct. Fedora and Red Hat documentation identify httpd_sys_content_t as the read-only content type for web content, including content under the usual web directories. Inspect labels with:
Best Value
- 【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.
ls -Zd /srv/my-site /srv/my-site/html
ls -Z /srv/my-site/html | head
Move or restore content using the distribution’s SELinux policy tools so it receives the intended type; do not disable SELinux merely to make a 403 disappear. If content must be writable by the web process, use the policy type intended for that narrowly scoped purpose rather than changing the label of the entire site.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.How to fix a 403 after changing ownership or modes
A 403 means the request reached the server but access was denied. Work through the layers in order, changing only the first failing condition.
- Confirm the virtual host’s document root. Make sure the request is mapped to the directory you edited. Apache and Nginx may have several sites, server blocks, aliases, or containers.
- Identify the worker account. Recheck the active
User/Grouporusersetting. Testing as your login account can hide a permission problem because your account may have access that the service lacks. - Check parent traversal. Run
sudo namei -l /path/to/file. Add execute permission for the appropriate group or adjust ownership on the blocked parent; do not blindly make every parent world-readable. - Check the target file. The service account needs read permission on the file. A common group-only setting is
640; a common world-readable setting is644. - Check directory access and index behavior. The service needs execute permission on directories. If the URL points to a directory without an index file and directory listing is disabled, the result can also be a denial; add the intended index file or configure listing only when it is safe.
- Inspect ACLs. Use
getfaclto find an unexpected mask or deny entry. - Inspect SELinux. Compare
ls -Zoutput with the expected web-content type. Review the system audit log for a policy denial and correct the label or policy for that path. - Read the server error log. The log usually distinguishes “permission denied,” an invalid path, a missing index, and an access rule. Fix the reported layer rather than adding broad write or world permissions.
- Retest as the service account.
sudo -u nginx test -x /srv/my-site sudo -u nginx test -x /srv/my-site/html sudo -u nginx test -r /srv/my-site/html/index.html
Distribution-specific ownership examples
Ubuntu with Apache
Ubuntu commonly configures Apache’s User and Group as www-data. A static tree can therefore be owned by root:www-data, with group-readable files and group-traversable directories. Do not change the whole tree to www-data:www-data simply because that is the worker account; doing so gives the server account ownership and can let a vulnerability overwrite published content.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesFedora or Red Hat with Nginx or httpd
Fedora’s Nginx guidance commonly uses nginx as the service account and recommends root:nginx for static documents. Red Hat documentation permits root:root or another administrator-selected owner for content under /var/www/html, provided the account running httpd can read it. On SELinux-enabled installations, the correct httpd_sys_content_t label is required in addition to Unix permissions.
Containers and service managers
Container images and hardened systemd units may use a numeric or dynamically assigned account. In that case, resolve the effective UID and GID inside the runtime and grant access to those identities. Host-side ownership must match the account that actually opens the mounted files, not the username used in a build image or deployment workstation.
Verify and maintain the configuration
- Record the document-root path and the configured service account in your deployment documentation.
- After each release, verify owner, group, directory modes, file modes, ACLs, and SELinux labels.
- Keep private configuration, secrets, deployment keys, and source-control metadata outside the public document root whenever possible.
- Use a dedicated writable directory for uploads, caches, and generated files; monitor its size and contents.
- Do not recursively run
chmod 777or change the entire tree to the web-server account as a generic “fix.” Those changes conceal the real failing layer and give a compromised worker unnecessary write access. - Test from the server as the service account and test through the actual virtual host from a client. Both tests are needed: the first checks filesystem access, while the second checks server configuration and URL mapping.
Recommended baseline
For a normal static site, first identify the configured worker account, then set the tree to root:that-group, directories to 750, and files to 640. Choose 755/644 only when world-read access is an explicit requirement. Keep uploads and generated data in a separate, narrowly writable directory. Finally, verify parent-directory traversal, ACLs, and SELinux labels before troubleshooting the web server itself.
Quick Recap
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.
Free tools Windows power users keep installed
One-click scans. No signup required.

