Skip to content
This is my space, where experience meets the will to start over. This is my space, where experience meets the will to start over.

The first step is knowing where you want to go.

  • Home
  • Coding Hub
    • Software & Project
      • Small Biz Ops – S.B.O.
        • SmallBizOps – Day 10/90
      • CRM/ERP
      • MyTracker
      • My Budget
    • Form Zero to “WoW”
      • JavaScript from Zero (Completed)
        • 2. Remove and Edit List Items
        • 3. Separate HTML and JavaScript, Use addEventListener and Conditional Logic
        • 4. Add Dynamic CSS Classes
        • 5. Save & Restore Your List with localStorage
        • 6 – Turn Your App into a Full To-Do List
      • Python from Zero (Completed)
        • 2. Lists & Loops
        • 3. Conditional Menus
        • 4. Edit & Remove Tasks (with closing: Python vs PHP and Large Data)
        • 5 – Save to File: Make Your Tasks Survive Restarts
        • 6 — Pythin from zero – Final Project Polishing: Numbering, Formatting, and Preparing for CSV
      • Rust – From Zero to “WoW” (Completed)
        • 1 – Setup and Project Structure in Rust
        • 2 – User input: validation and error handling
        • 3 – Rust from Zero to “WoW – BMI Calculation and Conditional Logic
        • 4 –Rust – Clear, Formatted Output
        • 5 – Rust – Final Thoughts: Precision as a Form of Respect
      • Go from Zero to “WoW” (Completed)
        • 1 – Why Go Is Perfect for a Personal Expense Tracker
        • 2 – Logging Expenses and Console Input
        • 3 – Go from Zero to “WoW” – Smart Filtering & Display Logic
        • 4 – Go – Saving Data to Local Files
        • 5 – Go – Final Project – Expense Tracker in Go
      • C++ from Zero to “WoW” (Completed)
        • 1 – Why C++ for file organization?
        • 2 – C++ – File Type Detection and Classification
        • 3 – C++ – Creating & Managing Subfolders
        • 4 – C++ – Safe File Movement and User Feedback
        • 5 – C++ – Order as Mental Clarity
      • Ubuntu – From Zero to “WoW” (Completed)
        • 2 – Ubuntu – The Desktop Environment and Essential Commands
        • 3 – Ubuntu – Managing Files, Folders, and Permissions
        • 4 – Ubuntu – Installing and Updating Software with APT and Snap
        • 5 – Ubuntu – Customizing the Desktop Environment
        • 6 – Ubuntu – Network and Device Configuration
        • 7 – Ubuntu – User Management & System Security — “The Cathedral of Permissions”
        • 8 – Ubuntu – The Talking Machine: Terminal & Bash Scripting
        • 9 – Ubuntu – Ubuntu as a Server or Development Environment
        • 10 – Ubuntu – Backup, Maintenance & Troubleshooting
    • Git Hub Repository
      • Small Biz Ops – S.B.O.
      • Mini ERP – PHP & MySQL
      • CleverCRM (Java, Spring Boot)
      • FraudWatch (Python, FastAPI + scikit-learn)
      • OnboardIQ – Smart Onboarding Portal (Flask + SQLite Demo)
    • ArchPilot
      • 1-Users & Roles, End-to-End (Architecture, Database, and Cross-Framework Code)
      • 2 – Client Registry (CRM) Across Frameworks
      • 3 – Project & Budget Tracker (ERP)
      • 4 – Approval Workflow Engine Multi-step routing, status tracking, escalation paths
      • 5 – Audit Trail & Versioning
    • Small Biz Ops – S.B.O.
  • Vivere in USA
  • P4Y
  • Testi poetici
    • 1 – Sospeso
    • 2 – Il bicchiere di vetro quieto
    • 3 – Quando l’amore inciampa
    • 4 – Ma chi siete davvero?
    • 5 – Above the Thread of Day
    • 6 – The Truth That Doesn’t Exist
    • 7 – All of You, I Miss
    • 8 – The Captain and the Ocean
    • 9 – Between Light and Mist
    • 10 – Il peso delle scelte
  • Contact
  • Admin
This is my space, where experience meets the will to start over.
This is my space, where experience meets the will to start over.

The first step is knowing where you want to go.

Coding – Step 14.7 – Ubuntu – User Management & System Security — “The Cathedral of Permissions”

Posted on 29 Ottobre 202529 Ottobre 2025 By Francesco

Disclaimer: This post is for educational purposes only. Practice only in safe, non-production environments. Every command carries responsibility — treat your system as your own fortress.


The Invisible City of Ubuntu

Imagine Ubuntu as a medieval city.
Every user is a citizen.
Every group is a guild with specific rights.
The root account? That’s the King — powerful, but rarely seen, because even kings make mistakes.

Your job as a student is not to crown yourself king — it’s to learn how to govern wisely.


One Command, Many Consequences

Let’s create a new “apprentice” in our city:

sudo adduser apprentice

