* sessreg で -w /var/log/wlog を指定すると登録されない [#n971a7b1]
76の問題を追いかけてみたら、2つの問題が重畳していたようでその一つ。
xdmはユーザのログイン時に/usr/lib64/X11/xdm/Xstartupを実行して、そこの
exec /usr/bin/sessreg -a -w /var/log/wtmp -u /var/run/utmp -x /usr/lib64/X11/xdm/Xservers -l $DISPLAY -h "" $USER
で、ログインしたユーザを wtmp/utmp に登録することになっているのだけど、sessreg で -w /var/log/wtmp を指定すると ユーザが登録されない模様。
まず、wtmpを空にしておいて、
# cp /dev/null /var/log/wtmp # cp /dev/null /var/run/utmp # last wtmp begins Thu Dec 8 11:13:58 2011
sessreg に -w /var/log/wtmp を指定して登録しようとしても登録されない。
# sessreg -a -w /var/log/wtmp kojima # last wtmp begins Thu Dec 8 11:16:08 2011
sessreg に -w /var/log/wtmp を指定しなければ登録されるらしい。
# sessreg -a kojima # last kojima pts/1 pts/1 Thu Dec 8 11:19 still logged in wtmp begins Thu Dec 8 11:19:10 2011
一応、sessreg では -w wtmp-fileが指定できることになっているので、これは sessreg のバグっぽい。
# sessreg -h sessreg: usage sessreg {-a -d} [-w wtmp-file] [-u utmp-file] [-L lastlog-file] [-t ttys-file] [-l line-name] [-h host-name] [-s slot-number] [-x servers-file] user-name
# cp /dev/null /var/log/wtmp # cp /dev/null /var/run/utmp # last wtmp begins Thu Dec 8 13:13:13 2011 # sessreg -a -w /usr/adm/wtmp root # last wtmp begins Thu Dec 8 13:13:13 2011
utmpの方は更新されるのか、wには出てくるらしい。
# w 13:13:40 up 45 min, 1 user, load average: 0.00, 0.01, 0.05 USER TTY LOGIN@ IDLE JCPU PCPU WHAT root 1 13:13 0.00s 0.00s 0.00s bash # sessreg -d -w /usr/adm/wtmp root # w 13:13:52 up 46 min, 0 users, load average: 0.00, 0.01, 0.05 USER TTY LOGIN@ IDLE JCPU PCPU WHAT # last wtmp begins Thu Dec 8 13:13:13 2011
オプションの -w を指定しなければ /var/log/wtmp を更新するのだから、 指定しなければいいだけの話ではあるのだけど、何か単純なミスっぽい気はする。-- kojima 2011-12-08 (木) 13:14:46