コンテンツにスキップ

コマンドラインツール (ユーザマニュアル)

はじめに

用途

この文書には、下記の情報が記載されています:

  • ユーザ作成コマンドラインの使用方法
  • グループ作成コマンドラインの使用方法
  • ファイルアップロードコマンドラインの使用方法
  • ファイルダウンロードコマンドラインの使用方法
  • ステータス確認コマンドラインの使用方法
  • ファイル一覧表示コマンドラインの使用方法
  • ファイル削除コマンドラインの使用方法

対象者

  • Linux や Windows のコンソールまたは CGI から TeamFile に対して制御したいユーザ

概要

特長

  • シェルまたは CGI プログラムから起動され、ユーザ及びグループの作成、編集、削除、情報取得が可能
  • 認証プロキシや SSL にも対応し、専用クライアントと同等の操作が可能
  • ユーザ作成と同時グループへの所属も可能(連結オペレーション)
  • ユーザ及びグループ情報を XML 形式でダンプ。この XML を外部プログラムに渡すことで、ユーザ及びグループ情報を円滑に伝達することができます
  • コマンドラインよりファイルのアップロードやダウンロードが可能
  • コマンドラインより管理者のステータス一覧の取得が可能
  • Windows 版のみプロキシーを自動で検索することができます。

構成

本ツールは以下の構成により一つのパッケージとして提供しています。

pkusr : ユーザ管理
pkgrp : グループ管理
pkstat : ステータス管理
pkput : ファイルアップロード
pkget : ファイルダウンロード
pklist : ファイル一覧表示
pkdel : ファイル削除

その他に、これらツールが使用するライブラリがありますが、外部連携するプログラム(CGI)がこれらを直接または間接的に意識する必要はありません。(正しくインストールされていれば、PATH や LD_LIBRARY_PATH の心配もありません)

動作環境

  • オペレーティングシステム
    * RedHat Enterprise Linux 3.0/4.0/5.0/6. 0 WS/ES/AS またはこれに類するクローン OS(CentOS 3.x/4.x/5.x/6.x)
    * Windows98/Me/NT/2000/XP/Vista/7/8/10 すべて(Internet Explorer 6.0 以上)
  • ライブラリ
    * Linux: zlib、libgcc パッケージを予め導入ください
    * Windows 版は全てパッケージされています。インストールを行わない ZIP 版も用意しています
  • コマンドライン実行環境
  • 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.25. (OS 名 ) .i386.rpm 
pk-onion-debuginfo-0.25. (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 名」には「rhel3」(RHEL3 系)や「rhel4」(RHEL4 系)が入ります。

インストール

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

$ su – 
# 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 
(コマンドライン共通オプション) (モードに応じたオプション) 

【 コマンドライン共通オプション 】

TF01049-0001.png

【 モードに応じたオプション (ユーザの新規作成) 】

TF01049-0002.png

【 モードに応じたオプション (ユーザの更新) 】

TF01049-0003.png

【 モードに応じたオプション (ユーザの削除) 】

TF01049-0004.png

【 モードに応じたオプション (ユーザ情報の表示) 】

TF01049-0005.png

※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 リポジトリ(検索)
dm 管理者
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 
user 3 -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 : 
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[user 1 ]]> 
    </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>200608 10T19:20:45Z</TF:creationdt> 
    <TF:updatedt>200608 10T19:20:45Z</TF:updatedt> 
    <TF:comment/> 
    <TF:maxcreationuser/> 
    <TF:ownername/> 
    <TF:ownerid/> 
    <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 

グループ管理コマンドライン(pkgrp)の使い方

用途

  • 新しいグループの作成 (ユーザを所属させることもできます)
  • グループの編集
  • グループの削除

コマンドライン

【 Windows 版 】

C:¥Program Files¥pkcmd¥pkgrp 

**インストールする場所により program files の場所が異なります。 **

【 Linux 版 】

/usr/local/teamfile/bin/pkgrp 
(コマンドライン共通オプション) (モードに応じたオプション) 

【 コマンドライン共通オプション 】
  pkusr の説明をご覧下さい。

