{"id":13359,"date":"2026-10-09T23:26:36","date_gmt":"2026-10-09T23:26:36","guid":{"rendered":"https:\/\/resizemyimg.com\/blog\/?p=13359"},"modified":"2026-10-09T23:42:12","modified_gmt":"2026-10-09T23:42:12","slug":"chmod-r-chmod-vs-chown-for-managing-linux-file-permissions","status":"publish","type":"post","link":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/","title":{"rendered":"Chmod -R: chmod vs chown for Managing Linux File Permissions"},"content":{"rendered":"<p><strong><code>chmod -R<\/code> should be used to change permissions, while <code>chown -R<\/code> should be used to change ownership.<\/strong> Mixing them up is one of the fastest ways to break a Linux site, expose private files, or cause a service to stop writing logs. A careful admin treats recursive permission changes as a sharp tool, not a quick fix.<\/p>\n<p><strong>TLDR:<\/strong> <code>chmod -R<\/code> changes what users can do with files, such as read, write, or execute them. <code>chown -R<\/code> changes who owns those files and which group controls them. For example, after deploying 18,000 website files, an admin might run <code>chown -R www-data:www-data \/var\/www\/site<\/code>, then set directories to <code>755<\/code> and files to <code>644<\/code>. In one common hosting case, correcting ownership first can remove most <code>403 Forbidden<\/code> errors without making files dangerously writable.<\/p>\n<h2>What <code>chmod -R<\/code> Actually Does<\/h2>\n<p><code>chmod<\/code> means <em>change mode<\/em>. It controls file permissions. The <code>-R<\/code> flag means <em>recursive<\/em>, so the command applies to a directory and everything inside it.<\/p>\n<p>A command like this changes permissions across an entire directory tree:<\/p>\n<pre><code>chmod -R 755 \/var\/www\/html<\/code><\/pre>\n<p>That command gives the owner full access, while the group and others get read and execute access. For directories, execute means a user can enter the directory. For files, execute means the file can be run as a program or script.<\/p>\n<p><strong>The catch is that files and directories usually need different permissions.<\/strong> Applying <code>755<\/code> to every file may mark plain text, images, and PHP files as executable. It may not break the app, but it is messy and risky. Honestly, it feels like Linux lets one short command create a half-hour cleanup job far too easily.<\/p>\n<img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"720\" src=\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/a-pixelated-orange-character-with-a-hat-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/a-pixelated-orange-character-with-a-hat-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg 1080w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/a-pixelated-orange-character-with-a-hat-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command-300x200.jpg 300w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/a-pixelated-orange-character-with-a-hat-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command-1024x683.jpg 1024w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/a-pixelated-orange-character-with-a-hat-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command-575x383.jpg 575w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/a-pixelated-orange-character-with-a-hat-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command-768x512.jpg 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/>\n<h2>What <code>chown -R<\/code> Actually Does<\/h2>\n<p><code>chown<\/code> means <em>change owner<\/em>. It changes the user and group assigned to files or directories. The <code>-R<\/code> flag makes it recursive, just like with <code>chmod<\/code>.<\/p>\n<p>A typical web server command looks like this:<\/p>\n<pre><code>chown -R www-data:www-data \/var\/www\/html<\/code><\/pre>\n<p>This sets both the owner and group to <code>www-data<\/code>. That user is often used by Apache or Nginx on Debian and Ubuntu systems. On CentOS, AlmaLinux, or Rocky Linux, the web user may be <code>apache<\/code> or <code>nginx<\/code>.<\/p>\n<p><strong><code>chown<\/code> does not grant read, write, or execute rights by itself.<\/strong> It only changes who the permission rules apply to. If a file has mode <code>600<\/code>, only the owner can read and write it. Changing the owner changes which user gets that access.<\/p>\n<h2><code>chmod<\/code> vs <code>chown<\/code>: The Core Difference<\/h2>\n<ul>\n<li><strong><code>chmod<\/code> controls access:<\/strong> who can read, write, or execute.<\/li>\n<li><strong><code>chown<\/code> controls identity:<\/strong> which user and group own the file.<\/li>\n<li><strong><code>-R<\/code> expands the impact:<\/strong> every nested file and directory is affected.<\/li>\n<li><strong>Wrong <code>chmod<\/code> values can expose data:<\/strong> <code>777<\/code> allows everyone to write.<\/li>\n<li><strong>Wrong <code>chown<\/code> values can break services:<\/strong> apps may lose access to uploads, cache, or logs.<\/li>\n<\/ul>\n<p>A simple way to think about it is this: <em><code>chown<\/code> decides who holds the key, and <code>chmod<\/code> decides what the key can open.<\/em><\/p>\n<h2>Common Permission Numbers<\/h2>\n<p>Linux numeric permissions use three digits. The digits represent the owner, group, and others. Each digit is built from these values:<\/p>\n<ul>\n<li><strong>4:<\/strong> read<\/li>\n<li><strong>2:<\/strong> write<\/li>\n<li><strong>1:<\/strong> execute<\/li>\n<\/ul>\n<p>So <code>755<\/code> means:<\/p>\n<ul>\n<li><strong>Owner:<\/strong> 7, read plus write plus execute<\/li>\n<li><strong>Group:<\/strong> 5, read plus execute<\/li>\n<li><strong>Others:<\/strong> 5, read plus execute<\/li>\n<\/ul>\n<p>Common safe defaults include:<\/p>\n<ul>\n<li><code>755<\/code> for directories<\/li>\n<li><code>644<\/code> for regular website files<\/li>\n<li><code>600<\/code> for private keys and secrets<\/li>\n<li><code>700<\/code> for private directories<\/li>\n<\/ul>\n<img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"720\" src=\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/10\/a-pixelated-orange-character-with-a-hat-permission-numbers-linux-files-access-rules.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/10\/a-pixelated-orange-character-with-a-hat-permission-numbers-linux-files-access-rules.jpg 1080w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/10\/a-pixelated-orange-character-with-a-hat-permission-numbers-linux-files-access-rules-300x200.jpg 300w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/10\/a-pixelated-orange-character-with-a-hat-permission-numbers-linux-files-access-rules-1024x683.jpg 1024w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/10\/a-pixelated-orange-character-with-a-hat-permission-numbers-linux-files-access-rules-575x383.jpg 575w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/10\/a-pixelated-orange-character-with-a-hat-permission-numbers-linux-files-access-rules-768x512.jpg 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/>\n<h2>Why Recursive Commands Are Risky<\/h2>\n<p><code>-R<\/code> is useful, but it is not forgiving. A small typo can affect thousands of files in seconds. A command meant for <code>\/var\/www\/site<\/code> can become a disaster if it is run against <code>\/var\/www<\/code>, <code>\/home<\/code>, or worse, <code>\/<\/code>.<\/p>\n<p>Expect to waste time on repairs if recursive commands are fired off without checking the target path. On a server with 250,000 files, even a wrong command that runs for 10 seconds can change enough data to cause login failures, broken uploads, or exposed config files.<\/p>\n<p>Admins should inspect before changing:<\/p>\n<pre><code>ls -la \/var\/www\/html\nfind \/var\/www\/html -maxdepth 2 -ls<\/code><\/pre>\n<h2>Safer Ways to Use <code>chmod -R<\/code><\/h2>\n<p>Applying one permission to everything is rarely ideal. A better pattern is to set directories and files separately:<\/p>\n<pre><code>find \/var\/www\/html -type d -exec chmod 755 {} \\;\nfind \/var\/www\/html -type f -exec chmod 644 {} \\;<\/code><\/pre>\n<p>This keeps directories accessible and files non-executable. It also avoids the common mistake of making every CSS, JPG, and PHP file executable.<\/p>\n<p>For upload folders, write access may be needed:<\/p>\n<pre><code>chown -R www-data:www-data \/var\/www\/html\/uploads\nfind \/var\/www\/html\/uploads -type d -exec chmod 755 {} \\;\nfind \/var\/www\/html\/uploads -type f -exec chmod 644 {} \\;<\/code><\/pre>\n<p>If the app needs group write access, <code>775<\/code> for directories and <code>664<\/code> for files may be used. That should happen only when group membership is controlled.<\/p>\n<h2>When to Use <code>chown -R<\/code><\/h2>\n<p><code>chown -R<\/code> is the right tool when files belong to the wrong user. This often happens after copying files as <code>root<\/code>, extracting a backup, deploying from CI, or moving a site between servers.<\/p>\n<p>Common examples include:<\/p>\n<ul>\n<li>A web app cannot write to its cache directory.<\/li>\n<li>Uploaded images fail with permission errors.<\/li>\n<li>Log files remain empty because the service user cannot write.<\/li>\n<li>A developer account owns files that should belong to the deployment user.<\/li>\n<\/ul>\n<p>A safer ownership pattern may separate code from writable content:<\/p>\n<pre><code>chown -R deploy:deploy \/var\/www\/app\nchown -R www-data:www-data \/var\/www\/app\/storage\nchown -R www-data:www-data \/var\/www\/app\/cache<\/code><\/pre>\n<p>This limits the web server\u2019s write access. If the site is compromised, the attacker has less room to alter application code.<\/p>\n<img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"718\" src=\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2025\/09\/computer-system-http-response-codes-web-server-status-message.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2025\/09\/computer-system-http-response-codes-web-server-status-message.jpg 1080w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2025\/09\/computer-system-http-response-codes-web-server-status-message-300x199.jpg 300w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2025\/09\/computer-system-http-response-codes-web-server-status-message-1024x681.jpg 1024w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2025\/09\/computer-system-http-response-codes-web-server-status-message-575x382.jpg 575w, https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2025\/09\/computer-system-http-response-codes-web-server-status-message-768x511.jpg 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/>\n<h2>A Practical Web Server Example<\/h2>\n<p>Suppose a Laravel, WordPress, or custom PHP site has been copied to <code>\/var\/www\/app<\/code>. The files are owned by <code>root<\/code>. The web server throws errors when writing cache files.<\/p>\n<p>An admin might fix ownership for writable areas:<\/p>\n<pre><code>chown -R www-data:www-data \/var\/www\/app\/storage\nchown -R www-data:www-data \/var\/www\/app\/bootstrap\/cache<\/code><\/pre>\n<p>Then set clean permissions:<\/p>\n<pre><code>find \/var\/www\/app -type d -exec chmod 755 {} \\;\nfind \/var\/www\/app -type f -exec chmod 644 {} \\;<\/code><\/pre>\n<p>If write access is still needed in selected folders:<\/p>\n<pre><code>chmod -R 775 \/var\/www\/app\/storage<\/code><\/pre>\n<p>This is much safer than running:<\/p>\n<pre><code>chmod -R 777 \/var\/www\/app<\/code><\/pre>\n<p><strong><code>777<\/code> is almost always a bad fix.<\/strong> It gives every local user read, write, and execute access. It may hide the real issue for a few minutes, but it creates a security problem that can bite later.<\/p>\n<h2>Best Practices for Managing Linux Permissions<\/h2>\n<ul>\n<li><strong>Check ownership first:<\/strong> many permission errors are really ownership errors.<\/li>\n<li><strong>Avoid blanket <code>777<\/code>:<\/strong> it trades one error for a larger risk.<\/li>\n<li><strong>Use <code>find<\/code> for files and directories:<\/strong> they usually need different modes.<\/li>\n<li><strong>Limit web server write access:<\/strong> only uploads, cache, and logs should need it.<\/li>\n<li><strong>Test on a small path first:<\/strong> one subfolder is better than the whole app.<\/li>\n<li><strong>Keep backups:<\/strong> permission repair is easier when known-good values exist.<\/li>\n<\/ul>\n<h2>FAQ<\/h2>\n<h3>What is the difference between <code>chmod -R<\/code> and <code>chown -R<\/code>?<\/h3>\n<p><code>chmod -R<\/code> changes permissions recursively. <code>chown -R<\/code> changes ownership recursively. One controls access rights, while the other controls which user and group own the files.<\/p>\n<h3>Is <code>chmod -R 777<\/code> safe?<\/h3>\n<p>No. <code>777<\/code> allows everyone to read, write, and execute. It may make an error disappear, but it can expose files and allow unwanted changes.<\/p>\n<h3>Should ownership be fixed before permissions?<\/h3>\n<p>Usually, yes. If the wrong user owns the files, changing mode values may not solve the real problem. Correct ownership often fixes access errors with fewer permission changes.<\/p>\n<h3>What permissions should website files use?<\/h3>\n<p>A common setup is <code>755<\/code> for directories and <code>644<\/code> for files. Writable folders may need special handling, depending on the app and server user.<\/p>\n<h3>Can <code>chmod<\/code> change the file owner?<\/h3>\n<p>No. <code>chmod<\/code> only changes permission modes. <code>chown<\/code> is required to change the owner or group.<\/p>\n<h3>Why does <code>-R<\/code> need extra care?<\/h3>\n<p><code>-R<\/code> applies changes to every nested item. A wrong path or broad command can damage many files at once, so admins should inspect paths before running it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><strong><code>chmod -R<\/code> should be used to change permissions, while <code>chown -R<\/code> should be used to change ownership.<\/strong> Mixing them up is one of the fastest ways to break a Linux site, expose private files, or cause a service to stop writing logs. A careful admin treats recursive permission changes as a sharp tool, not a quick fix. <\/p>\n<p class=\"read-more-container\"><a href=\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/\" class=\"read-more button\">Read more<\/a><\/p>\n","protected":false},"author":91,"featured_media":11340,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-13359","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","no-featured-image-padding"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Chmod -R: chmod vs chown for Managing Linux File Permissions<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chmod -R: chmod vs chown for Managing Linux File Permissions\" \/>\n<meta property=\"og:description\" content=\"chmod -R should be used to change permissions, while chown -R should be used to change ownership. Mixing them up is one of the fastest ways to break a Linux site, expose private files, or cause a service to stop writing logs. A careful admin treats recursive permission changes as a sharp tool, not a quick fix. Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/\" \/>\n<meta property=\"og:site_name\" content=\"Resize my Image Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webfactoryltd\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-09T23:26:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T23:42:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jame Miller\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webfactoryltd\" \/>\n<meta name=\"twitter:site\" content=\"@webfactoryltd\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jame Miller\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/\"},\"author\":{\"name\":\"Jame Miller\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/#\/schema\/person\/4bece8cd1b5bcd61a4e5dab002eb7dca\"},\"headline\":\"Chmod -R: chmod vs chown for Managing Linux File Permissions\",\"datePublished\":\"2026-10-09T23:26:36+00:00\",\"dateModified\":\"2026-10-09T23:42:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/\"},\"wordCount\":1118,\"publisher\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/\",\"url\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/\",\"name\":\"Chmod -R: chmod vs chown for Managing Linux File Permissions\",\"isPartOf\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg\",\"datePublished\":\"2026-10-09T23:26:36+00:00\",\"dateModified\":\"2026-10-09T23:42:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#primaryimage\",\"url\":\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg\",\"contentUrl\":\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg\",\"width\":1080,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/resizemyimg.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Chmod -R: chmod vs chown for Managing Linux File Permissions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/#website\",\"url\":\"https:\/\/resizemyimg.com\/blog\/\",\"name\":\"Resize my Image Blog\",\"description\":\"News, insights, tips&amp;tricks on image related business &amp; SaaS\",\"publisher\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/resizemyimg.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/#organization\",\"name\":\"WebFactory Ltd\",\"url\":\"https:\/\/resizemyimg.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2019\/12\/webfactory_icon.png\",\"contentUrl\":\"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2019\/12\/webfactory_icon.png\",\"width\":300,\"height\":300,\"caption\":\"WebFactory Ltd\"},\"image\":{\"@id\":\"https:\/\/resizemyimg.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webfactoryltd\/\",\"https:\/\/x.com\/webfactoryltd\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/#\/schema\/person\/4bece8cd1b5bcd61a4e5dab002eb7dca\",\"name\":\"Jame Miller\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/resizemyimg.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f60a3114f608fcfdd6b15a13f37f24b2?s=96&d=monsterid&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f60a3114f608fcfdd6b15a13f37f24b2?s=96&d=monsterid&r=g\",\"caption\":\"Jame Miller\"},\"description\":\"I'm Jame Miller, a cybersecurity analyst and blogger. Sharing knowledge on online security, data protection, and privacy issues is what I do best.\",\"url\":\"https:\/\/resizemyimg.com\/blog\/author\/jamesm\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Chmod -R: chmod vs chown for Managing Linux File Permissions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/","og_locale":"en_US","og_type":"article","og_title":"Chmod -R: chmod vs chown for Managing Linux File Permissions","og_description":"chmod -R should be used to change permissions, while chown -R should be used to change ownership. Mixing them up is one of the fastest ways to break a Linux site, expose private files, or cause a service to stop writing logs. A careful admin treats recursive permission changes as a sharp tool, not a quick fix. Read more","og_url":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/","og_site_name":"Resize my Image Blog","article_publisher":"https:\/\/www.facebook.com\/webfactoryltd\/","article_published_time":"2026-10-09T23:26:36+00:00","article_modified_time":"2026-10-09T23:42:12+00:00","og_image":[{"width":1080,"height":720,"url":"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg","type":"image\/jpeg"}],"author":"Jame Miller","twitter_card":"summary_large_image","twitter_creator":"@webfactoryltd","twitter_site":"@webfactoryltd","twitter_misc":{"Written by":"Jame Miller","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#article","isPartOf":{"@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/"},"author":{"name":"Jame Miller","@id":"https:\/\/resizemyimg.com\/blog\/#\/schema\/person\/4bece8cd1b5bcd61a4e5dab002eb7dca"},"headline":"Chmod -R: chmod vs chown for Managing Linux File Permissions","datePublished":"2026-10-09T23:26:36+00:00","dateModified":"2026-10-09T23:42:12+00:00","mainEntityOfPage":{"@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/"},"wordCount":1118,"publisher":{"@id":"https:\/\/resizemyimg.com\/blog\/#organization"},"image":{"@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#primaryimage"},"thumbnailUrl":"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg","articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/","url":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/","name":"Chmod -R: chmod vs chown for Managing Linux File Permissions","isPartOf":{"@id":"https:\/\/resizemyimg.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#primaryimage"},"image":{"@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#primaryimage"},"thumbnailUrl":"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg","datePublished":"2026-10-09T23:26:36+00:00","dateModified":"2026-10-09T23:42:12+00:00","breadcrumb":{"@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#primaryimage","url":"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg","contentUrl":"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2026\/03\/computer-screen-showing-lines-of-code-server-firewall-settings-screen-open-ports-configuration-linux-terminal-firewall-command.jpg","width":1080,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/resizemyimg.com\/blog\/chmod-r-chmod-vs-chown-for-managing-linux-file-permissions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/resizemyimg.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Chmod -R: chmod vs chown for Managing Linux File Permissions"}]},{"@type":"WebSite","@id":"https:\/\/resizemyimg.com\/blog\/#website","url":"https:\/\/resizemyimg.com\/blog\/","name":"Resize my Image Blog","description":"News, insights, tips&amp;tricks on image related business &amp; SaaS","publisher":{"@id":"https:\/\/resizemyimg.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/resizemyimg.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/resizemyimg.com\/blog\/#organization","name":"WebFactory Ltd","url":"https:\/\/resizemyimg.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/resizemyimg.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2019\/12\/webfactory_icon.png","contentUrl":"https:\/\/resizemyimg.com\/blog\/wp-content\/uploads\/2019\/12\/webfactory_icon.png","width":300,"height":300,"caption":"WebFactory Ltd"},"image":{"@id":"https:\/\/resizemyimg.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webfactoryltd\/","https:\/\/x.com\/webfactoryltd"]},{"@type":"Person","@id":"https:\/\/resizemyimg.com\/blog\/#\/schema\/person\/4bece8cd1b5bcd61a4e5dab002eb7dca","name":"Jame Miller","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/resizemyimg.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f60a3114f608fcfdd6b15a13f37f24b2?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f60a3114f608fcfdd6b15a13f37f24b2?s=96&d=monsterid&r=g","caption":"Jame Miller"},"description":"I'm Jame Miller, a cybersecurity analyst and blogger. Sharing knowledge on online security, data protection, and privacy issues is what I do best.","url":"https:\/\/resizemyimg.com\/blog\/author\/jamesm\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/posts\/13359"}],"collection":[{"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/users\/91"}],"replies":[{"embeddable":true,"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/comments?post=13359"}],"version-history":[{"count":1,"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/posts\/13359\/revisions"}],"predecessor-version":[{"id":13424,"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/posts\/13359\/revisions\/13424"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/media\/11340"}],"wp:attachment":[{"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/media?parent=13359"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/categories?post=13359"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/resizemyimg.com\/blog\/wp-json\/wp\/v2\/tags?post=13359"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}