When you type this, Ubuntu quietly:

  • Builds a house (/home/apprentice)
  • Gives them keys (password)
  • Registers them in the city census (/etc/passwd)

But that’s just the start. The real art lies in shaping what they can do.


Roles and Masks: Playing with Groups

You can assign different “masks” (permissions) by using groups:

sudo usermod -aG sudo apprentice
sudo usermod -aG audio,video apprentice

Now “apprentice” can manage sound and video devices, and — if needed — wear the admin’s cloak with sudo.

To see all guilds in your city:

getent group | less

Each line reveals hidden corners of Ubuntu — printer operators, log readers, web processes, etc.
Every one is a story of access and trust.


Secret Files and Silent Watchers

Let’s give “apprentice” a secret mission.
We’ll create a hidden file that only they can read:

sudo touch /srv/secret_scroll.txt
sudo chown apprentice:apprentice /srv/secret_scroll.txt
sudo chmod 600 /srv/secret_scroll.txt

Now even the mighty “root” would need explicit permission to read it.
A strong reminder: in Ubuntu, ownership is power.


The Experiment: The Hacker’s Puzzle

Try this experiment with your students:

  1. Create three users: mage, warrior, healer.
  2. Make warrior and healer part of the same group called guild.
  3. Let only that group read a shared scroll: sudo groupadd guild sudo usermod -aG guild warrior sudo usermod -aG guild healer sudo chown :guild /srv/shared_scroll.txt sudo chmod 640 /srv/shared_scroll.txt
  4. Ask: can mage read it? If not, why?
    → This sparks a real conversation about permissions and digital ethics.

From Guardians to Architects

By managing users and permissions, you’re not just “administering” —
you’re architecting trust inside your system.
Ubuntu teaches one truth every professional must learn early:

“Security isn’t about locking doors. It’s about giving the right key to the right person.”

Post Views: 399

Condividi:

  • Condividi su Facebook (Si apre in una nuova finestra) Facebook
  • Condividi su X (Si apre in una nuova finestra) X
Coding Form Zero to "WoW" Ubuntu

Navigazione articoli

Previous post
Next post

Francesco

My name is Francesco Boschi, originally from Italy and currently based in the United States. For over twenty years, I’ve worked as a manager and consultant across diverse sectors — from education and cultural institutions to the food industry — developing skills in operational management, strategic consulting, and complex problem-solving. In recent years, I’ve combined this experience with a strong passion for software development, creating custom tools designed to simplify workflows and meet real business needs.

Relocating to the U.S. marks the beginning of a new chapter: a personal and professional decision driven by the desire to be close to my son and to embrace new challenges in a different environment. Today, my goal is to turn my experience into meaningful solutions, blending strategic vision with technical expertise to help people and organizations work more effectively.

I enjoy moving between different worlds, adapting tools and approaches to people and contexts. I bring leadership, flexibility, attention to detail, analytical thinking, and a strong problem-solving mindset — along with a deep curiosity to learn and grow. Above all, I believe in sharing: I’m always eager to offer my experience to support the growth of others.

Related Posts

Coding

Coding – Step 8 – The Most Popular Programming Languages: Different Tools, One Common Logic

Posted on 14 Luglio 202526 Luglio 2025

When people talk about coding, the conversation often starts with: “What’s the best language?” Is it JavaScript or Python? PHP or Java?In reality, the better question is: What kind of project do I want to build, and which tool fits that purpose best? The 5 Most Used Programming Languages in…

Condividi:

  • Condividi su Facebook (Si apre in una nuova finestra) Facebook
  • Condividi su X (Si apre in una nuova finestra) X
Read More
Coding

Coding – Step 13.4 – C++ – Safe File Movement and User Feedback

Posted on 12 Ottobre 202512 Ottobre 2025

Learn how to make file movement in C++ safe, reversible, and human-friendly — with dry runs, backups, duplicate handling, progress indicators, and clear feedback. Because true performance includes trust.

Condividi:

  • Condividi su Facebook (Si apre in una nuova finestra) Facebook
  • Condividi su X (Si apre in una nuova finestra) X
Read More
Python

Coding – Step 10 – Python from Zero – Lesson 1: Variables, Input, and Simple Logic

Posted on 28 Luglio 202523 Agosto 2025

Welcome to the first real Python lesson — where you’ll build a mini console app using real code, logic, and user input. No theory-only content here: we learn by writing and running code immediately. 📚 What You’ll Learn ✅ How to use print() and input()✅ How to store and use…

Condividi:

  • Condividi su Facebook (Si apre in una nuova finestra) Facebook
  • Condividi su X (Si apre in una nuova finestra) X
Read More

Iscriviti alla nostra Newsletter

🤞 Let's keep in touch

We do not send spam! Read our Privacy policy for more information.

Controlla la tua casella di posta o la cartella spam per confermare la tua iscrizione

Cerca nel sito

©2026 This is my space, where experience meets the will to start over. | WordPress Theme by SuperbThemes