【 モードに応じたオプション (グループの新規作成) 】

TF01049-0006.png

【 モードに応じたオプション (グループの更新) 】

TF01049-0007.png

【 モードに応じたオプション (グループの削除) 】

TF01049-0008.png

【 モードに応じたオプション (グループ情報の表示) 】

TF01049-0009.png

※1: フォルダ作成オプション
グループ作成と同時に任意のフォルダをグループフォルダの直下に作成することができます。作成するに は「-f」オプションを利用して下さい。なお、「-f」を利用して作成されたグループは、指定されたフォルダを手動で削除するか-q オプションを付けた強制削除を行わない限り、グループそのものの削除が出来なくなります。ご注意ください。

※2: 省略されたパラメータの扱いについては基本的に pkusr と同じです。「-s」があれば昔の値を、無ければデフォルト値で更新します。

※3: メール監視状態の意味と動作は以下の通りです

フラグ値 意味と動作
get ファイルの取得動作をメール監視する
put ファイルのアップロード動作をメール監視する
delete ファイル・フォルダの削除動作をメール監視する
copy ファイル・フォルダのコピー動作をメール監視する
move ファイル・フォルダの移動動作をメール監視する(名称変更は監視されません)

※4:グループ制約の意味は以下の通りです。

フラグ値 意味と動作
write このグループは書き込みが禁止される
showproperty このグループは、プロパティの表示(メンバ一覧)ができない
operationlog このグループは、操作ログが閲覧できない

実行例

(例1) グループ名「group01」、メール監視は「取得」と「登録」、ユーザ「user2」がいるグループを作成

# ./pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i 
group01 -M add -w "get,put" -u user2 

(例2) グループ名を「group01」から「group001」に変更する

# ./pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i 
group01 -M update -n group001 -s 

(例3) グループ名「group01」を削除する

# ./pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i 
group01 -M delete 

(例4) グループ名「group01」の情報を表示する

# ./pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i 
group01 -M view 

表示例:

GroupName : group01 
GroupID : 00000400 
Created : Fri Aug 11 04:56:13 2006 
Lastmodified : Fri Aug 11 04:56:13 2006 
Comment : 
MailWatch : GET PUT 
Available User : xxx印刷 

(例5) グループ名「group01」の情報を XML 出力する (DTD は後述)

# ./pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i 
group01 -M view –O xml 

出力例:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<TF:groupinformation xmlns:TF="http://www.teamfile.com/DTD/TF/"> 
  <TF:group> 
    <TF:groupid> 
      <![CDATA[00000400]]> 
    </TF:groupid> 
    <TF:name> 
      <![CDATA[group01]]> 
    </TF:name> 
    <TF:creationdt>200608 10T19:56:13Z</TF:creationdt> 
    <TF:updatedt>200608 1 0T19:56:13Z</TF:updatedt> 
    <TF:comment/> 
    <TF:groupmailwatch> 
      <TF:triggermethod>GET PUT</TF:triggermethod> 
    </TF:groupmailwatch> 
    <TF:groupuri> 
      <![CDATA[/divy/Group Folder/group01/]]> 
    </TF:groupuri> 
    <TF:constraints> 
      <TF:operationlog/> 
      <TF:showproperty/> 
    </TF:constraints> 
    <TF:state> 
      <TF:active/> 
    </TF:state> 
    <TF:availableuser> 
      <TF:user> 
        <TF:userid>takehara</TF:userid> 
        <TF:name> 
          <![CDATA[xxx印刷]]> 
        </TF:name> 
        <TF:mailaddr> 
          <![CDATA[xxx@yyy.com]]> 
        </TF:mailaddr> 
      </TF:user> 
    </TF:availableuser> 
  </TF:group> 
</TF:groupinformation> 

ステータス管理コマンドライン(pkstat)

用途

  • TeamFile のステータス表示

コマンドライン

【 Windows 版 】

C:¥Program Files¥pkcmd¥pkstat 

**インストールする場所により program files の場所が異なります。 **

【 Linux 版 】

/usr/local/teamfile/bin/pkstat 
(コマンドライン共通オプション) (固有のオプション) 

