コンテンツにスキップ

概要

コマンドラインは、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
これらのファイルをLinuxサーバに転送して下さい。(バージョン名は変更される可能性があります) 「OS名」には「rhel6」(RHEL6系)や「rhel7」(RHEL7系)が入ります。

インストール

下記のコマンドを実行して、インストールして下さい。

# cd (パッケージファイルがあるディレクトリ)
# rpm -ivh *.rpm

なお、TeamFileサーバパッケージがインストールされた環境には、pk-cmdのパッケージだけをインストールして下さい。(既に他のライブラリはインストール済みです)

# rpm -ivh pk-cmd-*.rpm

コマンドラインツール専用アカウントの作成

コマンドラインツールをご利用いただくためには、管理者権限を持つアクセスアカウント(Unixアカウントではありません)が必要となります。このアカウントはコマンドラインツールにのみお使い頂くことを推奨いたします。アカウントの作成には、専用クライアントをお使い下さい。
このユーザは後述致しますコマンドラインツールの引数または環境変数に指定して利用されます。

ユーザ操作コマンドライン(pkusr)

用途

  1. 新規ユーザの作成 (グループへの所属も同時に指定できます)
  2. ユーザ情報の更新 (グループへの所属も同時に指定できます)
  3. ユーザの削除
  4. ユーザ情報の取得

コマンドライン

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: 組み合わせに制限のある引数
外部仕様により、以下の組み合わせは設定できません。

  1. リソース公開権限(-b)とユーザの種類が制限ユーザ(-z limited)
  2. グループ制約を受けない(-t)とユーザの種類が制限ユーザ(-z limited)または管理者(-z admin)
  3. 他ユーザの管理(-o)とユーザの種類がグループリーダ(-z groupleader)以外
  4. 作成可能ユーザ数(-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