Computers sharing resources, also known as computer servers or servers, are very common in modern life. Files, email, office documents, games, news, pictures, music files, network access (such as computer networks or the internet) are among the many resources and services computer servers are good at sharing.
A public server is a server attached to a publically accessible network; it allows users (intended and/or unintended) access to shared resources. By being public, public servers are accessible to unsavory users; the chances of complications and challenges increase: common challenges include unfair access to the shared resources and vandalism. Administrators in charge of managing and configuring computer servers generally have more challenges managing public servers than private servers. One of the biggest challenges faced by administrators is making the key resources accessible while preventing problems from neutralizing the benefits of sharing.
Servers are notorious for being difficult to manage due to the complexity of software with which computers rely on to share resources. Millions, if not billions of programmatic instructions (code for short) are relied on to automate the operation of information processing and resource sharing. The imperfections added by the software engineering process makes the end product--the computer server--vulnerable to unforseen security weaknesses. These programmatic loopholes and oversights are commonly called security holes. The economics of training skilled professionals the management of computer servers or engineering the server software often necessitate the reduction--or worst--preclusion of training in the programmatic and administrative repairs and/or preventions of these imperfections, leaving many public servers vulnerable in varying degrees to countless threats throughout the lifetime of normal operation.