1.管理者とパスワードサーバの関係修復不可能状態 |
| 3. テキストファイルからユーザアカウント読み込み成功 | |
| パスワードサーバを使用しているときにはプレーンテキストでパスワードを記述して読み込ませることが可能だということが,10.2.3の英語版「管理者ガイド」に書いてあるということを聞きつけて,再び,テキストファイルからユーザアカウントをきちんと読み込ませることに挑戦することにしました。 そこで,手書きで下のようなファイルを作りました。
ちなみにユーザ名が「name1」,パスワードのタイプは「パスワードサーバ」(「dsAuthMethodStandard\:dsAuthClearText」の部分で指定していると考えてください。ここの文字列は固定です。),パスワードは「password1」,ユーザIDが1026,プライマリグループIDが20,コメントが「comment」,名前が「Name01」,ログインシェルが「なし」という情報が読み込まれて登録されるはずです。 しかし,よく調べてみると,ログインシェルがおかしいのです。「ワークグループマネージャ」で詳細タグを見てみると,ログインシェルが「/dev/null name2」となっているではありませんか。どうも一人目と二人目のアカウントデータの切れ目を認識していないようなのです。 ここから試行錯誤を繰り返したわけですが,長くなるので省略します。結論としては,Jeditを使ってみてやっとわかったのですが(それまでTextEditしか使っていなかったのです),改行コードとしてMacの標準であるCR(キャリッジリターン)のみが入っていたためにこれを改行として認識していなかったようなのです。UNIXの標準では改行コードはLF(ラインフィード)のみ,Windowsの標準ではCR+LFとなっているわけですが,CRをLFに置き換えてやると,正常に二人分のアカウントを読み込んでくれたのです。気づいてみれば「なるほど」ですが,気づくまでは時間がかかりました。 |
| 4.Excelを使ってユーザアカウント読み込みファイルを出力 | ||
ユーザアカウントの読み込みがなんとかうまくできるようになりましたので,当初の計画通り,Excelを使って読み込みファイルを出力させようと考えました。もちろん,VBA(VisualBasic for Application)を使いました。1枚のシートを使います。このシートを「アカウント情報記述用」として使って,1行目に属性を入れ,2行目以降に各アカウント情報を記入すると,VBAでテキストファイルを出力してくれるという便利な物を作ってみました。例えば,
このようにsheet1に入力しておきます。そして,下のようなVBAのsubプロシージャを作成します。
もちろん改行コードはLFになっています。(Jeditで確認するとわかります。) |