Last Updated at $Date: 2005/05/25 00:03:06 $.
認証の謎.
研究室を卒業したユーザーについては, パスワードフィールドに4文字以下のダミーの文字列を設定して, ログインできないようにしている.
% ypmatch user passwd user:*LK*:1000:1000::/home/user:/bin/bash
ところが,その卒業したはずのユーザーが時々ログインしてきていること に,今朝になって気が付いた.どうしてログインできるんだ? としばらく悩んで調査してみると,SSH の公開鍵認証が有効になっていることに気づいた.
% ls -l ~user/.ssh/authorized_keys -rw-r--r-- 1 user user 657 Dec 20 1999 /home/user/.ssh/authorized_keys
さて,このようなユーザーを確実にログインできないようにするには, どうしたら良いか?
      もっとも簡単な方法は,/etc/ssh/sshd_config
      で,DenyUsers ディレクティブや DenyGroups
      ディレクティブを用いて明示的に指定してしまう方法だろう.
      しかし,この方法では,パスワードデータを書き換えるのと同時に
      /etc/ssh/sshd_config を書き換えなければいけないから,
      見落としが怖い.
     
      類似のアイデアとして,そのユーザーの ~/.ssh/authorized_keys
      の有無を検査して,存在したならば適当に rename しておくという方法も考えたのだが,
      そのユーザーを後から復帰させたりすることを考えると,ちょっとイマイチ.
     
      要は,PAM でアカウントを確認する時点で,
      そのアカウントが無効化されていることを検出してくれれば良いのだがなあ,
      と PAM の設定を調べてみるが,なかなかうまく行かない.
      かなり悩んだ挙げ句,やっぱりそういう単目的のモジュールを作るしかないのかなと思いながら,
      pam_unix_acct.c
      を眺めていて,はたと気が付いた.
     
*NP* にしておいたらいいんじゃないのか?
     
      ソースを眺めてみると,
      パスワード文字列が *NP* または x の場合は
      shadow データベースを参照して,参照できなかった場合は,
      エラーを返すようになっているように見える.
     
      と言うわけで,できてしまいました.以前,認証周りのことを教わったとき,
      「規定よりも短いパスワード文字列は全て無効なパスワードとして扱われるから,
      どんな文字列でも良いが,慣習として *LK* が使われている」
      と教わったのだったが,それでうまく動かない場合もあるのだなあ….
     
あー疲れた.
      試しに xdvik-22.77.1 を使い始めた.
      個人的に,画面移動キーは vi 類似のキーバインド(h,j,k,l)が好みなので,
      わざわざキーバインドを切り替えるためのオプションを追加するパッチを作成したくらいだ.
      しかし,xdvik-22.77.1 と新しい日本語化パッチの組み合わせには,簡単には適用できないことが分かった.
      そのため,慣れないキーバインドで困っていたのだが,以下の設定を ~/.Xresources
      に追加すると,ほぼ同じ感覚で使えるようになった.
     
XDvi.mainTranslations: #override \
        :<Key>h: left()\n\
        :<Key>j: down()\n\
        :<Key>k: up()\n\
        :<Key>l: right()\n\
        :<Key>z: set-shrink-factor(-)\n\
        :<Key>Z: set-shrink-factor(+)\n
     こんなに柔軟に変更できるのだったら,パッチは要らなかったなあ….
      発表資料作成のため,TeX の多書体化について調べはじめた.
      多書体化と言っても,要はモリサワ基本5書体を使えるようにして,
      xpdf -fullscreen slide.pdf でプレゼンテーションを行うことが目標なのだが.
     
vfdata-morisawa5 パッケージをインストール.
	   /usr/sbin/morisawa-config add を実行すると,
	   /etc/texmf/dvipsj/config.ps に必要なエントリが追加される.
	  
	   /usr/sbin/morisawa-config add を実行すると,
	   /etc/texmf/vfontmap に必要なエントリが追加される.
	  
ただし,このままでは太明朝体や細ゴシック体が出ないので, 適当に編集する必要がある.
tgif で作成した EPS ファイルを含む DVI ファイルを単純に変換すると, 以下のエラーが発生して極端に表示速度が低下する.
% dvipdfmx -l slide.dvi % xpdf -fullscreen slide.pdf Error: Bad bounding box in Type 3 glyph
	   このままでは,とてもプレゼンテーションツールとして使い物にならない.
	   cjkps2pdf.pl
	   を利用して,埋め込みフォントを取り除けば,この問題を解決できるようだ.
	  
% wget http://www.on.cs.keio.ac.jp/~maru/replacejfonts/sources/cjkps2pdf.pl % dvipdfmx -l -D "perl cjkps2pdf.pl --dvipdfm --papersize a0 %i %o" slide.dvi % xpdf -fullscreen slide.pdf
	   VineLinux の
	   xpdfrc
	   を参考にして,以下のような設定を ~/.xpdfrc に書く.
	  
displayNamedCIDFontTT Ryumin-Light /usr/share/fonts/truetype/dynalab/DFMimP3.ttc displayNamedCIDFontTT Ryumin-Light-H /usr/share/fonts/truetype/dynalab/DFMimP3.ttc displayNamedCIDFontTT Ryumin-Light-Identity-H /usr/share/fonts/truetype/dynalab/DFMimP3.ttc displayNamedCIDFontTT GothicBBB-Medium /usr/share/fonts/truetype/dynalab/DFGotP5.ttc displayNamedCIDFontTT GothicBBB-Medium-H /usr/share/fonts/truetype/dynalab/DFGotP5.ttc displayNamedCIDFontTT GothicBBB-Medium-Identity-H /usr/share/fonts/truetype/dynalab/DFGotP5.ttc
PostScript で presentation を行うためのツール. バッファリングを行うので,高速にページが切り替えられると言っているが,さて本当か? とりあえず,gs-ja で基本5書体がでるようにする必要があるので,以下のように設定.
% cat /etc/gs-ja/kconfig.d/30dynalab /Ryumin-Light 4300000 (min) VFlibkanji /GothicBBB-Medium 4300200 (hosogo) VFlibkanji /FutoGoB101-Bold 4300400 (goth) VFlibkanji /Jun101-Light 4300600 (marugo) VFlibkanji % sudo update-kconfig
2.6 もリリースされているのに,今更と言う気もしないではないが,2.4.24 に ck パッチを適用してみる. xmms で音楽を再生中にディスクアクセスしても,殆んど音飛びが起こらないようになった. なるほど,マルチメディア向けに最適化されているわけだ.
所属の変更にともない,このマシンは返却することになったので, 代替機に環境の移行を始めた.
/boot/
     
 /etc/
     X11/
	  XF86Config-4 for XFree86-4.1.0
	   Xmodmap
	   Xsession.d/40custom_load-xmodmap
	  alsa/alsa-base.conf
      apt/
	  apt.conf.d/
		
	   sources.list
	  kernel-pkg.conf
      init.d/Wnn6
      lilo.conf
      locale.gen
      locale.alias
      modules
      modutils/alsa
      network/interfaces
     [Top] / [Debian Tips] / [ThinkPad X31,X20,s30,560 / Portage SS3330]