[an error occurred while processing this directive]

(Illustration by Gaich Muramatsu)

Coda File System

Home Downloads
(インフォサイエンス)
Bugs Documentation
News Mailing lists FAQ Research
 
---------

 

Coda 5.2.x のユーザ管理

Jan Harkes jaharkes@cs.cmu.edu

v0.02

1. Coda 5.2.x のユーザ管理

5.2.x では、ユーザ、グループの管理とデータベースが置き換えられています。`user.coda' と `group.coda' を編集して、pwdtopdbpcfgen でそれをコンバートする代わりに、新しい pdbtool プログラムを使います。このテキストは新しいツールの概略と、pre-5.2.x サーバをアップグレードするためのハウツーです。

1.1 pdbtool の導入

pdbtool はユーザとグループの情報を聞き出す対話型コマンドです。pdbtool で使われる最も一般的なコマンドは:

    nui <username> <userid>      -- 指定した id で新しいユーザを作ります
    ng <groupname> <ownerid>     -- 指定したオーナーで新しいグループを作ります
    ci <user/groupname> <newid>  -- ユーザ id とグループを変更します
    ag <group-id> <user/groupid> -- グループにユーザ/グループを追加します
    n <user/groupname>           -- ユーザとグループの情報を全て表示します

注: ユーザ id は正の整数で、グループ id は負の整数です。

詳しくは coda-doc-5.2.0 rpm と tar アーカイブにあるマニュアルページ(pdbtool.8)か、coda-HOWTO、pdbtool の `help' コマンドを読んでください。

1.2 例: 新しいユーザの追加

これは Coda に新しいユーザを追加するための例です。ここでは`scm'という名前のホストがデータベースの読み書きのコピーを持っているものとします。新しいユーザは、Users と Developers というグループに追加されます。

root@scm# pdbtool
pdbtool> nui jan 768
pdbtool> n jan
USER jan
  *  id: 768
  *  belongs to no groups
  *  cps: [ 768 ]
  *  owns no groups
pdbtool> n Users
GROUP Users OWNED BY System
  *  id: -221
  *  owner id: 777
  *  belongs to no groups
  *  cps: [ -221 ]
  *  has members: [ 22 178 184 303 545 697 822 823 835 894 712 738
  *  777 901 902 ]
pdbtool> n Developers
GROUP Developers OWNED BY System
  *  id: -225
  *  owner id: 777
  *  belongs to no groups
  *  cps: [ -225 ]
  *  has members: [ 122 835 ]
pdbtool> ag -221 768
pdbtool> ag -225 768
pdbtool> n jan
USER jan
  *  id: 768
  *  belongs to groups: [ -221 -225 ]
  *  cps: [ -221 -225 768 ]
  *  owns no groups
pdbtool> q

このシーケンスは新しいユーザ・アカウントを作り、適切なグループにアカウントを追加します。アカウントをアクティブにするために、認証サーバで初期パスワードを設定する必要があります。

admin@anymachine$ au -h scm nu
Your Vice Name: codaadmin
Your Vice Password: ********
New User Name: jan
New User Password: newpassword

home のボリュームを作ってマウント、ACL の設定をすれば完了です。ユーザはセットアップされます。あとはユーザがパスワードを変更するだけです。

root@scm# createvol_rep users:jan E0000100 /vicepa
admin@anymachine$ cfs mkm /coda/usr/jan users:jan
admin@anymachine$ cfs sa /coda/usr/jan jan all

jan@anymachine$ cpasswd -h scm

1.3 user.coda と group.coda データベースのアップグレード

ユーザとグループのデータベースを新しい 5.2.x のフォーマットにアップグレードするために、pwdtopdbtool.py というスクリプトが配布に追加されています。/vice/db/user.coda/vice/db/group.coda のパスを変更する必要があるかもしれません。単に SCM の上でこのスクリプトを走らせて、古いユーザとグループのファイルから全てのエントリをパースして、pdbtool を使って /vice/db に新しい prot_users.dbprot_index.db ファイルを作ります。

これらのファイルを他のサーバに配るには、/vice/db/files ファイルに以下を追加します。

prot_users.db
prot_index.db

グループに pre-5.2 サーバがある間は、古いやり方でユーザを追加して、同期で新しいファイルを維持する pwdtopdbtool.py スクリプトを使うことを勧めます。

1.4 5.2.0/5.2.2 で使われる coda.pdb/name.pdb データベースからのアップグレード

pdbtool を使った初期のリリースはデータ・ストアの基として gdbm を使っていました。しかし、様々なサーバを横断するデータベースとしては信頼感に欠けていました。それで、libdb 1.85 に切り替えることにしました。

自動的に gdbm データベースを libdb 1.85 フォーマットにアップグレードするスクリプトはありません。もし users.coda/groups.coda があれば pwdtopdbtool.py を実行してください。

そうでなければ、SCM をアップグレードする前に古い pdbtool ツールを使って全ての情報を引き出さなければなりません。

# echo list | pdbtool > full_pdb_dump

しかし、データベースを作るためにこの dump を使うのは簡単ではありません。全て手動で新しい pdb データベースに再び追加する必要があります。

---------
詳しくはメールで

このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。
Coda ホームページ