概要
コマンドラインは、TeamFileサーバに対しての操作をWindowsのコマンドプロンプトやShellを利用して実行することができるツール群です。
ファイル構成
pkusr(ユーザ管理)
ユーザの追加や更新などユーザ操作全般の操作を行います。
pkgrp(グループ管理)
共有グループの追加更新やユーザの所属などの操作を行います。
pkstat(ステータス管理)
全ユーザの状態を一覧として取得します。
pkput(ファイルアップロード)
ファイルのアップロードを行います。
pkget(ファイルの取得)
ファイルの取得を行います。
pklist(ファイルの一覧取得)
ファイルの取得を行います。
pkdel(ファイルの削除)
ファイルの削除を行います。
実行環境
Linux版
- コマンドライン実行環境のロケールは「ja_JP.UTF8」であること
- コマンドラインに引き渡される文字列のエンコードは全て「UTF8」であること
- ローカルエンコード(例えばEUC-JP)であっても実行は可能ですが、ファイル名の文字化けを起こす可能性があります
- pkgetはファイルの日付の関係で、環境変数TZを「UTC」にしてください
Windows版
コマンドラインは標準MBCSですので特に意識する必要はありませんが、UTF8でのみ表現できる文字コードの場合は文字化けやエラーを出力します。通常コンソールに表示できる文字は不正にはなりません。
セットアップ
動作環境の準備
コマンドラインツールが動作可能なLinux環境もしくはWindows環境をご用意ください。プログラムは以下の場所から自由にダウンロードが行えます。
http://dl.teamfile.com/client/cmd/
コマンドラインツールの準備 (Linux版)
以下のコマンドラインツール用パッケージをお手元にご用意ください。
pk-xerces-c-2.5.0-5.(OS名).i386.rpm
pk-xerces-c-debuginfo-2.5.0-5.(OS名).i386.rpm
pk-xerces-c-devel-2.5.0-5.(OS名).i386.rpm
pk-xerces-c-doc-2.5.0-5.(OS名).i386.rpm
pk-openssl-0.9.7g-1.(OS名).i386.rpm
pk-openssl-devel-0.9.7g-1.(OS名).i386.rpm
pk-openssl-debuginfo-0.9.7g-1.(OS名).i386.rpm
pk-openssl-doc-0.9.7g-1.(OS名).i386.rpm
pk-onion-0.2-5.(OS名).i386.rpm
pk-onion-debuginfo-0.2-5.(OS名).i386.rpm
pk-pcre-5.0-1.(OS名).i386.rpm
pk-pcre-debuginfo-5.0-1.(OS名).i386.rpm
pk-cmd-1.0.2-1.(OS名).i386.rpm
pk-cmd-debuginfo-1.0.2-1.(OS名).i386.rpm
インストール
下記のコマンドを実行して、インストールして下さい。
# cd (パッケージファイルがあるディレクトリ)
# rpm -ivh *.rpm
なお、TeamFileサーバパッケージがインストールされた環境には、pk-cmdのパッケージだけをインストールして下さい。(既に他のライブラリはインストール済みです)
# rpm -ivh pk-cmd-*.rpm
コマンドラインツール専用アカウントの作成
コマンドラインツールをご利用いただくためには、管理者権限を持つアクセスアカウント(Unixアカウントではありません)が必要となります。このアカウントはコマンドラインツールにのみお使い頂くことを推奨いたします。アカウントの作成には、専用クライアントをお使い下さい。
このユーザは後述致しますコマンドラインツールの引数または環境変数に指定して利用されます。
ユーザ操作コマンドライン(pkusr)
用途
- 新規ユーザの作成 (グループへの所属も同時に指定できます)
- ユーザ情報の更新 (グループへの所属も同時に指定できます)
- ユーザの削除
- ユーザ情報の取得
コマンドライン
Windows版
C:\Program Files\pkcmd\pkusr
インストールする場所によりprogram filesの場所が異なります。
Linux版
/usr/local/teamfile/bin/pkusr
コマンドライン共通オプション (モードに応じたオプション)
【 コマンドライン共通オプション 】
-U       管理者ユーザのユーザID(環境変数:PKUSER)※1
-P       管理者ユーザのパスワード(環境変数:PKPASS)
-H       サーバのURL [http://host.domain/location/](環境変数:PKHOST)
-T       ソケットタイムアウト
-G       プロキシホスト (-G ホスト名:ポート番号、-G autoで自動でProxyを調べます)
-X       プロキシユーザID
-Y       プロキシパスワード
-V       バージョン
-M       モード [ add | delete | update | view ]※2
-O       出力形式 [ xml | plain(デフォルト) ]
-Z       圧縮受信を要求する(環境変数:PKCOMP=[true|false])
-D       デバッグモード [ -D 出力ファイル名 ]
-S       クライアント証明書へのフルパス名 [ -S ファイルパス名 ]
-?       このヘルプを表示する
モードに応じたオプション (ユーザの新規作成)
-a       アクセス権限(RW:フルアクセス, RO: 読み込み専用, UO:アップロード専用) 
(省略時:RW)
-b       リソース公開権限 [ on | off ](省略時:-z がnormal, adminであればあり)
-c       コメント (省略可)
-d       ユーザのアクティブ設定 [ active | inactive ] (省略時:active)
-e       有効期限 ISO8601形式 (UTC) 書式: YYYY-MM-DDThh:mm:ssZ (省略可)
-f       ファイル数のリミット(省略時:無制限)
-g       所属するグループをカンマ区切りで指定 (例: group1, group2) (省略可)
-i       新規作成するユーザのユーザID(必須)
-l       アクセス制限(複数指定時にはカンマで区切って並べてください)(任意)
         (  user | group | db | repos | adm | adm-user | adm-group |
adm-sql | adm-stat | adm-dbms | adm-update | adm-db-test |
adm-msg |
simple-user | simple-user-non-private | simple-admin )※4
-n       ユーザ名(必須)
-m       メールアドレス(省略可)
-o       他ユーザを管理する [ on | off ](省略可)
          (-z が groupleader の場合のみ有効、グループリーダ機能)
-p       パスワード(必須)
-r       容量のリミット(省略時:無制限)
-t       グループ制約を受けない [on | off](グループ制約機能)(省略可)
-u       作成可能なユーザ数 [ -u ユーザ数 | 0 (無制限)](省略可)
        (-z が groupleader の場合のみ有効、グループリーダ機能)
-w       許可ホスト(カンマ区切り)
-z       ユーザの種類 [ admin | groupleader | normal | limited ]※3 (省略時:normal)
モードに応じたオプション (ユーザの更新)
-a       アクセス権限(RW:フルアクセス, RO: 読み込み専用, UO:アップロード専用)
(-s がある場合には省略可、-sが無い場合には省略するとデフォルト値※5)
-b       リソース公開権限 [ on | off ]※5
-c       コメント※5
-d       ユーザのアクティブ設定 [ active | inactive ] ※5
-e       有効期限 ISO8601形式 (UTC) 書式: YYYY-MM-DDThh:mm:ssZ※5 0で無期限
-f       ファイル数のリミット ※5
-g       所属するグループをカンマ区切りで指定 (例: group1, group2) ※5
-i       更新するユーザのユーザID (必須)
-l       アクセス制限(複数指定時にはカンマで区切って並べてください)※5
     (  user | group | db | repos | adm | adm-user | adm-group | adm-sql | adm-stat | adm-dbms | adm-update | adm-db-test | adm-msg | simple-user | simple-user-non-private | simple-admin )※4
-n       ユーザ名 ※5
-m       メールアドレス ※5
-o       他ユーザを管理する [ on | off ]
(-z が groupleader の場合のみ有効、グループリーダ機能)
-p       パスワード ※5
-r       容量のリミット ※5
-s       指定されていないパラメータはサーバの値を利用 ※5
-t     グループ制約を受けない [ on | off ](グループ制約機能)
-u       作成可能なユーザ数 [ -u ユーザ数 | 0 (無制限)]
(-z が groupleader の場合のみ有効、グループリーダ機能)
-w       許可ホスト(カンマ区切り)
-z       ユーザの種類 [ admin | groupleader | normal | limited ]※3、※5
-2       変更先ユーザID(更新専用)※6
モードに応じたオプション (ユーザの削除)
-i       削除対象のユーザID
-q       強制削除
モードに応じたオプション (ユーザ情報の表示)
-i       情報を表示するユーザのユーザID
-v       ユーザのステータスだけを戻り値で取得する(省略可) 
※1: 環境変数について
幾つかの引数は、環境変数として設定しておくことで省略することができます。
| 環境変数名 | 意味 | 
|---|---|
| PKUSER | コマンドラインを使ってサーバにアクセスするためのユーザID(文字列) 「3.4. コマンドラインツール専用アカウント作成」で作成したユーザIDを指定 | 
| PKPASS | アクセスユーザのパスワード(文字列) 「3.4. コマンドラインツール専用アカウント作成」で作成したユーザのパスワード。 | 
| PKHOST | アクセスするURL(文字列) | 
| PKCOMP | サーバから受信するデータを圧縮して受信するかどうか(true / false) | 
※2: 「モード」について
このコマンドラインは「モード」の指定により、複数の機能を使い分けることができます。  
| モードの値 | 意味 | 
|---|---|
| add | 新しいユーザの追加を指示する | 
| delete | 指定されたユーザの削除を指示する | 
| update | 指定されたユーザの更新を指示する | 
| view | 指定されたユーザの情報を画面表示する | 
※3: 組み合わせに制限のある引数
外部仕様により、以下の組み合わせは設定できません。
- リソース公開権限(-b)とユーザの種類が制限ユーザ(-z limited)
- グループ制約を受けない(-t)とユーザの種類が制限ユーザ(-z limited)または管理者(-z admin)
- 他ユーザの管理(-o)とユーザの種類がグループリーダ(-z groupleader)以外
- 作成可能ユーザ数(-u)とユーザの種類がグループリーダ(-z groupleader)以外
※4: アクセス制限用識別子(“user”、”group”など)は、指定されたフォルダを「アクセス禁止」にする目的で使用します。これら識別子と対応するフォルダとの関係は以下のとおり。
| アクセス制限用識別子 | 対象フォルダ名 | 
|---|---|
| user | ユーザフォルダ(個人フォルダ) | 
| group | グループフォルダ(共有フォルダ) | 
| db | データベース | 
| repos | リポジトリ(検索) | 
| adm | 管理者 | 
| adm-user | ユーザ | 
| adm-group | グループ | 
| adm-sql | SQL | 
| adm-stat | 統計情報 | 
| adm-dbms | DBMS | 
| adm-update | クライアント更新 | 
| adm-db-test | データベース(テスト用) | 
| adm-msg | メッセージ | 
| simple-user | (複合パラメータ: db、repos、admの3つ指定と同じ効果) | 
| simple-user-non-private | (複合パラメータ: user, db, repos, adm の4つ指定と同じ効果) | 
| simple-admin | (複合パラメータ: db, repos, adm-sql, adm-dbms, adm-db-testの5つ指定と同じ効果) | 
※5:更新時のパラメータ指定方法
新規作成においては、設定が必要なパラメータは全て設定する必要があります。任意オプションの場合には、デフォルト値が適用されます。
更新においても、基本的には変更対象のパラメータは指定する必要がありますが、それ以外の更新の必要がないパラメータは「-s」をつけることで昔の値をそのまま使って更新できます。
※6:-2の注意事項
 このパラメータをつけた場合は、-iで指定したユーザIDを-2で指定したユーザIDに変更するだけです。その他のパラメータは全て無視されます。
実行例
(例1)ユーザID「user1」、パスワード「pass1」、名称「ユーザ1」を作成する
#./pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M add -p pass1 -n ユーザ1 ?a RW -b
アクセス権限はRW、公開権限あり、コメントなし、有効期限なし、ファイル数・サイズ制限なし、所属グループなし、制限フォルダなし、メールアドレスなし、一般ユーザのアカウントが1つ作成されます。
(例2)ユーザID「user2」、パスワード「pass2」、名称「xxxさま」、メールアドレス「xxx@yyy.com」、所属グループ「test」の読み取り専用の一般ユーザを作成
#./pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user2 -M add -p pass2 -n “xxxさま” -m “xxx@yyy.com” -g test -a RO -z normal
(例3)ユーザID「user3」、パスワード「pass3」、名称「xxx印刷」、所属グループは「test」でユーザフォルダにアクセスさせない一般ユーザ(RW、公開できる)を作成
#./pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user3 -M add -p pass3 -n “xxx印刷” -g test -a RW -b -z normal -l “user”
(例4)ユーザID「user1」のパスワードを「pass11」に変更する
#./pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M update -p pass11 -s ?a RW
(例5)ユーザID「user1」を削除する
#./pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M delete
(例6)ユーザ「user1」の情報を表示する
Name            : ユーザ1
UserID          : user1
PassWord        : **********
MailAddress     :
Resources       : 0 / 0
Strorages       : 0 / 0
User Type       : General User
Status          : Active
AccessAuthority : Read/Write Public
Maxcreationuser: 
Valid until     : Unlimited
Owner Name      :
Owner ID        :
AllowHosts      : 192.168.0.1,172.16.0.0/16
Limited Zone    :
Created         : Fri Aug 11 04:20:45 2006
Lastmodified    : Fri Aug 11 04:20:45 2006
Comment         :
Available Group : test
(例7)ユーザ「user1」の情報をXMLで出力する (DTDは後述)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<TF:userinformation xmlns:TF="http://www.teamfile.com/DTD/TF/">
  <TF:user>
    <TF:userid>
      <![CDATA[user1]]>
    </TF:userid>
    <TF:name>
      <![CDATA[ユーザ1]]>
    </TF:name>
    <TF:password>
      <![CDATA[pass1]]>
    </TF:password>
    <TF:mailaddr/>
    <TF:usedstorage>0</TF:usedstorage>
    <TF:maxstorage>0</TF:maxstorage>
    <TF:usedresource>0</TF:usedresource>
    <TF:maxresource>0</TF:maxresource>
    <TF:usertype>
      <TF:normal/>
    </TF:usertype>
    <TF:state>
      <TF:active/>
    </TF:state>
    <TF:user-privilege>
      <TF:readwrite/>
      <TF:set-view/>
    </TF:user-privilege>
    <TF:expiration/>
    <TF:creationdt>2006-08-10T19:20:45Z</TF:creationdt>
    <TF:updatedt>2006-08-10T19:20:45Z</TF:updatedt>
    <TF:comment/>
    <TF:maxcreationuser/>
    <TF:ownername/>
    <TF:ownerid/>
    <TF:allowhosts>192.168.0.1,172.16.0.0/16</TF:allowhosts>
    <TF:availablegroup>
      <TF:group>
        <TF:groupid>00000393</TF:groupid>
        <TF:name>
          <![CDATA[test]]>
        </TF:name>
      </TF:group>
    </TF:availablegroup>
  </TF:user>
</TF:userinformation>
(例8)ユーザID「user1」のユーザIDを「user2」に変更する
#./pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M update -2 user2