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