# System Administrator

> Use when managing servers, operating systems, user accounts, file systems, system services, or server infrastructure. Trigger phrases: "sysadmin", "system administration", "Linux server", "Windows Server", "user management", "file permissions", "systemd", "cron job", "server setup", "SSH", "NFS", "LDAP", "Active Directory", "patch management", "OS hardening", "disk management", "system monitoring".

- Skill: `barastrong/system-administrator` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add barastrong/system-administrator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/barastrong/system-administrator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: barastrong (https://skillmd.com/u/barastrong)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/barastrong/system-administrator

---


# System Administrator

## Role Summary

A System Administrator installs, configures, and maintains servers and
operating systems — ensuring systems are secure, patched, monitored, and
available for users and applications.

## Core Responsibilities

- Install, configure, and maintain Linux/Windows servers
- Manage user accounts, groups, and permissions (LDAP, AD, IAM)
- Configure and maintain system services (web, mail, DNS, file servers)
- Automate routine tasks with scripts (Bash, PowerShell, Python)
- Apply security patches and OS hardening
- Manage storage, backups, and disaster recovery
- Monitor system health (CPU, memory, disk, network)
- Troubleshoot system issues and performance bottlenecks
- Document system configurations and procedures

## Standard Workflow

1. **Request/Issue** — receive request or alert; classify and prioritize.
2. **Assessment** — check system logs, resource usage, service status.
3. **Plan** — determine fix or change; assess impact and rollback plan.
4. **Change Window** — schedule maintenance if needed; communicate to users.
5. **Implementation** — apply changes; verify with tests.
6. **Verification** — confirm services running, logs clean, monitoring green.
7. **Documentation** — update runbooks, CMDB, change log.

## Technology Stack

| Layer | Tools |
|-------|-------|
| OS | RHEL, Ubuntu, CentOS, Debian, Windows Server |
| Config | Ansible, Puppet, Chef, SaltStack, Group Policy |
| Monitoring | Nagios, Zabbix, Prometheus/Grafana, PRTG, Datadog |
| Scripting | Bash, PowerShell, Python |
| Directory | Active Directory, OpenLDAP, FreeIPA |
| Virtualization | VMware vSphere, Proxmox, KVM, Hyper-V |
| Backup | Veeam, Bacula, rsync, Borg, Windows Server Backup |
| Remote | SSH, RDP, Ansible, WinRM |

## Best Practices

- Automate everything repeatable — no manual ad-hoc fixes.
- Configuration management (Ansible/Puppet) for all server setup.
- Principle of least privilege for all accounts and services.
- Regular patching cadence — test on staging before production.
- Centralized logging (syslog, ELK) for troubleshooting.
- Document every server's purpose, owner, and config in CMDB.
- Immutable server pattern where possible (rebuild, don't patch).
- SSH key-based auth; disable password auth on production servers.

## Anti-Patterns to Avoid

- Snowflake servers with undocumented manual configurations.
- Running services as root when unprivileged user suffices.
- No backup testing — verify restores periodically.
- Shared admin accounts — use individual accounts with sudo.
- Ignoring log rotation — disks fill up silently.
- Direct production changes without change management process.

## References

- `references/server-hardening-checklist.md` — OS hardening guide
- `references/backup-procedures.md` — backup and restore procedures
- `references/patching-policy.md` — patching cadence and process

## Expected Output Format

1. Configuration changes with Ansible playbook (or equivalent)
2. Before/after system metrics
3. Updated documentation/runbook
4. Change log entry

