Skip to main content

2018 | Supplement | Buchkapitel

How Is Server Software Configured? Examining the Structure of Configuration Files

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Contemporary software on servers is usually configured through editing configuration files. Surprisingly, to the extent of our knowledge, the diversity of configuration file formats remains unstudied. Our goal in this work is to determine what data structures are used in configuration files and what formats are being used to encode them, in order to have a foundation for semantic analysis of their contents in the future. We examine 14133 files in 3409 packages comprising the whole set of software available in Debian stable repositories that has configuration files in the /etc directory. After eliminating files that are not configuration (such as init scripts), we assign them to categories using various criteria, some of them being the data structure they express or whether the order of statements matter. In this examination we find that even custom configuration formats can usually be expressed using one of several commonly used data structures. Some software packages, however, are configured in a Turing-complete programming language, usually the same one that the configured program was written in, and are therefore unsuitable for static analysis. Regardless, we provide a taxonomy of configuration formats, and highlight common themes in custom formats used by various packages. Ultimately, we describe a data structure that is able to hold information about all of these configuration files for further analysis.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Rabkin, A., Katz, R.: Static extraction of program configuration options. In: Proceedings of the 33th International Conference on Software Engineering (2011) Rabkin, A., Katz, R.: Static extraction of program configuration options. In: Proceedings of the 33th International Conference on Software Engineering (2011)
2.
Zurück zum Zitat Xu, T., Zhang, J., Huang, P., Zheng, J., Sheng, T., Yuan, D., Pasupathy, S.: Do not blame users for misconfigurations. In: Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, pp. 244–259. ACM (2013) Xu, T., Zhang, J., Huang, P., Zheng, J., Sheng, T., Yuan, D., Pasupathy, S.: Do not blame users for misconfigurations. In: Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, pp. 244–259. ACM (2013)
3.
Zurück zum Zitat Xu, T., et al.: Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM (2015) Xu, T., et al.: Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM (2015)
4.
Zurück zum Zitat Xu, T., et al.: Early detection of configuration errors to reduce failure damage. In: 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2016). USENIX Association (2016) Xu, T., et al.: Early detection of configuration errors to reduce failure damage. In: 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2016). USENIX Association (2016)
5.
Zurück zum Zitat Shambaugh, R., Weiss, A., Guha, A.: Rehearsal: a configuration verification tool for puppet. In: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM (2016) Shambaugh, R., Weiss, A., Guha, A.: Rehearsal: a configuration verification tool for puppet. In: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM (2016)
6.
Zurück zum Zitat Raab, M., Barany, G.: Challenges in validating FLOSS configuration. In: IFIP International Conference on Open Source Systems. Springer, Cham (2017) Raab, M., Barany, G.: Challenges in validating FLOSS configuration. In: IFIP International Conference on Open Source Systems. Springer, Cham (2017)
7.
Zurück zum Zitat Xu, T., Zhou, Y.: Systems approaches to tackling configuration errors: a survey. ACM Comput. Surv. (CSUR) 47, 4 (2015)CrossRef Xu, T., Zhou, Y.: Systems approaches to tackling configuration errors: a survey. ACM Comput. Surv. (CSUR) 47, 4 (2015)CrossRef
8.
Zurück zum Zitat Huang, P., Bolosky, W., Sigh, A., Zhou, Y.: KungfuValley: a systematic configuration validation framework for cloud services. In: Proceedings of the 10th ACM European Conference in Computer Systems (2015) Huang, P., Bolosky, W., Sigh, A., Zhou, Y.: KungfuValley: a systematic configuration validation framework for cloud services. In: Proceedings of the 10th ACM European Conference in Computer Systems (2015)
9.
Zurück zum Zitat Tang, C., et al.: Holistic configuration management at Facebook. In: Proceedings of the 25th Symposium on Operating Systems Principles. ACM (2015) Tang, C., et al.: Holistic configuration management at Facebook. In: Proceedings of the 25th Symposium on Operating Systems Principles. ACM (2015)
10.
Zurück zum Zitat Oppenheimer, D., Ganapathi A., Patterson, D.: Why do Internet services fail, and what can be done about it?. In: USENIX Symposium on Internet Technologies and Systems, vol. 67 (2003) Oppenheimer, D., Ganapathi A., Patterson, D.: Why do Internet services fail, and what can be done about it?. In: USENIX Symposium on Internet Technologies and Systems, vol. 67 (2003)
11.
Zurück zum Zitat Delaet, T., Joosen, W., Van Brabant, B.: A survey of system configuration tools. In: LISA, vol. 10 (2010) Delaet, T., Joosen, W., Van Brabant, B.: A survey of system configuration tools. In: LISA, vol. 10 (2010)
12.
Zurück zum Zitat Anderson, P., Scobie, A.: LCFG: the next generation. In: UKUUG Winter Conference (2002) Anderson, P., Scobie, A.: LCFG: the next generation. In: UKUUG Winter Conference (2002)
13.
14.
Zurück zum Zitat Hosmer, B.: Getting started with salt stack–the other configuration management system built with python. Linux J. 2012, 223 (2012) Hosmer, B.: Getting started with salt stack–the other configuration management system built with python. Linux J. 2012, 223 (2012)
15.
Zurück zum Zitat Loope, J.: Managing Infrastructure with Puppet: Configuration Management at Scale. O’Reilly Media Inc, Sebastopol (2011) Loope, J.: Managing Infrastructure with Puppet: Configuration Management at Scale. O’Reilly Media Inc, Sebastopol (2011)
16.
Zurück zum Zitat Burgess, M.: Cfengine: a site configuration engine. In: USENIX Computing systems (1995) Burgess, M.: Cfengine: a site configuration engine. In: USENIX Computing systems (1995)
17.
Zurück zum Zitat Święcicki, B.: A novel approach to automating operating system configuration management. In: Information Systems Architecture and Technology: Proceedings of 36th International Conference on Information Systems Architecture and Technology–ISAT 2015–Part II. Springer International Publishing (2016) Święcicki, B.: A novel approach to automating operating system configuration management. In: Information Systems Architecture and Technology: Proceedings of 36th International Conference on Information Systems Architecture and Technology–ISAT 2015–Part II. Springer International Publishing (2016)
18.
Zurück zum Zitat Xu, T., et al.: How do system administrators resolve access-denied issues in the real world? In: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems. ACM (2017) Xu, T., et al.: How do system administrators resolve access-denied issues in the real world? In: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems. ACM (2017)
19.
Zurück zum Zitat Huang, Q., et al.: Identifying self-admitted technical debt in open source projects using text mining. In: Empirical Software Engineering (2017) Huang, Q., et al.: Identifying self-admitted technical debt in open source projects using text mining. In: Empirical Software Engineering (2017)
Metadaten
Titel
How Is Server Software Configured? Examining the Structure of Configuration Files
verfasst von
Błażej Święcicki
Leszek Borzemski
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-319-67220-5_20