Initial commit

This commit is contained in:
2026-03-05 17:47:01 +01:00
commit 563202f986
20 changed files with 1136 additions and 0 deletions
+147
View File
@@ -0,0 +1,147 @@
# Linux Administration
Overview of common Linux administration tasks. Focus on daytoday system management rather than distributionspecific tools.
For foundational concepts (kernel, filesystem, users, processes), see:
- [Linux / Basics](./Basics.md)
---
## 1. User and Group Management
Linux uses users and groups to control access to files, processes, and services.
Typical administration tasks include:
- Creating and removing users.
- Adding users to groups (for example to grant `sudo` access).
- Locking or disabling accounts.
Key ideas:
- Each user has a numeric user ID (UID) and a primary group ID (GID).
- Additional group memberships are used to grant extra permissions (for example access to Docker or systemdjournal).
---
## 2. Privileged Access and sudo
Administrative operations are usually performed with elevated privileges.
Approaches:
- Direct `root` login (less common on modern systems for security reasons).
- Using `sudo` to run specific commands as `root`.
Principles:
- Only trusted users should have `sudo` rights.
- The set of allowed commands can be restricted via the sudoers configuration.
In practice, administration is often done as an unprivileged user with `sudo` used only when needed.
---
## 3. Filesystem Permissions and Ownership
Correct file and directory permissions are central to system security and stability.
Key aspects:
- Ownership (user and group) defines who primarily controls a resource.
- Permission bits (read, write, execute) for user, group, and others control what can be done.
- Special bits (setuid, setgid, sticky) influence execution and inheritance in specific cases.
Administration tasks related to permissions include:
- Adjusting ownership for application data directories.
- Ensuring configuration files are restricted when they contain secrets.
- Verifying that log and temporary directories have appropriate access.
Additional reminders and command examples can be kept in:
- [Linux / Cheat Sheet](./CheatSheet.md)
---
## 4. Services and systemd Units
On many modern Linux distributions, **systemd** is used as the init system and service manager.
Concepts:
- A **unit** defines how a service, mount, timer, or other resource is started and managed.
- Service units (for example `ssh.service`, `docker.service`) describe how to start and stop daemons.
- Targets group units to represent boot states (for example `multi-user.target`).
Typical administration actions:
- Starting, stopping, and restarting services.
- Enabling or disabling services at boot.
- Checking service status and logs.
Systemd units are usually stored under `/lib/systemd/system` or `/etc/systemd/system`. Local overrides can be created without modifying vendor files.
---
## 5. Logs and Troubleshooting
System logs are essential for diagnosing issues.
On systemdbased systems, the journal stores logs from the kernel and many services.
Common tasks:
- Viewing recent logs for a specific service.
- Filtering logs by priority or time range.
- Inspecting boot logs to understand startup problems.
In addition to the journal, many services also write to files under `/var/log`. Knowing where a service writes its logs is an important part of administration.
---
## 6. Software Installation and Updates
Package management is used to install, update, and remove software.
Administration concerns:
- Keeping the system reasonably up to date for security fixes.
- Avoiding unnecessary packages on minimal or securitysensitive systems.
- Understanding which repositories are enabled.
The concrete commands differ per distribution (for example `apt` vs `dnf`), but the underlying tasks are similar.
Distributionspecific notes and examples can be recorded in a dedicated cheat sheet or in projectspecific documentation.
---
## 7. Scheduled Tasks and Automation
Linux systems provide several mechanisms for scheduled or automated tasks.
Common options:
- `cron` jobs for periodic execution.
- systemd timers for more structured scheduling tied to units.
These mechanisms are used for activities such as log rotation, backups, or periodic health checks.
---
## 8. Backup and Recovery Considerations
From an administrative perspective, backup and recovery planning includes:
- Identifying which directories and data must be backed up.
- Choosing backup tools and storage locations.
- Testing restore procedures.
Details are often projectspecific and can be documented alongside the systems that depend on them (for example in a homeserver or applicationspecific section).
---
## 9. Relation to Other Documents
- [Linux / Cheat Sheet](./CheatSheet.md)