【 コマンドライン共通オプション 】
  pkusr の説明をご覧下さい。

【 コマンドライン固有のオプション 】

TF01049-0010.png

-h の説明

  • list
    一覧表示を行います。-O フラグと一緒に利用すると出力結果が XML にて出力されます。

  • count
    各種集計を取ります。

  • warning
    ストレージの容量が溢れそうなユーザを表示します。

  • notice
    メールアドレスが存在しないユーザや-l で決めたリミットに到達していているユーザを出力します。

実行例

(例 1 ) ユーザ全ての一覧を取得する

./pkstat –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ -M 
view –h list 

(例 2 ) ユーザ全ての一覧を XML で取得する

./pkstat –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ -M 
view –O xml –h list 

(例 3 ) アカウントの集計を行う

./pkstat –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ -M 
view –O xml –h count 

(例 4 ) 問題がある可能性のあるユーザを表示する

./pkstat –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ -M 
view –O xml –h warning 

ファイルアップロードコマンドライン(pkput)

用途

  • ファイルのアップロード

コマンドライン

【 Windows 版 】

c:¥program Files¥pkcmd¥pkput 
インストールする場所により program files の場所が異なります。

【 Linux 版 】

/usr/local/teamfile/bin/pkput 
(コマンドライン共通オプション) (モードに応じたオプション) 

【 コマンドライン共通オプション 】
  pkusr の説明をご覧下さい。

【 コマンドライン固有オプション 】

TF01049-0011.png

-d は 2.1.126.0 からの機能です。
-t はどこにアップロードを行うかを指定します。

例えば対象のホストが

http://aaa.bbb.com/aaaa/ 

でアップロードしたいところが自分のユーザフォルダ(例:root ユーザ)の場合

