mirror of
https://github.com/thecyberlearn/devops-notes.git
synced 2026-08-18 08:52:52 +00:00
207 lines
2.4 KiB
Markdown
207 lines
2.4 KiB
Markdown
# 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
|
||
```bash
|
||
whoami
|
||
```
|
||
|
||
## View All Users
|
||
```bash
|
||
cat /etc/passwd
|
||
```
|
||
|
||
## Create a New User
|
||
```bash
|
||
sudo useradd devuser
|
||
```
|
||
|
||
## Set password:
|
||
```bash
|
||
sudo passwd devuser
|
||
```
|
||
|
||
## Switch User
|
||
```bash
|
||
su devuser
|
||
```
|
||
|
||
## Exit user
|
||
```bash
|
||
exit
|
||
```
|
||
|
||
## Groups in Linux
|
||
|
||
Users belong to groups.
|
||
Groups help manage permissions easily.
|
||
|
||
## Check groups:
|
||
|
||
```bash
|
||
groups
|
||
```
|
||
|
||
## Add user to group:
|
||
|
||
```bash
|
||
sudo usermod -aG sudo devuser
|
||
```
|
||
|
||
## File Ownership
|
||
|
||
Each file has:
|
||
|
||
owner
|
||
|
||
group
|
||
|
||
## Check ownership:
|
||
|
||
```bash
|
||
ls -l
|
||
```
|
||
|
||
## Change Ownership (chown)
|
||
```bash
|
||
sudo chown devuser file.txt
|
||
sudo chown devuser:devuser file.txt
|
||
```
|
||
|
||
## Change Group Only
|
||
```bash
|
||
sudo chgrp devuser file.txt
|
||
```
|
||
|
||
## Real DevOps Scenario
|
||
|
||
Application folder:
|
||
|
||
owned by app user
|
||
|
||
not by root
|
||
|
||
correct permissions
|
||
|
||
Example:
|
||
|
||
```bash
|
||
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:
|
||
|
||
```bash
|
||
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:
|
||
|
||
```bash
|
||
ls -l
|
||
```
|
||
|
||
## Change Ownership (chown)
|
||
```bash
|
||
sudo chown devuser file.txt
|
||
sudo chown devuser:devuser file.txt
|
||
```
|
||
|
||
## Change Group Only
|
||
```bash
|
||
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 |