cygwin備忘録

いつものように,1台だけcygwinの挙動の変なマシンが出てきた.rshやsshでログインしてサービスの起動/停止をやろうとすると「権限がありませんぜ」とエラーになる.プロセスを調べると,シェルの起動時にユーザ権限が正しく割り当てられないようで,謎のユーザとしてbashが動いている状態だ.

そこで,(これもいつものように)inetdなどを再インストールしてみたのだが,どうもそういう原因では無さそうだ.cygwin全体の再インストールは嫌だなーと思いながらチマチマ調べていくうちに気がついた.このPCって数ヶ月前にHDDがクラッシュして,同じハードウェア構成の別PCからHDDを丸ごとコピーしてきたような記憶がある.ってなことで,/etc/passwdを調べてみたら,やっぱりIDがコピー元のPCの状態のままだった.ということで/etc/passwdを作り直したら解決した.

cygwinの場合,パスワードは/etc/passwdを参照するわけじゃないので,ログインシェルの指定以外に何か使われてるとは思ってなかった.ダミー的なファイルかと思っていたが,ちゃんと参照されてたのね.しかし,それならそれでログイン時点で「ユーザが無いよ」とエラーでも吐いて欲しかったぞ…