巨大ドメインに参加している PC での /etc/passwd, /etc/group ファイルのつくりかた
先日 Cygwin を何度か入れなおす羽目になって、そのときにコンソールに表示されるこのメッセージ。:
Your group is currently "mkpasswd". This indicates that your gid is not in /etc/group and your uid is not in /etc/passwd. The /etc/passwd (and possibly /etc/group) files should be rebuilt. See the man pages for mkpasswd and mkgroup then, for example, run mkpasswd -l [-d] > /etc/passwd mkgroup -l [-d] > /etc/group Note that the -d switch is necessary for domain users.
「パスワードとグループがデフォルト設定のままになってるから mkpasswd と mkgroup を使って設定をするがいいじゃんよ」ってことなんだけれど、アクティブディレクトリーで膨大なユーザー・グループ情報が管理されている状況下で mkpasswd -d などすると実際死ぬ。延々とリスト取得していて、ちっとも終わりゃあしない!
で、対処法。現在のユーザー情報とホストマシンのローカル情報だけを反映した passwd と group ファイルを作ればよいので、:
$ mkpasswd -l -c > /etc/passwd $ mkgroup -l -c > /etc/group
複数のドメインユーザーで共有する環境なら初回利用者は上記を実行して、それ以降に使うユーザーは自分のユーザー情報だけ追記更新ってのでもよさそう。:
$ mkpasswd -c >> /etc/passwd
ドメインユーザーに対して mkgroup -c が返す値は Domain Users:... のため、こちらは改めて追加する必要はない。