]> pere.pagekite.me Git - homepage.git/blob - blog/index.rss
0a36c793af3b1fac911e8b82feff28c279583cec
[homepage.git] / blog / index.rss
1 <?xml version="1.0" encoding="utf-8"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom="http://www.w3.org/2005/Atom">
3 <channel>
4 <title>Petter Reinholdtsen</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/</link>
7 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
8
9 <item>
10 <title>Parallellized boot seem to hold up well in Debian/testing</title>
11 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</guid>
13 <pubDate>Thu, 27 May 2010 23:55:00 +0200</pubDate>
14 <description>
15 &lt;p&gt;A few days ago, parallel booting was enabled in Debian/testing.
16 The feature seem to hold up pretty well, but three fairly serious
17 issues are known and should be solved:
18
19 &lt;p&gt;&lt;ul&gt;
20
21 &lt;li&gt;The wicd package seen to
22 &lt;a href=&quot;http://bugs.debian.org/508289&quot;&gt;break NFS mounting&lt;/a&gt; and
23 &lt;a href=&quot;http://bugs.debian.org/581586&quot;&gt;network setup&lt;/a&gt; when
24 parallel booting is enabled. No idea why, but the wicd maintainer
25 seem to be on the case.&lt;/li&gt;
26
27 &lt;li&gt;The nvidia X driver seem to
28 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;have a race condition&lt;/a&gt;
29 triggered more easily when parallel booting is in effect. The
30 maintainer is on the case.&lt;/li&gt;
31
32 &lt;li&gt;The sysv-rc package fail to properly enable dependency based boot
33 sequencing (the shutdown is broken) when old file-rc users
34 &lt;a href=&quot;http://bugs.debian.org/575080&quot;&gt;try to switch back&lt;/a&gt; to
35 sysv-rc. One way to solve it would be for file-rc to create
36 /etc/init.d/.legacy-bootordering, and another is to try to make
37 sysv-rc more robust. Will investigate some more and probably upload a
38 workaround in sysv-rc to help those trying to move from file-rc to
39 sysv-rc get a working shutdown.&lt;/li&gt;
40
41 &lt;/ul&gt;&lt;/p&gt;
42
43 &lt;p&gt;All in all not many surprising issues, and all of them seem
44 solvable before Squeeze is released. In addition to these there are
45 some packages with bugs in their dependencies and run level settings,
46 which I expect will be fixed in a reasonable time span.&lt;/p&gt;
47
48 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
49 the BTS, please usertag the report to get it to show up at
50 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
51 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
52
53 &lt;p&gt;Update: Correct bug number to file-rc issue.&lt;/p&gt;
54 </description>
55 </item>
56
57 <item>
58 <title>More flexible firmware handling in debian-installer</title>
59 <link>http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</link>
60 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</guid>
61 <pubDate>Sat, 22 May 2010 21:30:00 +0200</pubDate>
62 <description>
63 &lt;p&gt;After a long break from debian-installer development, I finally
64 found time today to return to the project. Having to spend less time
65 working dependency based boot in debian, as it is almost complete now,
66 definitely helped freeing some time.&lt;/p&gt;
67
68 &lt;p&gt;A while back, I ran into a problem while working on Debian Edu. We
69 include some firmware packages on the Debian Edu CDs, those needed to
70 get disk and network controllers working. Without having these
71 firmware packages available during installation, it is impossible to
72 install Debian Edu on the given machine, and because our target group
73 are non-technical people, asking them to provide firmware packages on
74 an external medium is a support pain. Initially, I expected it to be
75 enough to include the firmware packages on the CD to get
76 debian-installer to find and use them. This proved to be wrong.
77 Next, I hoped it was enough to symlink the relevant firmware packages
78 to some useful location on the CD (tried /cdrom/ and
79 /cdrom/firmware/). This also proved to not work, and at this point I
80 found time to look at the debian-installer code to figure out what was
81 going to work.&lt;/p&gt;
82
83 &lt;p&gt;The firmware loading code is in the hw-detect package, and a closer
84 look revealed that it would only look for firmware packages outside
85 the installation media, so the CD was never checked for firmware
86 packages. It would only check USB sticks, floppies and other
87 &quot;external&quot; media devices. Today I changed it to also look in the
88 /cdrom/firmware/ directory on the mounted CD or DVD, which should
89 solve the problem I ran into with Debian edu. I also changed it to
90 look in /firmware/, to make sure the installer also find firmware
91 provided in the initrd when booting the installer via PXE, to allow us
92 to provide the same feature in the PXE setup included in Debian
93 Edu.&lt;/p&gt;
94
95 &lt;p&gt;To make sure firmware deb packages with a license questions are not
96 activated without asking if the license is accepted, I extended
97 hw-detect to look for preinst scripts in the firmware packages, and
98 run these before activating the firmware during installation. The
99 license question is asked using debconf in the preinst, so this should
100 solve the issue for the firmware packages I have looked at so far.&lt;/p&gt;
101
102 &lt;p&gt;If you want to discuss the details of these features, please
103 contact us on debian-boot@lists.debian.org.&lt;/p&gt;
104 </description>
105 </item>
106
107 <item>
108 <title>Magnetstripeinnhold i billetter fra Flytoget og Hurtigruten</title>
109 <link>http://people.skolelinux.org/pere/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html</link>
110 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html</guid>
111 <pubDate>Fri, 21 May 2010 16:00:00 +0200</pubDate>
112 <description>
113 &lt;p&gt;For en stund tilbake kjøpte jeg en magnetkortleser for å kunne
114 titte på hva som er skrevet inn på magnetstripene til ulike kort. Har
115 ikke hatt tid til å analysere mange kort så langt, men tenkte jeg
116 skulle dele innholdet på to kort med mine lesere.&lt;/p&gt;
117
118 &lt;p&gt;For noen dager siden tok jeg flyet til Harstad og Hurtigruten til
119 Bergen. Flytoget fra Oslo S til flyplassen ga meg en billett med
120 magnetstripe. Påtrykket finner jeg følgende informasjon:&lt;/p&gt;
121
122 &lt;pre&gt;
123 Flytoget Airport Express Train
124
125 Fra - Til : Oslo Sentralstasjon
126 Kategori : Voksen
127 Pris : Nok 170,00
128 Herav mva. 8,00% : NOK 12,59
129 Betaling : Kontant
130 Til - Fra : Oslo Lufthavn
131 Utstedt: : 08.05.10
132 Gyldig Fra-Til : 08.05.10-07.11.10
133 Billetttype : Enkeltbillett
134
135 102-1015-100508-48382-01-08
136 &lt;/pre&gt;
137
138 &lt;p&gt;På selve magnetstripen er innholdet
139 &lt;tt&gt;;E?+900120011=23250996541068112619257138248441708433322932704083389389062603279671261502492655?&lt;/tt&gt;.
140 Aner ikke hva innholdet representerer, og det er lite overlapp mellom
141 det jeg ser trykket på billetten og det jeg ser av tegn i
142 magnetstripen. Håper det betyr at de bruker kryptografiske metoder
143 for å gjøre det vanskelig å forfalske billetter.&lt;/p&gt;
144
145 &lt;p&gt;Den andre billetten er fra Hurtigruten, der jeg mistenker at
146 strekkoden på fronten er mer brukt enn magnetstripen (det var i hvert
147 fall den biten vi stakk inn i dørlåsen).&lt;/p&gt;
148
149 &lt;p&gt;Påtrykket forsiden er følgende:&lt;/p&gt;
150
151 &lt;pre&gt;
152 Romnummer 727
153 Hurtigruten
154 Midnatsol
155 Reinholdtsen
156 Petter
157 Bookingno: SAX69 0742193
158 Harstad-Bergen
159 Dep: 09.05.2010 Arr: 12.05.2010
160 Lugar fra Risøyhamn
161 Kost: FRO=4
162 &lt;/pre&gt;
163
164 &lt;p&gt;På selve magnetstripen er innholdet
165 &lt;tt&gt;;1316010007421930=00000000000000000000?+E?&lt;/tt&gt;. Heller ikke her
166 ser jeg mye korrespondanse mellom påtrykk og magnetstripe.&lt;/p&gt;
167 </description>
168 </item>
169
170 <item>
171 <title>Pieces of the roaming laptop puzzle in Debian</title>
172 <link>http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</link>
173 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</guid>
174 <pubDate>Wed, 19 May 2010 19:00:00 +0200</pubDate>
175 <description>
176 &lt;p&gt;Today, the last piece of the puzzle for roaming laptops in Debian
177 Edu finally entered the Debian archive. Today, the new
178 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-mklocaluser.html&quot;&gt;libpam-mklocaluser&lt;/a&gt;
179 package was accepted. Two days ago, two other pieces was accepted
180 into unstable. The
181 &lt;a href=&quot;http://packages.qa.debian.org/p/pam-python.html&quot;&gt;pam-python&lt;/a&gt;
182 package needed by libpam-mklocaluser, and the
183 &lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd&lt;/a&gt; package
184 passed NEW on Monday. In addition, the
185 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
186 package we need is in experimental (version 10-4) since Saturday, and
187 hopefully will be moved to unstable soon.&lt;/p&gt;
188
189 &lt;p&gt;This collection of packages allow for two different setups for
190 roaming laptops. The traditional setup would be using libpam-ccreds,
191 nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
192 which should work out of the box if the configuration changes proposed
193 for nscd in &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;BTS report
194 #485282&lt;/a&gt; is implemented. The alternative setup is to use sssd with
195 libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
196 care of the caching of passwords and group information.&lt;/p&gt;
197
198 &lt;p&gt;I have so far been unable to get sssd to work with the LDAP server
199 at the University, but suspect the issue is some SSL/GnuTLS related
200 problem with the server certificate. I plan to update the Debian
201 package to version 1.2, which is scheduled for next week, and hope to
202 find time to make sure the next release will include both the
203 Debian/Ubuntu specific patches. Upstream is friendly and responsive,
204 and I am sure we will find a good solution.&lt;/p&gt;
205
206 &lt;p&gt;The idea is to set up the roaming laptops to authenticate using
207 LDAP or Kerberos and create a local user with home directory in /home/
208 when a usre in LDAP logs in via KDM or GDM for the first time, and
209 cache the password for offline checking, as well as caching group
210 memberhips and other relevant LDAP information. The
211 libpam-mklocaluser package was created to make sure the local home
212 directory is in /home/, instead of /site/server/directory/ which would
213 be the home directory if pam_mkhomedir was used. To avoid confusion
214 with support requests and configuration, we do not want local laptops
215 to have users in a path that is used for the same users home directory
216 on the home directory servers.&lt;/p&gt;
217
218 &lt;p&gt;One annoying problem with gdm is that it do not show the PAM
219 message passed to the user from libpam-mklocaluser when the local user
220 is created. Instead gdm simply reject the login with some generic
221 message. The message is shown in kdm, ssh and login, so I guess it is
222 a bug in gdm. Have not investigated if there is some other message
223 type that can be used instead to get gdm to also show the message.&lt;/p&gt;
224
225 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
226 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
227 </description>
228 </item>
229
230 <item>
231 <title>Parallellized boot is now the default in Debian/unstable</title>
232 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</link>
233 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</guid>
234 <pubDate>Fri, 14 May 2010 22:40:00 +0200</pubDate>
235 <description>
236 &lt;p&gt;Since this evening, parallel booting is the default in
237 Debian/unstable for machines using dependency based boot sequencing.
238 Apparently the testing of concurrent booting has been wider than
239 expected, if I am to believe the
240 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
241 on debian-devel@&lt;/a&gt;, and I concluded a few days ago to move forward
242 with the feature this weekend, to give us some time to detect any
243 remaining problems before Squeeze is frozen. If serious problems are
244 detected, it is simple to change the default back to sequential boot.
245 The upload of the new sysvinit package also activate a new upstream
246 version.&lt;/p&gt;
247
248 More information about
249 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
250 based boot sequencing&lt;/a&gt; is available from the Debian wiki. It is
251 currently possible to disable parallel booting when one run into
252 problems caused by it, by adding this line to /etc/default/rcS:&lt;/p&gt;
253
254 &lt;blockquote&gt;&lt;pre&gt;
255 CONCURRENCY=none
256 &lt;/pre&gt;&lt;/blockquote&gt;
257
258 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
259 the BTS, please usertag the report to get it to show up at
260 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
261 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
262 </description>
263 </item>
264
265 <item>
266 <title>Sitesummary tip: Listing MAC address of all clients</title>
267 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</link>
268 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</guid>
269 <pubDate>Fri, 14 May 2010 21:10:00 +0200</pubDate>
270 <description>
271 &lt;p&gt;In the recent Debian Edu versions, the
272 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/SiteSummary&quot;&gt;sitesummary
273 system&lt;/a&gt; is used to keep track of the machines in the school
274 network. Each machine will automatically report its status to the
275 central server after boot and once per night. The network setup is
276 also reported, and using this information it is possible to get the
277 MAC address of all network interfaces in the machines. This is useful
278 to update the DHCP configuration.&lt;/p&gt;
279
280 &lt;p&gt;To give some idea how to use sitesummary, here is a one-liner to
281 ist all MAC addresses of all machines reporting to sitesummary. Run
282 this on the collector host:&lt;/p&gt;
283
284 &lt;blockquote&gt;&lt;pre&gt;
285 perl -MSiteSummary -e &#39;for_all_hosts(sub { print join(&quot; &quot;, get_macaddresses(shift)), &quot;\n&quot;; });&#39;
286 &lt;/pre&gt;&lt;/blockquote&gt;
287
288 &lt;p&gt;This will list all MAC addresses assosiated with all machine, one
289 line per machine and with space between the MAC addresses.&lt;/p&gt;
290
291 &lt;p&gt;To allow system administrators easier job at adding static DHCP
292 addresses for hosts, it would be possible to extend this to fetch
293 machine information from sitesummary and update the DHCP and DNS
294 tables in LDAP using this information. Such tool is unfortunately not
295 written yet.&lt;/p&gt;
296 </description>
297 </item>
298
299 <item>
300 <title>systemd, an interesting alternative to upstart</title>
301 <link>http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</link>
302 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</guid>
303 <pubDate>Thu, 13 May 2010 22:20:00 +0200</pubDate>
304 <description>
305 &lt;p&gt;The last few days a new boot system called
306 &lt;a href=&quot;http://www.freedesktop.org/wiki/Software/systemd&quot;&gt;systemd&lt;/a&gt;
307 has been
308 &lt;a href=&quot;http://0pointer.de/blog/projects/systemd.html&quot;&gt;introduced&lt;/a&gt;
309
310 to the free software world. I have not yet had time to play around
311 with it, but it seem to be a very interesting alternative to
312 &lt;a href=&quot;http://upstart.ubuntu.com/&quot;&gt;upstart&lt;/a&gt;, and might prove to be
313 a good alternative for Debian when we are able to switch to an event
314 based boot system. Tollef is
315 &lt;a href=&quot;http://bugs.debian.org/580814&quot;&gt;in the process&lt;/a&gt; of getting
316 systemd into Debian, and I look forward to seeing how well it work. I
317 like the fact that systemd handles init.d scripts with dependency
318 information natively, allowing them to run in parallel where upstart
319 at the moment do not.&lt;/p&gt;
320
321 &lt;p&gt;Unfortunately do systemd have the same problem as upstart regarding
322 platform support. It only work on recent Linux kernels, and also need
323 some new kernel features enabled to function properly. This means
324 kFreeBSD and Hurd ports of Debian will need a port or a different boot
325 system. Not sure how that will be handled if systemd proves to be the
326 way forward.&lt;/p&gt;
327
328 &lt;p&gt;In the mean time, based on the
329 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
330 on debian-devel@&lt;/a&gt; regarding parallel booting in Debian, I have
331 decided to enable full parallel booting as the default in Debian as
332 soon as possible (probably this weekend or early next week), to see if
333 there are any remaining serious bugs in the init.d dependencies. A
334 new version of the sysvinit package implementing this change is
335 already in experimental. If all go well, Squeeze will be released
336 with parallel booting enabled by default.&lt;/p&gt;
337 </description>
338 </item>
339
340 <item>
341 <title>Parallellizing the boot in Debian Squeeze - ready for wider testing</title>
342 <link>http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</link>
343 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</guid>
344 <pubDate>Thu, 6 May 2010 23:25:00 +0200</pubDate>
345 <description>
346 &lt;p&gt;These days, the init.d script dependencies in Squeeze are quite
347 complete, so complete that it is actually possible to run all the
348 init.d scripts in parallell based on these dependencies. If you want
349 to test your Squeeze system, make sure
350 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
351 based boot sequencing&lt;/a&gt; is enabled, and add this line to
352 /etc/default/rcS:&lt;/p&gt;
353
354 &lt;blockquote&gt;&lt;pre&gt;
355 CONCURRENCY=makefile
356 &lt;/pre&gt;&lt;/blockquote&gt;
357
358 &lt;p&gt;That is it. It will cause sysv-rc to use the startpar tool to run
359 scripts in parallel using the dependency information stored in
360 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
361 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
362 to try to start the kdm and gdm scripts as early as possible, and will
363 start the facilities required by kdm or gdm as early as possible to
364 make this happen.&lt;/p&gt;
365
366 &lt;p&gt;Give it a try, and see if you like the result. If some services
367 fail to start properly, it is most likely because they have incomplete
368 init.d script dependencies in their startup script (or some of their
369 dependent scripts have incomplete dependencies). Report bugs and get
370 the package maintainers to fix it. :)&lt;/p&gt;
371
372 &lt;p&gt;Running scripts in parallel could be the default in Debian when we
373 manage to get the init.d script dependencies complete and correct. I
374 expect we will get there in Squeeze+1, if we get manage to test and
375 fix the remaining issues.&lt;/p&gt;
376
377 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
378 the BTS, please usertag the report to get it to show up at
379 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
380 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
381 </description>
382 </item>
383
384 <item>
385 <title>Forcing new users to change their password on first login</title>
386 <link>http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</link>
387 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</guid>
388 <pubDate>Sun, 2 May 2010 13:47:00 +0200</pubDate>
389 <description>
390 &lt;p&gt;One interesting feature in Active Directory, is the ability to
391 create a new user with an expired password, and thus force the user to
392 change the password on the first login attempt.&lt;/p&gt;
393
394 &lt;p&gt;I&#39;m not quite sure how to do that with the LDAP setup in Debian
395 Edu, but did some initial testing with a local account. The account
396 and password aging information is available in /etc/shadow, but
397 unfortunately, it is not possible to specify an expiration time for
398 passwords, only a maximum age for passwords.&lt;/p&gt;
399
400 &lt;p&gt;A freshly created account (using adduser test) will have these
401 settings in /etc/shadow:&lt;/p&gt;
402
403 &lt;blockquote&gt;&lt;pre&gt;
404 root@tjener:~# chage -l test
405 Last password change : May 02, 2010
406 Password expires : never
407 Password inactive : never
408 Account expires : never
409 Minimum number of days between password change : 0
410 Maximum number of days between password change : 99999
411 Number of days of warning before password expires : 7
412 root@tjener:~#
413 &lt;/pre&gt;&lt;/blockquote&gt;
414
415 &lt;p&gt;The only way I could come up with to create a user with an expired
416 account, is to change the date of the last password change to the
417 lowest value possible (January 1th 1970), and the maximum password age
418 to the difference in days between that date and today. To make it
419 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
420 avoid testing if 0 is a valid value).&lt;/p&gt;
421
422 &lt;p&gt;After using these commands to set it up, it seem to work as
423 intended:&lt;/p&gt;
424
425 &lt;blockquote&gt;&lt;pre&gt;
426 root@tjener:~# chage -d 1 test; chage -M 10950 test
427 root@tjener:~# chage -l test
428 Last password change : Jan 02, 1970
429 Password expires : never
430 Password inactive : never
431 Account expires : never
432 Minimum number of days between password change : 0
433 Maximum number of days between password change : 10950
434 Number of days of warning before password expires : 7
435 root@tjener:~#
436 &lt;/pre&gt;&lt;/blockquote&gt;
437
438 &lt;p&gt;So far I have tested this with ssh and console, and kdm (in
439 Squeeze) login, and all ask for a new password before login in the
440 user (with ssh, I was thrown out and had to log in again).&lt;/p&gt;
441
442 &lt;p&gt;Perhaps we should set up something similar for Debian Edu, to make
443 sure only the user itself have the account password?&lt;/p&gt;
444
445 &lt;p&gt;If you want to comment on or help out with implementing this for
446 Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
447
448 &lt;p&gt;Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
449 shadow(8) page in Debian/testing now state that setting the date of
450 last password change to zero (0) will force the password to be changed
451 on the first login. This was not mentioned in the manual in Lenny, so
452 I did not notice this in my initial testing. I have tested it on
453 Squeeze, and &#39;&lt;tt&gt;chage -d 0 username&lt;/tt&gt;&#39; do work there. I have not
454 tested it on Lenny yet.&lt;/p&gt;
455
456 &lt;p&gt;Update 2010-05-02-19:05: Jim Paris tells me via email that an
457 equivalent command to expire a password is &#39;&lt;tt&gt;passwd -e
458 username&lt;/tt&gt;&#39;, which insert zero into the date of the last password
459 change.&lt;/p&gt;
460 </description>
461 </item>
462
463 <item>
464 <title>Thoughts on roaming laptop setup for Debian Edu</title>
465 <link>http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</link>
466 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</guid>
467 <pubDate>Wed, 28 Apr 2010 20:40:00 +0200</pubDate>
468 <description>
469 &lt;p&gt;For some years now, I have wondered how we should handle laptops in
470 Debian Edu. The Debian Edu infrastructure is mostly designed to
471 handle stationary computers, and less suited for computers that come
472 and go.&lt;/p&gt;
473
474 &lt;p&gt;Now I finally believe I have an sensible idea on how to adjust
475 Debian Edu for laptops, by introducing a new profile for them, for
476 example called Roaming Workstations. Here are my thought on this.
477 The setup would consist of the following:&lt;/p&gt;
478
479 &lt;ul&gt;
480
481 &lt;li&gt;During installation, the user name of the owner / primary user of
482 the laptop is requested and a local home directory is set up for
483 the user, with uid and gid information fetched from the LDAP
484 server. This allow the user to work also when offline. The
485 central home directory can be available in a subdirectory on
486 request, for example mounted via CIFS. It could be mounted
487 automatically when a user log in while on the Debian Edu network,
488 and unmounted when the machine is taken away (network down,
489 hibernate, etc), it can be set up to do automatic mounting on
490 request (using autofs), or perhaps some GUI button on the desktop
491 can be used to access it when needed. Perhaps it is enough to use
492 the fish protocol in KDE?&lt;/li&gt;
493
494 &lt;li&gt;Password checking is set up to use LDAP or Kerberos
495 authentication when the machine is on the Debian Edu network, and
496 to cache the password for offline checking when the machine unable
497 to reach the LDAP or Kerberos server. This can be done using
498 &lt;a href=&quot;http://www.padl.com/OSS/pam_ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
499 or the Fedora developed
500 &lt;a href=&quot;https://fedoraproject.org/wiki/Features/SSSD&quot;&gt;System
501 Security Services Daemon&lt;/a&gt; packages.&lt;/li&gt;
502
503 &lt;li&gt;File synchronisation with the central home directory is set up
504 using a shared directory in both the local and the central home
505 directory, using unison.&lt;/li&gt;
506
507 &lt;li&gt;Printing should be set up to print to all printers broadcasting
508 their existence on the local network, and should then work out of
509 the box with CUPS. For sites needing accurate printer quotas, some
510 system with Kerberos authentication or printing via ssh could be
511 implemented.&lt;/li&gt;
512
513 &lt;li&gt;For users that should have local root access to their laptop,
514 sudo should be used to allow this to the local user.&lt;/li&gt;
515
516 &lt;li&gt;It would be nice if user and group information from LDAP is
517 cached on the client, but given that there are entries for the
518 local user and primary group in /etc/, it should not be needed.&lt;/li&gt;
519
520 &lt;/ul&gt;
521
522 &lt;p&gt;I believe all the pieces to implement this are in Debian/testing at
523 the moment. If we work quickly, we should be able to get this ready
524 in time for the Squeeze release to freeze. Some of the pieces need
525 tweaking, like libpam-ccreds should get support for pam-auth-update
526 (&lt;a href=&quot;http://bugs.debian.org/566718&quot;&gt;#566718&lt;/a&gt;) and nslcd (or
527 perhaps debian-edu-config) should get some integration code to stop
528 its daemon when the LDAP server is unavailable to avoid long timeouts
529 when disconnected from the net. If we get Kerberos enabled, we need
530 to make sure we avoid long timeouts there too.&lt;/p&gt;
531
532 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
533 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
534 </description>
535 </item>
536
537 </channel>
538 </rss>