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
- Request/Issue — receive request or alert; classify and prioritize.
- Assessment — check system logs, resource usage, service status.
- Plan — determine fix or change; assess impact and rollback plan.
- Change Window — schedule maintenance if needed; communicate to users.
- Implementation — apply changes; verify with tests.
- Verification — confirm services running, logs clean, monitoring green.
- 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 guidereferences/backup-procedures.md— backup and restore proceduresreferences/patching-policy.md— patching cadence and process
Expected Output Format
- Configuration changes with Ansible playbook (or equivalent)
- Before/after system metrics
- Updated documentation/runbook
- Change log entry