Archive for March, 2003

Chrooting Daemons and System Processes HOWTO

Wednesday, March 12th, 2003

Table of Contents
Part I: Introduction to Chrooting

  • 1.1 What is chrooting?
  • 1.2 When is it appropriate to chroot?
  • 1.3 Can all daemons be chrooted?
  • 1.4 Will chrooting affect my users?
  • 1.5 What is entailed in chrooting?

Part II: Requirements gathering

  • 2.1 Can we chroot this daemon?
  • 2.2 An Introduction to truss, lsof, and ldd
  • 2.3 Determining datafile dependencies
  • 2.4 Creating a datafile strategy
  • 2.5 Determining library dependencies
  • 2.6 Finding a good home for the jail

Part III: Setting up a chrooted environment

  • 3.1 Creating an empty jail
  • 3.2 Copying program and datafiles, configuring cron
  • 3.3 Copying libraries
  • 3.4 Creating devices
  • 3.5 Altering startup scripts
  • 3.6 The Final Product
  • 3.7 Logging through syslog

Part IV: Advanced Topics

  • 4.1 How to tell if you’re chrooted
  • 4.2 Breaking out of a chroot()ed cell
  • 4.3 Frequent chroot() mistakes

(more…)