<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/vibe-coding-is-cool-but-learn-linux-permissions-before-you-break-the-house-oym1v6esp" -->

---
title: Vibe Coding Is Cool, But Learn Linux Permissions Before...
description: A beginner-friendly guide to Linux file permissions aimed at developers who use AI-assisted or copy-paste coding. Explains the permission string format...
canonical: https://daily.dev/posts/vibe-coding-is-cool-but-learn-linux-permissions-before-you-break-the-house-oym1v6esp
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Vibe Coding Is Cool, But Learn Linux Permissions Before You Break the House | daily.dev
og:description: A beginner-friendly guide to Linux file permissions aimed at developers who use AI-assisted or copy-paste coding. Explains the permission string format...
og:url: https://daily.dev/posts/vibe-coding-is-cool-but-learn-linux-permissions-before-you-break-the-house-oym1v6esp
og:image: https://api.daily.dev/og/posts/OyM1v6ESP.png
og:image:alt: Vibe Coding Is Cool, But Learn Linux Permissions Before You Break the House
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Vibe Coding Is Cool, But Learn Linux Permissions Before You Break the House

**[Medium](https://daily.dev/sources/medium_js)** · 9 min read · 1 upvotes · 0 comments

## Summary

A beginner-friendly guide to Linux file permissions aimed at developers who use AI-assisted or copy-paste coding. Explains the permission string format (rwxr-xr--), the three user categories (owner, group, others), and the numeric chmod system (r=4, w=2, x=1). Covers practical examples like making a deploy script executable with chmod +x, securing SSH keys with 600, and why chmod 777 is dangerous. Also explains how directory permissions differ from file permissions and how to use chown to change file ownership.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/@ahmii722/vibe-coding-is-cool-but-learn-linux-permissions-before-you-break-the-house-67b6a7af7dac>

## Questions this post answers

### What does chmod 755 mean for a script file?

Chmod 755 gives the owner full read, write, and execute permission while the group and others get read and execute only, without write access. In permission notation this is rwxr-xr-x. This setting is commonly used for scripts and folders because it lets everyone run the script while only the owner can modify it.

_Developers troubleshooting script permission errors often look up chmod codes like this on daily.dev._

### Why is chmod 777 considered a bad idea on a server?

Chmod 777 grants read, write, and execute permission to the owner, the group, and everyone else, effectively removing all access restrictions on a file or folder. While it eliminates permission-denied errors, it creates a serious security risk because any user or process can read, modify, run, or delete the file, which is especially dangerous on production servers.

_Anyone hardening server security can compare risky chmod settings like this on daily.dev._

### Why do I get permission denied when running a deploy.sh script with ./deploy.sh?

This error usually means the script lacks execute permission for the user running it. The file can exist and even be readable or editable, but without the execute bit set, Linux refuses to run it as a program. Running chmod +x deploy.sh adds execute permission and allows the script to run successfully.

_Developers debugging shell script errors can dig into permission fixes like this on daily.dev._

## Similar posts on daily.dev

- [Linus may vibe code, but that doesn't make it best practice](https://daily.dev/posts/linus-may-vibe-code-but-that-doesn-t-make-it-best-practice-h6mp947gd) · The Register · 1 upvotes · 0 comments
- [Beginners guide to vibe coding](https://daily.dev/posts/beginners-guide-to-vibe-coding-oo3lhmhv8) · The New Stack · 1 upvotes · 0 comments
- [Vibe Coding: The Complete Developer's Guide \(2026\)](https://daily.dev/posts/vibe-coding-the-complete-developer-s-guide-2026--gu0an8f5l) · SitePoint · 1 upvotes · 0 comments
- [How to Vibe Code: A Developer's Playbook](https://daily.dev/posts/how-to-vibe-code-a-developer-s-playbook-757x49kxw) · Daily Dose of Data Science \| Avi Chawla \| Substack · 5 upvotes · 0 comments

---

Tags: [#security](https://daily.dev/tags/security), [#linux](https://daily.dev/tags/linux), [#vibe-coding](https://daily.dev/tags/vibe-coding)

[View this post on daily.dev](https://daily.dev/posts/vibe-coding-is-cool-but-learn-linux-permissions-before-you-break-the-house-oym1v6esp)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Vibe Coding Is Cool, But Learn Linux Permissions Before You Break the House","url":"https://daily.dev/posts/vibe-coding-is-cool-but-learn-linux-permissions-before-you-break-the-house-oym1v6esp","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/vibe-coding-is-cool-but-learn-linux-permissions-before-you-break-the-house-oym1v6esp"},"datePublished":"2026-07-12T11:59:46.311Z","dateModified":"2026-09-13T20:16:03.504Z","description":"A beginner-friendly guide to Linux file permissions aimed at developers who use AI-assisted or copy-paste coding. Explains the permission string format...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9a35c78166691bfdd93502f6d589c1ae?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9a35c78166691bfdd93502f6d589c1ae?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/vibe-coding-is-cool-but-learn-linux-permissions-before-you-break-the-house-oym1v6esp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"security,linux,vibe-coding","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"Vibe Coding Is Cool, But Learn Linux Permissions Before You Break the House"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/vibe-coding-is-cool-but-learn-linux-permissions-before-you-break-the-house-oym1v6esp#faq","mainEntity":[{"@type":"Question","name":"What does chmod 755 mean for a script file?","acceptedAnswer":{"@type":"Answer","text":"Chmod 755 gives the owner full read, write, and execute permission while the group and others get read and execute only, without write access. In permission notation this is rwxr-xr-x. This setting is commonly used for scripts and folders because it lets everyone run the script while only the owner can modify it. Developers troubleshooting script permission errors often look up chmod codes like this on daily.dev."}},{"@type":"Question","name":"Why is chmod 777 considered a bad idea on a server?","acceptedAnswer":{"@type":"Answer","text":"Chmod 777 grants read, write, and execute permission to the owner, the group, and everyone else, effectively removing all access restrictions on a file or folder. While it eliminates permission-denied errors, it creates a serious security risk because any user or process can read, modify, run, or delete the file, which is especially dangerous on production servers. Anyone hardening server security can compare risky chmod settings like this on daily.dev."}},{"@type":"Question","name":"Why do I get permission denied when running a deploy.sh script with ./deploy.sh?","acceptedAnswer":{"@type":"Answer","text":"This error usually means the script lacks execute permission for the user running it. The file can exist and even be readable or editable, but without the execute bit set, Linux refuses to run it as a program. Running chmod +x deploy.sh adds execute permission and allows the script to run successfully. Developers debugging shell script errors can dig into permission fixes like this on daily.dev."}}]}
```

