タイトルBrowsing Mac OS X》NetInfoでアカウントを一元管理(4)カテゴリーユーザ管理, Mac OS X Server, Browsing Mac OS X
作成日2002/2/27 14:31:45作成者新居雅行
――――NetInfoの設定を検討する
自動マウントの設定は、NetInfoに記録される。上位のノードのmountsというプロパティに記録されるが、場合によってはここを書き換える必要があるかもしれない。というのは、クライアント側の/Network/Serversというノードにマウントされるのはいいとして(設定としてはdirのプロパティに対応)、そのServersの次の名前が、サーバのドメイン名の最初の単語になるようになってしまう。したがって、Apple File Serviceでのコンピュータ名と違う名前になってしまうこともある。そういう場合には、このmountsのnameプロパティを書き換えてしまうのが1つの手のようだ。ここで、right:/Usersと書き換えたが、そうすると、クライアント側で/Network/Serversの下にrightという項目を作り、さらにその下にサーバ側の共有フォルダのUsersが見えるようになるという具合である。

◇マウントされる項目名を確認する
 

続いて、それでは、サーバにログイン可能なアカウントを、Server Adminで、/Network/rootの方のノードに追加したとしよう。もちろん、U&Gのアイコンから、「新規ユーザ」を選択して作成するが、そうして作ったアカウントでは、なぜかログインができなかった。結果的には、adminユーザの設定をコピーして作ったアカウントでログインができたのだが、NetInfoでやはり設定された内容を見比べてみた。Server Adminで作ったアカウントがnii、adminアカウントをコピーして設定を変えたのがnii2である。

◇Server Adminで作ったアカウント
 


◇既存のAdminアカウントをもとに作ったアカウント
 

明らかに項目数が違うのはすぐに分かるとしても、違いをよく見ると、tim_passwordというプロパティの有無がある。そして、Mac OS X Serverには、timというプロセスが起動時に立ち上がっている。どうやら、認証のための処理をここでさせているのではないかと思うのだが、単にServer Adminで登録したものでは、このtim_passwordがないため認証ができなくなっている模様だ。これが、バグなのか仕様なのかは定かではないが、とにかく、アカウントを登録したい。そこで、次のように作業を行なう。
まず、/Network/rootのユーザ一覧を表示して、そこにあるAdministratorを選択し、「書き出し」ボタンをクリックする。これで、ユーザ登録情報が、XMLファイルに書き出される。このXMLファイルの詳しい解説は、Mac OS X Serverのマニュアルの305pにあるので、詳細はそれを参照してもらいたい。最初にフィールド定義部分があるが、それ以降の部分で実際のユーザ定義部分がある。それを、たとえば、以下のように変更する。(←より右は解説なのでファイルには記入しない)

<uglist>
<user
loginEnabled = "canLogin" ←ログイン可能という意味でそのまま
isAdminUser = "notAdmin" ←管理者でなくするにはこのキーワード
uid = "505" ←この数値は自分で存在しないものに書き換え
gid = "20" ←これもちゃんと調べて書いた方がいい
shell = "/bin/tcsh" > ←ログインシェル
<nameList>
<name
text = "msyk_nii" /> ←ユーザ名
<name
text = "Masayuki Nii 3" /> ←フルネーム
</nameList>
<pass
format = "clearText" ←このキーワードにすれば
text = "testtest" /> ←パスワードは記述通りになる
</user>
</uglist>

こうしてXMLファイルを修正して、Server AdminのU&Gのアイコンから「読み込み」を選択し、さらに/NetInfo/rootを選択してファイルを指定する。そうすれば、上記で言えば、msyk_niiというアカウントが作成されて、ホームディレクトリなど一連のファイルやフォルダが作成される。複数のユーザを登録するときには、上記のuserタグの部分を人数分用意すれば良い。
こうして登録したユーザをServer Adminで見てみる。ユーザの一覧からユーザの情報を出して、「詳細」のポップアップを選択する。ここでホームディレクトリという設定がある。サーバはIP番号になっているが、共有ポイントとしてUsersが設定されている。

◇ホームディレクトリを見てみる
 

このユーザに関する情報を、NetInfo Managerで見てみる。もちろん、networkがタグのルートの方であるが、usersの下に、ここではmsyk_niiというユーザ名と同じ項目があり、その下に各種のプロパティがある。ここで、home_locという項目は、XMLっぽいデータで、上記のダイアログボックスでの指定結果に近いものがある。これに加えて、homeというプロパティは、/Network/Servers/right/msyk_niiとなっている。
いろいろやってみた結果、home_locは実際の動作には関係ないようだ。つまり、上記のダイアログボックスで見えているホームディレクトリのアドレスは、確かにそのアドレスなのであるが、Finderで上記のアドレスを指定して接続した場合と、実際にログインした結果は違っている。Finderで上記のアドレスを指定すると、ボリュームはハードディスクと同じレベルに並べられるけど、NetInfoでの自動ログインを行うと、/Network/Serversにサーバ名を伴ってマウントされる。
考え方としては、共有フォルダの自動マウントの設定で、クライアント側の自動マウントの処理は終わっているものと思われる。そして、NetInfoの上位ディレクトリを参照してログインが成功すると、ここでのhomeプロパティがクライアントに渡されて、そのhomeに記載された絶対パスが、ログインしたユーザのホームディレクトリとなるというわけである。おそらく、home_locは設定の記録用であり、そのhome_locの設定から、自動的にhomeを構築しているのだろう。つまり、/Network/Serversまでは決められたところであり、サーバ名としてはサーバ側で認識した名前を入れる。そして、共有ポイントのUsersが来て、さらにアカウント名のmsyk_niiがくれば、homeプロパティが出来上がるということではないかと思われる。従って、サーバ名などが意図した通りにならない場合には、NetInfoでhomeの設定を変えてしまうことで、対処できるようだ。
‥‥‥‥‥‥‥この項、続く‥‥‥‥‥‥‥[新居雅行]‥‥‥‥‥‥‥
関連リンク