devops-notes/03_Linux_Users_Ownership.md

2.4 KiB
Raw Permalink Blame History

Linux Users & Ownership (Day 3)

What are Users in Linux?

Linux is a multi-user system. Each file and process runs under a specific user.

This prevents:

  • accidental damage
  • security issues
  • one app affecting another

Why Users Matter in DevOps?

Applications never run as root in production. Each service has its own user for safety.

DevOps engineers:

  • create users
  • assign ownership
  • control access

User Types

  • root → superuser (full access)
  • normal user → regular work
  • system user → runs services (nginx, docker)

Check Current User

whoami

View All Users

cat /etc/passwd

Create a New User

sudo useradd devuser

Set password:

sudo passwd devuser

Switch User

su devuser

Exit user

exit

Groups in Linux

Users belong to groups. Groups help manage permissions easily.

Check groups:

groups

Add user to group:

sudo usermod -aG sudo devuser

File Ownership

Each file has:

owner

group

Check ownership:

ls -l

Change Ownership (chown)

sudo chown devuser file.txt
sudo chown devuser:devuser file.txt

Change Group Only

sudo chgrp devuser file.txt

Real DevOps Scenario

Application folder:

owned by app user

not by root

correct permissions

Example:

sudo mkdir /var/myapp
sudo chown devuser:devuser /var/myapp
sudo chmod 755 /var/myapp

Common Mistakes

Running apps as root

Wrong ownership causing permission denied

Using sudo unnecessarily

DevOps Rule

root everywhere least privilege access

Exit user:

exit

Groups in Linux

Users belong to groups. Groups help manage permissions easily.

Check groups:

groups

Add user to group:

sudo usermod -aG sudo devuser

File Ownership

Each file has:

owner

group

Check ownership:

ls -l

Change Ownership (chown)

sudo chown devuser file.txt
sudo chown devuser:devuser file.txt

Change Group Only

sudo chgrp devuser file.txt

Real DevOps Scenario

Application folder:

owned by app user

not by root

correct permissions

Example:

sudo mkdir /var/myapp sudo chown devuser:devuser /var/myapp sudo chmod 755 /var/myapp

Common Mistakes

Running apps as root

Wrong ownership causing permission denied

Using sudo unnecessarily

DevOps Rule

root everywhere least privilege access