さて、ユーザIDがG5と異なってしまったMacBookちゃんですが、なんとか回復したみたいです。
以下に事の顛末を。
まず試したのが、システム環境設定のアカウントの詳細オプション(アカウントを右クリック。Leopardからの機能)を開いて、ユーザID、グループIDを修正してみました。
これ、『警告 アカウントがログイン出来なくなることがあります』という警告があるだけにかなりドキドキもの。
修正後、再起動したら復活、、、とはいかなかった。
ログインは出来たけど、画面はアカウント追加時のもの(例の派手なオーロラ画面)だし、ユーザ直下の書類フォルダなどがアクセス出来ない状態。
さすが警告してるだけの事はある。
あわてて再度アカウントの詳細オプションで元に戻す。
これもやはりドキドキものです。
今度は無事元の502状態に復帰。(無事って状態じゃないけどね)
こうなると後はUNIXコマンドでなんとかするしかないかぁ、と調査。
"nicl . -create /users/xxxx uid 501"
ってのでユーザIDを変更出来るらしい。
んが、しかし、"nicl"はNetInfoがらみのコマンドらしく、NetInfo無くなったLeopardでは使えない事が発覚。
えぇ~、とまた調査。
お、なんか"dscl"コマンドで出来そう。
久しぶりに"man"とか使ってコマンドのオプションやら眺める。
結論としては
"dscl . -change /users/xxxx UniqueID 502 501"
"dscl . -change /users/xxxx PrimaryGroupID 502 20"
これでユーザIDとグループID(ありゃ?ユニークIDだったのか、、、)を変更完了。
あ、当然ルートで入ります。
(Leopardから、ルートユーザを有効にする方法がディレクトリユーティリティの編集メニューに変更になってます。)
ちなみにPrimaryGroupIDを20(staff)にしているのは、Leopardに合わせるため。
TigerだとグループIDはユーザIDと同じものになるんだけど、なぜかLeopardで新規アカウント追加した場合は20(staff)になるので、何となくそれに合わせてみた。
あとは502だったファイルのオーナーを変更。
"find / -xdev -user 502 -exec chown xxxx:staff {} \;"
これでG5とファイル共有してもちゃんとコピー出来るようになりました。
いま、ふと気付いたけど、最初のアカウントの詳細オプションでの変更時にTerminalでオーナー変更すればよかったのかも、思った。すでに確かめるすべはないけど。
ふぅ~、疲れた。
けどいい経験になりましたよ、ハイ。
以下に事の顛末を。
まず試したのが、システム環境設定のアカウントの詳細オプション(アカウントを右クリック。Leopardからの機能)を開いて、ユーザID、グループIDを修正してみました。
これ、『警告 アカウントがログイン出来なくなることがあります』という警告があるだけにかなりドキドキもの。
修正後、再起動したら復活、、、とはいかなかった。
ログインは出来たけど、画面はアカウント追加時のもの(例の派手なオーロラ画面)だし、ユーザ直下の書類フォルダなどがアクセス出来ない状態。
さすが警告してるだけの事はある。
あわてて再度アカウントの詳細オプションで元に戻す。
これもやはりドキドキものです。
今度は無事元の502状態に復帰。(無事って状態じゃないけどね)
こうなると後はUNIXコマンドでなんとかするしかないかぁ、と調査。
"nicl . -create /users/xxxx uid 501"
ってのでユーザIDを変更出来るらしい。
んが、しかし、"nicl"はNetInfoがらみのコマンドらしく、NetInfo無くなったLeopardでは使えない事が発覚。
えぇ~、とまた調査。
お、なんか"dscl"コマンドで出来そう。
久しぶりに"man"とか使ってコマンドのオプションやら眺める。
結論としては
"dscl . -change /users/xxxx UniqueID 502 501"
"dscl . -change /users/xxxx PrimaryGroupID 502 20"
これでユーザIDとグループID(ありゃ?ユニークIDだったのか、、、)を変更完了。
あ、当然ルートで入ります。
(Leopardから、ルートユーザを有効にする方法がディレクトリユーティリティの編集メニューに変更になってます。)
ちなみにPrimaryGroupIDを20(staff)にしているのは、Leopardに合わせるため。
TigerだとグループIDはユーザIDと同じものになるんだけど、なぜかLeopardで新規アカウント追加した場合は20(staff)になるので、何となくそれに合わせてみた。
あとは502だったファイルのオーナーを変更。
"find / -xdev -user 502 -exec chown xxxx:staff {} \;"
これでG5とファイル共有してもちゃんとコピー出来るようになりました。
いま、ふと気付いたけど、最初のアカウントの詳細オプションでの変更時にTerminalでオーナー変更すればよかったのかも、思った。すでに確かめるすべはないけど。
ふぅ~、疲れた。
けどいい経験になりましたよ、ハイ。