-H [http://aaa.bbb.com/aaaa/](http://aaa.bbb.com/aaaa/) -t root 

になります。

-d を指定するとアップロード対象を更新日付で限定することができます。
例えば 2014 年 1 月 1 日の 00 時以降に更新されたファイルだけをアップロードしたい場合は、

-d “2014/01/01 00:00:00” 

間に空白が入る為、ダブルクォートで囲ってください。

**また、-fフラグにフォルダを指定した場合はその配下以下全てをアップロードします。 **

実行例

(例 1 ) ローカルのファイルをアップロードする

./pkput –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ –t ターゲットURI -f フォルダパス 

(例 2 ) ローカルのファイルをグループ AAAA にアップロードする

./pkput –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ –t 
“Group Folder/AAAA” -f フォルダパス 

半角スペースを含む場合には、必ずダブルクォートを使って囲んでください。

出力結果

OK /CVS 
OK /CVS/Root 
OK /CVS/Repository 
OK /CVS/Entries 
OK/projects 
OK/projects/CVS 
SKIP /projects/abcd.txt 

出力結果には四種類の表示結果があります。

  • OK
    アップロードに成功した

  • OK
    ハイフン付の場合は既にサーバにファイルがあり上書きを行った

  • FAIL
    アップロードにエラーが発生した。

  • SKIP
    -d で指定された日付以前のファイルの為、処理をスキップした

ファイルダウンロードコマンドライン(pkget)

用途

  • ファイルのダウンロード

コマンドライン

【 Windows 版 】

c:¥program Files¥pkcmd¥pkget 

**インストールする場所により program files の場所が異なります。 **

【 Linux 版 】

/usr/local/teamfile/bin/pkget 
(コマンドライン共通オプション) (モードに応じたオプション) 

【 コマンドライン固有オプション 】

TF01049-0012.png

-m はダウンロードが完全に成功した場合に対象のファイルを削除します。ただし、特殊なフォルダを指定していた場合は削除されません。(特殊なフォルダとは、/(ルートフォルダ), ユーザフォルダ、グループフォルダなどです。)

実行例

(例 1 ) 自分のユーザフォルダ(例:ユーザ名 test)にあるファイルを全てローカルにダウンロードする

./pkget –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ –t 
“test” –O ./ 

(例 2 ) ルート直下を全てダウンロード

./pkget –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ –t / –O 
./ 

(例 3 ) root フォルダ直下のみをダウンロードして階層取得を行わない

./pkget –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ –t 
root/ –O ./ -1 

-1 で-t がファイルの場合はそのファイルのみ取得。フォルダの場合はそのフォルダの配下のみを取得します。

制限事項
たとえこのコマンドであってもそのユーザが閲覧可能なフォルダしかダウンロードできません。
ユーザが管理者(例えば root ユーザ)であった場合でも、他のユーザのプライベートなフォルダは閲覧できません。また、グループフォルダに関しても、所属していなければ取得できません。全てのユーザ、全てのグループをダウンロードする事はできません。

ファイル一覧表示コマンドライン(pklist)

用途

  • ファイルの一覧表示

コマンドライン

【 Windows 版 】

c:¥program Files¥pkcmd¥pklist 

インストールする場所により program files の場所が異なります。

【 Linux 版 】

/usr/local/teamfile/bin/pklist 
(コマンドライン共通オプション) (モードに応じたオプション) 

【 コマンドライン固有オプション 】

TF01049-0013.png

実行例

(例 1 ) TeamFile にログインした(トップロケーション)の一覧を取得する

./pklist –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ 

(例 2 ) 詳細に表示する(Unix の ls に似た表示になります。

./pklist –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ -l 

(例 3 ) URL だけを表示する( ls –1 に似た表示になります)

./pklist –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ -1 

ファイル削除コマンドライン(pkdel)

用途

  • ファイルの削除

コマンドライン

【 Windows 版 】

c:¥program Files¥pkcmd¥pkdel 

インストールする場所により program files の場所が異なります。

【 Linux 版 】

/usr/local/teamfile/bin/pkdel 
(コマンドライン共通オプション) (モードに応じたオプション) 

【 コマンドライン固有オプション 】

TF01049-0014.png

–g は、このフラグをつけないと本来の削除は行われません。(一覧表示だけを行います)
–r は、再帰的に取得して対象のファイルを削除します。
–x は、正規表現を行う文字列を指定します。

–x は、正規表現を利用することを表しています。例えば root 配下の txt だけを削除したい場合はroot/.*.txt$のように入力します。具体的な例を実行例で説明します。

実行例

(例 1 ) ファイルを一つ削除する

./pkdel –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ -t 
root/aaa.txt 

(例 2 ) フォルダを削除する(配下全て削除されます)

./pkdel –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ -t 
root/foler/ 

(例 3 ) root 配下にある、PDF ファイルだけを削除する

./pkdel –U (管理者D) –P (管理者パスワード)-H http://(ホスト名)/(ロケーション名)/ -t root 
–x “.*¥.pdf$” –r 

正規表現は、PCRE を利用しています。Perl の正規表現と同じ動作となります。サンプルも様々な Web サイトで紹介されていますのでご参照ください。

Caution

削除は、データを消去してしまうツールの為、-g オプションがなければ本来の実行は行われません。単に一覧を表示して終了します。よくご確認のうえご利用ください。

エラーコード一覧

コマンドライン実行した結果、何らかのエラーが発生した場合にはその結果をコマンドラインの戻り値として呼び出したプログラムに返却します。下記に記述いたしますエラーコードが得られた場合にはそれに応じたリカバリー処理をお願い致します。

エラーコード エラー内容・リカバリー方法
0 正常終了
1 正常終了だが0の正常とは異なる(コマンドごとに異なります)
10 エンコードエラーが発生したことを示します。入力された文字のエンコードが正しいかどうかご確認ください
11 引数または環境変数のホスト名が省略されました
12 URI に含まれるポート番号パートが不正です
13 -U パラメータで管理者ユーザのユーザ ID が指定されていない
14 -P パラメータで管理者ユーザのパスワードが指定されていないか、ユーザ更新時に-p で更新ユーザのパスワードが指定されていない。-p を省略するには「-s」が必要です
15 -i パラメータで処理対象のユーザ ID が指定されていない (pkusr)
16 -n パラメータがユーザの更新処理で省略された。省略するには「-s」が必要
17 -z パラメータに指定されたユーザの種類が正しくなかった。admin、normal、limited、groupleader の何れかを指定して下さい (pkusr)
18 パラメータ内容に矛盾があります。同時に指定できないパラメータが指定されました。 -z (ユーザの種類)と-k (管理者権限)が同時に使用された。-z のみをお使いください (pkusr)
19 制限ユーザに対し公開権限を付けようとした。ユーザの種類を変えていただくか、-b を除去して公開権限を与えないようにして下さい(pkusr)
20 入力されたパラメータが不正。 必須パラメータが省略されていないかどうかご確認ください
21 ユーザ情報の表示を行う時、-U または-P に指定された管理者のユーザ ID またはパスワードに誤りがあった(pkusr)
23 正規表現の構文エラーです。(pkdel)
22 プロキシ認証に失敗しました。プロキシ関連パラメーターを確認してください。
50 ホストが見つかりません
51 ユーザ情報の表示において、-i で指定されたユーザが存在しなかった(pkusr)
52 ユーザ情報の表示で-v(チェックモード) が指定された時、-i で指定されたユーザが既に期限切れになっていたことを示す。ユーザ状態のチェック用のステータスコードです(pkusr)
53 ユーザ情報の表示で-v(チェックモード) が指定された時、-i で指定されたユーザが非アクティブになっていたことを示す。ユーザ状態のチェック用のステータスコードです(pkusr)
54 ユーザが既に存在していました。(pkusr)
55 ユーザを削除できなかったためユーザを非アクティブにした(pkusr) 実際にユーザは削除されていません。
60 ファイルが存在しません
61 アクセスが拒否されました。
70 指定されたグループ名のグループが存在しなかった。(pkgrp) –i パラメータに指定したグループ名をご確認ください。
71 グループの削除に失敗した(pkgrp) 多くの場合、対象グループフォルダの中にファイルやフォルダが残ったままになっている、ロックが残ったままになっているためです。手動で削除してから再試行して下さい。
72 対象のグループに既にグループのオーナーが存在しました。一つのグループには一人のオーナーしか指定できません。既に登録されているオーナーを解任してから再度指定してください。(pkgrp)
73 ユーザの所属解除に失敗しました。これはグループリーダーがそのグループのオーナーになっている場合があります。オーナー解除を行ってから再試行してください(pkgrp)
74 グループが既に存在していました。(pkgrp)
80 -f で指定された初期フォルダの作成に失敗しました (pkgrp)
81 (このエラーコードは廃止されました) グループまたはユーザの削除に失敗した。多くの場合、対象グループまたはユーザフォルダの中にファイルやフォルダが残ったままになっているためです。手動で削除してから再試行して下さい。
82 親フォルダが存在していませんでした。
83 ダウンロードフォルダが存在しません(pkget)
99 予期しない理由によりコマンドの実行に失敗しました
999 (このエラーコードは廃止されました)コマンドラインツールの有効期限が切れました

トラブルシュート

ユーザ・グループを作成できない

多くの場合、入力パラメータの不正です。エラーコード表に従い入力内容をご確認ください。その他、以下の要因もご考慮ください。

  • ネットワーク障害等発生している場合には、異常を示すエラーコードが報告されます。外部環境の調査をお願い致します
  • エンコードが UTF8 かどうか(CGI 実行の場合は特に気をつけてください)
  • ロケールが ja_JP.UTF8 かどうか(CGI 実行の場合は特に気をつけてください)

作成したユーザもしくはグループが削除できない

ユーザフォルダの中にファイルやフォルダがある場合に発生しますが、この場合は-q フラグを追加して削除してください。

コマンドラインの Usage が表示されて動作しない

Usage メッセージが表示されるのは、コマンドライン引数の問題です。必須パラメータが省略された、組み合わせ不可能なパラメータが同時に指定された、引数の順番が異なっている(pkput)等の理由が考えられます。引数の見直しをお願い致します。

(付録) 出力 XML の DTD

出力用 XML について

pkusr 及び pkgrp コマンドは、情報表示結果を XML として標準出力にダンプする機能を有しています。 この機能を利用することで、外部プログラム上にユーザ情報やグループ情報を適切に表示することができるようになります。XML 出力の方法に関しましては、pkusr 及び pkgrp のコマンドライン引数を参照ください。

ネームスペース

ネームスペース URI 及びプレフィックスは以下のようになります。変更することはできません。

【 ネームスペース URI 】

http://www.teamfile.com/DTD/TF/ 

【 ネームスペースプレフィックス 】

TF 

XML データの文字エンコーディング

UTF8 を使用しております。他のエンコーディングスキームへの変更はサポートしておりません。

ユーザ情報の DTD

<!ELEMENT userinformation (user) > 
<!ELEMENT user (userid, name, password, mailaddr, usedstorage, 
                maxstorage, usedresource, maxresource, usertype, 
                state, user-privilege, accessdeny?, expiration, 
                creationdt, updatedt, comment, maxcreationuser , 
                ownername, ownerid, otheruser, availablegroup) > 
<!ELEMENT userid (#PCDATA) > ; ユーザID 
<!ELEMENT name (#PCDATA) > ; ユーザ名称 
<!ELEMENT password (#PCDATA) > ; パスワード 
<!ELEMENT mailaddr (#PCDATA) > ; メールアドレス 
<!ELEMENT usedstorage (#PCDATA) > ; 対象ユーザが使用中のDiskサイズ 
<!ELEMENT maxstorage (#PCDATA) > ; 対象ユーザの契約Diskサイズ 
<!ELEMENT usedresource (#PCDATA) > ; 対象ユーザが格納しているファイル数 
<!ELEMENT maxresource (#PCDATA) > ; 対象ユーザが格納可能なファイル数 
<!ELEMENT usertype (admin | normal | limited) > ; ユーザの種類 
<!ELEMENT admin EMPTY > ; 管理者ユーザ 
<!ELEMENT normal EMPTY > ; 一般ユーザ 
<!ELEMENT limited EMPTY > ; 制限ユーザ 
<!ELEMENT state(active | inactive) > 
<!ELEMENT active EMPTY > ; アクティブであることを示す 
<!ELEMENT inactive EMPTY > ; 非アクティブであることを示す 
<!ELEMENT user-privilege ((readwrite | upload | read), set-view? ) > 
<!ELEMENT readwrite EMPTY > ; 読み書き可能 
<!ELEMENT upload EMPTY > ; アップロード専用 
<!ELEMENT read EMPTY > ; 読み込み専用 
<!ELEMENT set-view EMPTY > ; 公開権限あり 
<!ELEMENT accessdeny (#PCDATA) > ; アクセスが禁止されたフォルダ名の一覧 
<!ELEMENT expiration (#PCDATA) > ; 有効期限、ISO8601形式 
<!ELEMENT creationdt (#PCDATA) > ; 作成日時、ISO8601形式 
<!ELEMENT updatedt (#PCDATA) > ; 更新日時、ISO8601形式 
<!ELEMENT comment (#PCDATA) > ; コメント 
<!ELEMENT maxusercreation (#PCDATA) > ; 管理できるユーザ数の上限 
<!ELEMENT ownername (#PCDATA) > ; 管理しているユーザのユーザ名 
<!ELEMENT ownerid (#PCDATA) > ; 管理しているユーザのユーザID 
<!ELEMENT otheruser EMPTY > ; 表示されたユーザが他ユーザかどうか 
<!ELEMENT availablegroup (group)+ > ; 所属グループの情報 
<!ELEMENT group (groupid, name) > ; 1つのグループ情報 
<!ELEMENT groupid (#PCDATA) > ; 対象グループを一意に識別する内部ID 
<!ELEMENT name (#PCDATA) > ; 対象グループの名称 

グループ情報の DTD

<!ELEMENT groupinformation (group)+ > 
<!ELEMENT group (groupid, name, creationdt, updatedt, comment, groupmailwatch, 
                 groupuri, constraints, ownername, ownerid, state, availableuser) 
<!ELEMENT groupid (#PCDATA) > ; 対象グループを一意に識別する内部ID 
<!ELEMENT name (#PCDATA) > ; 対象グループの名称 
<!ELEMENT creationdt (#PCDATA) > ; 作成日時、ISO8601形式 
<!ELEMENT updatedt (#PCDATA) > ; 更新日時、ISO8601形式 
<!ELEMENT comment (#PCDATA) > ; コメント 
<!ELEMENT groupmailwatch (triggermethod) > ; グループのメール監視状態 
<!ELEMENT triggermethod (#PCDATA) > ; 監視対象アクションの種類 
<!ELEMENT groupuri (#PCDATA) > ; グループフォルダの相対URI 
<!ELEMENT constraints (write?, operationlog?, showproperty?) > 
<!ELEMENT write EMPTY > ; 書き込み制約を示す 
<!ELEMENT operationlog EMPTY > ; 操作ログ制約を示す 
<!ELEMENT showproperty EMPTY > ; プロパティ表示制約を示す 
<!ELEMENT ownername (#PCDATA) > ; グループリーダのユーザ名 
<!ELEMENT ownerid (#PCDATA) > ; グループリーダのユーザID 
<!ELEMENT state (active | inactive) > 
<!ELEMENT active EMPTY > ; アクティブであることを示す 
<!ELEMENT inactive EMPTY > ; 非アクティブであることを示す 
<!ELEMENT availableuser (user)+ > ; 対象グループに所属するユーザの情報 
<!ELEMENT userid (#PCDATA) > ; 所属ユーザのユーザID 
<!ELEMENT name (#PCDATA) > ; 所属ユーザのユーザ名称 
<!ELEMENT mailaddr (#PCDATA) > ; 所属ユーザのメールアドレス 

変更履歴

項番 日付 変更章 内容
1 2006/08/21 初版
2 2006/11/29 第 6 章 エラーコード 54 の内容を変更
3 2006/11/29 第 6 章 エラーコード 54 を 70 へ変更
4 2006/11/29 第 6 章 エラーコード 55 を 80 へ変更
5 2006/11/29 第 6 章 エラーコード 56 を 81 へ変更
6 2006/06/21 第 4.5 章 強制削除フラグ-q を追加
7 2007/10/10 第 4.2 章 クライアント証明書を指定する-S を追加、他ユーザの管理ができるかどうかを示す-o を追加、グループ制約を無視できることを示す-t を追加、作成可能なユーザ数を示す-u を追加、ユーザ ID の変更を指示する2 を追加
8 2007/10/10 第 5.2 章 アクティブ状態を表す-a を追加 、強制削除フラグ-q を追加
9 2007/10/10 第 9 章 エラーコード 50,60 を追加
10 2007/10/10 第 11.4 章 user エ レ メ ン ト の 子 エ レ メ ン ト と し て maxcreationuser 、ownername、ownerid、otheruser を追加
11 2007/10/10 第 11.5 章 group エレメントの子エレメントとして constraints、state、ownername、ownerid、state を追加
12 2007/10/15 第 4.2 章 コマンドラインオプション –o –t –b にパラメータの on
13 2007/10/17 第 9 章 エラーコード「 72 」を追加
14 2007/10/23 第 9 章 エラーコード「 73 」を追加
15 2007/10/23 第 9 章 エラーコード「 74 」を追加
16 2007/11/15 pklist をマニュアル化しました
17 2007/11/19 第 8 章 pkget に1 フラグを追加しました。
18 2007/12/26 第 9 章 pkdel を追加しました。エラーコード 61 を追加しました。
19 2008/04/08 エラーコード「 23 」を追加しました。
20 2010/05/11 11章 エラーコード「999」を廃止しました。
21 2010/08/31 11章 エラーコード「1」の説明を訂正しました。
22 2011/02/21 11 章 エラーコード「 83 」を追加しました。
23 2011/10/08 10 章 pkdel の実行例3に-x フラグの記載漏れを修正しました
24 2015/05/21 第二章 インストールパッケージに RHEL6(CentOS6)を追加しました
25 2017/03/08 第二章 インストールパッケージに7, 8,10を追加しました。