-<p>At work with the University of Oslo, we have several hundred computers
-in our computing center. This give us a challenge in tracking the
-location and cabling of the computers, when they are added, moved and
-removed. Some times the location register is not updated when a
-computer is inserted or moved and we then have to search the room for
-the "missing" computer.</p>
-
-<p>In the last issue of Linux Journal, I came across a project
-<a href="http://www.libdmtx.org/">libdmtx</a> to write and read bar
-code blocks as defined in the
-<a href="http://en.wikipedia.org/wiki/Data_Matrix">The Data Matrix
-Standard</a>. This is bar codes that can be read with a normal
-digital camera, for example that on a cell phone, and several such bar
-codes can be read by libdmtx from one picture. The bar code standard
-allow up to 2 KiB to be written in the tag. There is another project
-with <a href="http://www.terryburton.co.uk/barcodewriter/">a bar code
-writer written in postscript</a> capable of creating such bar codes,
-but this was the first time I found a tool to read these bar
-codes.</p>
-
-<p>It occurred to me that this could be used to tag and track the
-machines in our computing center. If both racks and computers are
-tagged this way, we can use a picture of the rack and all its
-computers to detect the rack location of any computer in that rack.
-If we do this regularly for the entire room, we will find all
-locations, and can detect movements and removals.</p>
-
-<p>I decided to test if this would work in practice, and picked a
-random rack and tagged all the machines with their names. Next, I
-took pictures with my digital camera, and gave the dmtxread program
-these JPEG pictures to see how many tags it could read. This worked
-fairly well. If the pictures was well focused and not taken from the
-side, all tags in the image could be read. Because of limited space
-between the racks, I was unable to get a good picture of the entire
-rack, but could without problem read all tags from a picture covering
-about half the rack. I had to limit the search time used by dmtxread
-to 60000 ms to make sure it terminated in a reasonable time frame.</p>
-
-<p>My conclusion is that this could work, and we should probably look
-at adjusting our computer tagging procedures to use bar codes for
-easier automatic tracking of computers.</p>
+<p>For some years now, I have wondered how we should handle laptops in
+Debian Edu. The Debian Edu infrastructure is mostly designed to
+handle stationary computers, and less suited for computers that come
+and go.</p>
+
+<p>Now I finally believe I have an sensible idea on how to adjust
+Debian Edu for laptops, by introducing a new profile for them, for
+example called Roaming Workstations. Here are my thought on this.
+The setup would consist of the following:</p>
+
+<ul>
+
+ <li>During installation, the user name of the owner / primary user of
+ the laptop is requested and a local home directory is set up for
+ the user, with uid and gid information fetched from the LDAP
+ server. This allow the user to work also when offline. The
+ central home directory can be available in a subdirectory on
+ request, for example mounted via CIFS. It could be mounted
+ automatically when a user log in while on the Debian Edu network,
+ and unmounted when the machine is taken away (network down,
+ hibernate, etc), it can be set up to do automatic mounting on
+ request (using autofs), or perhaps some GUI button on the desktop
+ can be used to access it when needed. Perhaps it is enough to use
+ the fish protocol in KDE?</li>
+
+ <li>Password checking is set up to use LDAP or Kerberos
+ authentication when the machine is on the Debian Edu network, and
+ to cache the password for offline checking when the machine unable
+ to reach the LDAP or Kerberos server. This can be done using
+ <a href="http://www.padl.com/OSS/pam_ccreds.html">libpam-ccreds</a>
+ or the Fedora developed
+ <a href="https://fedoraproject.org/wiki/Features/SSSD">System
+ Security Services Daemon</a> packages.</li>
+
+ <li>File synchronisation with the central home directory is set up
+ using a shared directory in both the local and the central home
+ directory, using unison.</li>
+
+ <li>Printing should be set up to print to all printers broadcasting
+ their existence on the local network, and should then work out of
+ the box with CUPS. For sites needing accurate printer quotas, some
+ system with Kerberos authentication or printing via ssh could be
+ implemented.</li>
+
+ <li>For users that should have local root access to their laptop,
+ sudo should be used to allow this to the local user.</li>
+
+ <li>It would be nice if user and group information from LDAP is
+ cached on the client, but given that there are entries for the
+ local user and primary group in /etc/, it should not be needed.</li>
+
+</ul>
+
+<p>I believe all the pieces to implement this are in Debian/testing at
+the moment. If we work quickly, we should be able to get this ready
+in time for the Squeeze release to freeze. Some of the pieces need
+tweaking, like libpam-ccreds should get support for pam-auth-update
+(<a href="http://bugs.debian.org/566718">#566718</a>) and nslcd (or
+perhaps debian-edu-config) should get some integration code to stop
+its daemon when the LDAP server is unavailable to avoid long timeouts
+when disconnected from the net. If we get Kerberos enabled, we need
+to make sure we avoid long timeouts there too.</p>
+
+<p>If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.</p>