The person who is responsible for setting up and maintaining the system or server is called as the system administrator. System administrators may be members of an information technology department. Most of the following discussion also applies to network and Windows system admins.
Duties of a system administrator
The duties of a system administrator are wide-ranging, and vary widely from one organization to another. Sysadmins are usually charged with installing, supporting, and maintaining servers or other computer systems, and planning for and responding to service outages and other problems. Other duties may include scripting or light programming, project management for systems-related projects.
The system administrator is responsible for following things:
- User administration (setup and maintaining account)
- Maintaining system
- Verify that peripherals are working properly
- Quickly arrange repair for hardware in occasion of hardware failure
- Monitor system performance
- Create file systems
- Install software
- Create a backup and recover policy
- Monitor network communication
- Update system as soon as new version of OS and application software comes out
- Implement the policies for the use of the computer system and network
- Setup security policies for users. A sysadmin must have a strong grasp of computer security (e.g. firewalls and intrusion detection systems)
- Documentation in form of internal wiki
- Password and identity management
Cloud computing and sysadmin
Cloud computing is nothing but a large number of computers connected through the Internet/Wan. Cloud computing is now part of technology and sysadmin must lean:
- Automation software such as puppet, chef, etc.
- Cloud infrastructure such as AWS, Openstack etc.
- Network services in cloud such as Content delivery networks (Akamai, CloudFront etc) and DNS servers.
- Source control
- Designing best practices for backups, and whole infrastructure.
What is so special about the system administrator account?
The root account has full (unrestricted) access, so he/she can do anything with system. For example, root can remove critical system files. In addition, there is no way you can recover file except using tape backup or disk based backup systems.
Many tasks for system administration can be automated using Perl/Python or shell scripts. For example:
- Create new users
- Resetting user passwords
- Lock/unlock user accounts
- Monitor server security
- Monitor special services etc
Most important skill to a system administrator
Problem solving, period. This can some time lead into all sorts of constraints and stress. When workstation or server goes down, you are called to solve the problem. You should able to quickly and correctly diagnose the problem. You must figure out what is wrong and how best it can be fixed in small amount of time.
System administrators are not...
- Cookie cutting software engineers.
- It is not usually within your duties to design new applications software.
- But, you must understand the behavior of software in order to deploy it and to troubleshoot problems, and generally should be good at several programming languages used for scripting or automation of routine tasks such as shell, awk, perl, python etc.