Skip to main content

サーバ設定項目

設定項目一覧

hcpdデーモンの設定項目は以下の通りです。

システム動作環境設定・通信方式関連

説明項目名
プロトコルバージョン(2固定)ProtocolVersion
TCPサービス待機アドレスやポート番号などの設定TCPListenAddress
HpFPサービス待機アドレスやポート番号などの設定HPFPListenAddress
HpFPポート分離型サービス待機アドレスやポート番号などの設定(廃止予定)UDPListenAddress
WebSocket(SSL/TLS)サービス待機アドレスやポート番号などの設定WSSListenAddress
OpenSSLオプションの指定(WebSocket(SSL/TLS)通信時)WSSOptions
OpenSSLのCipher Suites オプション指定(WebSocket(SSL/TLS)通信時、TLS 1.3で使用)WSSCipherSuites
OpenSSLのCipher List オプション指定(WebSocket(SSL/TLS)通信時、TLS 1.2 以前で使用)WSSCipherList
WebSocket(平文通信)サービス待機アドレスやポート番号などの設定WSListenAddress
複数サービスのボンディング設定(多重接続時)ListenServiceBonding

通信データ圧縮機能

説明項目名
ヘッダブロックの圧縮設定(予約)HeaderCompress
コンテントブロックの圧縮設定(予約)ContentCompress

データフロー制御・帯域制御

説明項目名
受信帯域制限(システム全体)MaxTotalReceiveRate
送信帯域制限(システム全体)MaxTotalSendRate
受信帯域制限(セッション単位)MaxReceiveRate
送信帯域制限(セッション単位)MaxSendRate
受信帯域制限(接続単位)MaxConnectionReceiveRate
送信帯域制限(接続単位)MaxConnectionSendRate

データフロー制御・ファイルロック機能

説明項目名
ファイルロック使用設定FileLock
獲得試行回数の設定FileLockTrials
要求間隔(秒)の設定FileLockTrialInterval

データフロー制御・一時ファイル保存機能(アトミック(不可分)ファイル保存)

説明項目名
一時ファイルを経由する二段階保存の設定AtomicLikeSaving
実行するファイルサイズの閾値指定AtomicLikeSavingThreshold
一時ファイル上書き要求の拒否AtomicLikeSavingRejectOverwriteRequest

データフロー制御・データバッファ設定

説明項目名
バッファメモリ割当サイズ制限(システム全体)MaxTotalBufferSize
バッファメモリ割当サイズ制限(接続単位)MaxBufferSizePerConnection
送信バッファサイズ設定(TCP通信時)TCPServiceSocketSendBuffer
拡張バッファサイズ設定(HpFPサービス使用時)UDPServiceExtensionBufferSize

データフロー制御・転送ファイルサイズ制限

説明項目名
受信可能ファイルサイズの最大値設定MaxReceiveFileSize
送信可能ファイルサイズの最大値設定MaxSendFileSize

データフロー制御・通信メッセージサイズ制御

説明項目名
転送するヘッダブロックの初期サイズ設定InitHeaderBlockSize
転送するコンテントブロックの初期サイズ設定InitContentBlockSize
ヘッダブロックの拡張可能上限サイズ設定MaxHeaderBlockSize
コンテントブロックの拡張可能上限サイズ設定MaxContentBlockSize
一括で送信できるファイル要求数の最大値設定MaxRequestFileEntryAtOnce

データフロー制御・ディスクI/O速度制御

説明項目名
読み込み速度の上限設定(接続単位)MaxReadRate
書き込み速度の上限設定(接続単位)MaxWriteRate

コード変換・通信エンコードネゴシエーション

説明項目名
通信時に使用できる文字列エンコーディング方式の設定TransportCharEncoding

コード変換・ホスト文字エンコード対応

説明項目名
ホストで使用されている文字列エンコーディング方式の指定HostEncoding

認証

説明項目名
LPA(Local Password Authentication)認証設定LocalPasswordAuthentication
PAM(Pluggable Authenticaton Module)認証設定PAMAuthentication
公開鍵認証設定PubkeyAuthentication
Windows認証設定WinLogonUserAuthentication
認証最大試行回数設定MaxAuthTries
システム認証(PAM認証、Windows認証)実行制御PerformSystemAuthenticationRegardlessUsers
公開鍵探索ディレクトリの指定AuthorizedKeysSearchDir
公開鍵ファイルパスの指定AuthorizedKeysFile
公開鍵参照コマンドの指定AuthorizedKeysCommand
公開鍵参照コマンド実行ユーザの指定AuthorizedKeysCommandUser
CA(Certificate Authorities)証明書の保管先ファイルパス指定CACertificateFile
CA(Certificate Authorities)証明書の保管先ディレクトリ指定(予約)CACertificatePath
CRL(証明書失効リスト)の保管先ファイルパス指定CARevocationFile
CRL(証明書失効リスト)の保管先ディレクトリ指定(予約)CARevocationPath
OCSP(オンライン証明書失効検査)実施の設定(クライアント認証時)OCSPRevocationEnabled
ユーザ定義ファイルパス指定LocalUserFile
LPA(Local Password Authentication)認証のパスワード定義ファイルパス指定LocalPasswordFile
ログイン許可するユーザ名のパターン設定AllowUsers
ログイン許可するグループ名のパターン設定AllowGroups
ログイン拒否するユーザ名のパターン設定DenyUsers
ログイン拒否するグループ名のパターン設定DenyGroups

暗号

説明項目名
通信メッセージ暗号化に使用できる暗号方式の設定AcceptableCryptMethod
通信データ及びファイルの検証に使用するダイジェスト(ハッシュ)方式の設定AcceptableDigestMethod
MAC(Message Authentication Code)による通信メッセージ検査要求RequireDataIntegrityChecking

暗号化通信セキュリティネゴシエーション

説明項目名
サーバ証明書セキュリティ機能の設定UseServerCertificateSecurity
クライアントに対するサーバ証明書セキュリティ機能の要求設定RequireServerCertificateSecurity
サーバ証明書セキュリティ機能で使用するサーバ秘密鍵のファイルパス指定ServerKeyFile
サーバ証明書のファイルパス指定ServerCertificateFile
サーバ証明書の中間証明書指定(複数可)ServerCertificateChainFile

アクセス制御

説明項目名
ユーザ領域ディレクトリからの後退動作制御(後方互換オプション)UserDirectoryFallbackAvailable
ユーザホームディレクトリを発見できない場合のアクセス拒否設定RejectOnUserHomeDirectoryNotFound
Windowsサーバ アクセス制限解除WinLogonUserNoRestrictedAccess

アクセス制御・特権分離

説明項目名
特権分離の設定UsePrivilegeSeparation
セッション実行可能なUIDの最小値設定PrivilegeSeparationMinimumUID
セッション実行可能なGIDの最小値設定PrivilegeSeparationMinimumGID
デフォルトユーザ資格情報設定(ユーザ権限が特定されない場合に適用)PrivilegeSeparationUser
Umask値設定(ユーザ認証が行われて分離されたプロセスに適用)PrivilegeSeparationUmask
Umask値設定(ユーザ認証が行われずに分離されたプロセスに適用(匿名ユーザ))PrivilegeSeparationUmaskAnonymous
認証されたユーザの権限を転送先ファイルパーミッションへ適用(特権分離しない場合)ApplyUserPermission
補助グループ無効化NoSupplementalGroupInPrivilegeSeparation

アクセス制御・ACL(Access Control List)機能

説明項目名
ACL(Access Control List)の定義AccessList
ACL 許可アクセスの定義Allow
ACL 拒否アクセスの定義Deny

アクセス制御・アドミッション制御(入場制限)

説明項目名
接続数制限(全体)MaxTotalConnection
接続数制限(TCP通信時)MaxTcpConnection
接続数制限(UDP (HpFP)通信時)MaxUdpConnection
接続数制限(WebSocket通信時)MaxWsConnection
接続数制限(1ユーザあたり)MaxConnectionPerUser
接続数制限(1秒あたり)MaxConnectionPerSec

アクセス制御・ドキュメントポイント

説明項目名
ドキュメントポイントの定義DocPoint
ドキュメントポイントが指すディレクトリパスの指定DocPath
ドキュメントポイントでのユーザホーム隔離設定HomeIsolation
ドキュメントポイントでの読み込みアクセス設定PermitAccessRead
ドキュメントポイントでの書き込みアクセス設定PermitAccessWrite
ドキュメントポイントでの上書きアクセス設定PermitAccessOverwrite
ドキュメントポイントでの削除アクセス設定PermitAccessDelete
ドキュメントポイントでのランダム読み込みアクセス設定(予約)PermitAccessRandomRead
ドキュメントポイントでのランダム書き込みアクセス設定(予約)PermitAccessRandomWrite

各種監視機能・タイムアウト制御

説明項目名
トランスポートのタイムアウト時間設定TransportTimeout
アイドル状態のタイムアウト時間設定IdleTimeout

性能評価機能

説明項目名
ディスク測定ストレージ事前割当方式DiskBenchmarkPreAllocation
ディスク測定ストレージ事前割当サイズDiskBenchmarkPreAllocationSize
Direct I/Oディスク測定 アライメントサイズ指定DiskBenchmarkDirectAlignmentSize
非同期I/Oディスク測定 NO_WAIT(予約)DiskBenchmarkAsyncNoWait
非同期I/Oディスク測定 最大イベント数DiskBenchmarkAsyncMaxEvents
非同期I/Oディスク測定 最大結果イベント取得数DiskBenchmarkAsyncMaxGetEvents
非同期I/Oディスク測定非同期I/O 要求バッファプールサイズDiskBenchmarkAsyncRequestPoolSize
ディスク詳細測定時の使用ファイルサイズ指定DeepDiskBenchmarkFileSize
ディスク詳細測定時の空き領域サイズ指定DeepDiskBenchmarkFreeSpaceRequired
ディスク詳細測定時の使用ブロックサイズセット指定DeepDiskBenchmarkBlockSizes
メモリ転送並列設定(ローカルI/O抑制モード実行時)MemoryTransferConcurrency

ログ管理機能

説明項目名
syslogオプションの設定SyslogOption
syslogファシリティの設定SyslogFacility
システムログの設定SystemLog
システムログのログレベル設定SystemLogLevel
アプリケーション統計ログの取得と設定ApplicationStatLog
トランスポート統計ログの取得と設定TransportStatLog
システム統計ログの取得と設定SystemStatLog
ファイル操作ログの取得と設定FileOperationLog
各種統計ログをユーザ毎に記録(特権分離時)StatLogPerUserInPrivilegeSeparation
アプリ統計ログ セキュリティ関連の詳細情報出力設定ApplicationStatLogSecurityEx

システム動作環境設定・CPUスレッド制限

説明項目名
使用スレッド数の制限(Linux)MaxConcurrentThread

システム動作環境設定・アプリケーション連携機能

説明項目名
アプリ実行終了時の呼び出しスクリプト設定CallbackScript
アプリ実行終了時の呼び出しスクリプトをユーザホーム配下に限定CallbackScriptHomeIsolation
アプリ実行終了時の呼び出しスクリプトがシンボリックリンク時に除外CallbackScriptNoSymbolicLink

その他

説明項目名
宛先ディレクトリの獲得保証(後方互換オプション)EnsureDestinationInFileTransfer

システム動作環境設定・通信方式関連

TCPListenAddress

=========================================================================
対応OS : Linux.x86 / Windows
書式 : TCPListenAddress <tcp_service_addr>[:<tcp_service_port>[:<mcd>]][ <acl_name>]
-------------------------------------------------------------------------
tcp_service_addr
既定値 : なし
値の範囲 : IPアドレス
-------------------------------------------------------------------------
tcp_service_port
書式 : <decimal_number>
既定値 : 874
値の範囲 : decimal_numberは、1 - 65535の範囲
-------------------------------------------------------------------------
mcd
既定値 : 物理コア数 + 1, 論理コア数/2 + 1, 25 or 1
値の範囲 : 1 - 65535
-------------------------------------------------------------------------
acl_name
既定値 : なし
値の範囲 : 設定ファイル中に記述されたアクセスコントロールリストの名前
=========================================================================

クライアントからの接続を受け付けるTCPサービスを定義します。

tcp_service_addrは、TCPサービスのIPアドレスを指定します。

tcp_service_portは、同サービスのポート番号を指定します。

mcdは、オプショナルです。このサービスでクライアントに提供するセッションあたりの接続の数を指定します。1を指定した場合は、セッションは単一の接続で動作します。2以上を指定した場合は、接続の受付とセッションのネゴシエーションが完了した後に、指定された数から1を差し引いた数だけ追加で接続が行われ並列で通信を行います。 指定しない場合は、CPUの物理コア数、論理コア数及びライセンスから次の何れかの値に決まります。

  • 物理コア数 + 1 (物理コア数 \< 論理コア数 かつ 物理コア数 > 1の場合。但し、最大25)
  • 論理コア数/2 + 1 (物理コア数 = 論理コア数 かつ 論理コア数/2 > 1の場合。但し、最大25)
  • 1(物理コア数もしくは論理コア数/2が1の場合やライセンスに多重化機能が含まれない場合)

acl_nameは、オプショナルです。このTCPサービスに設定するアクセスコントロールリストを名前で指定します。このオプションを省略した場合、もしくは指定された名前がいずれのアクセスコントロールリストの名前と一致しない場合は、無名のアクセスコントロールリストがサービスに設定されます。

--
例:
TCPListenAddress 0.0.0.0:1874
--

HPFPListenAddress

=========================================================================
対応OS : Linux.x86 / Windows
書式 : HPFPListenAddress <hpfp_service_addr>[:<hpfp_service_port>[:<hpfp_sndbuf>[:<hpfp_rcvbuf>[:<hpfp_mss>[:<mcd>]]]]][ <acl_name>]
-------------------------------------------------------------------------
hpfp_service_addr
既定値 : なし
値の範囲 : IPアドレス値
-------------------------------------------------------------------------
hpfp_service_port
書式 : <decimal_number>
既定値 : 65520
値の範囲 : decimal_numberは、1 - 65535の範囲
-------------------------------------------------------------------------
hpfp_sndbuf
書式 : ( DEFAULT | D | <decimal_number>[[(T|G|M|K)]B] )
既定値 : 100MB
値の範囲 : バイト換算で符号なし倍長整数の範囲。 DはDEFAULTの略記。
-------------------------------------------------------------------------
hpfp_rcvbuf
書式 : ( DEFAULT | D | <decimal_number>[[(T|G|M|K)]B] )
既定値 : 200MB
値の範囲 : バイト換算で符号なし倍長整数の範囲。 DはDEFAULTの略記。
-------------------------------------------------------------------------
hpfp_mss
書式 : ( DEFAULT | D | NONE | N | <decimal_number>[[(T|G|M|K)]B] )
既定値 : NONE
値の範囲 : バイト換算で符号なし整数の範囲。DはDEFAULTの略記。NはNONEの略記。
-------------------------------------------------------------------------
mcd
既定値 : 物理コア数 + 1, 論理コア数/2 + 1, 25 or 1
値の範囲 : 1 - 65535
-------------------------------------------------------------------------
mcmp (Windows)
既定値 : no
値の範囲 : yes, no
-------------------------------------------------------------------------
acl_name
既定値 : なし
値の範囲 : 設定ファイル中に記述されたアクセスコントロールリストの名前
=========================================================================

クライアントからの接続を受け付けるHpFPサービスを定義します。

hpfp_service_addrは、HpFPサービスのIPアドレスを指定します。

hpfp_service_portは、オプショナルです。HpFPプロトコルで使用するUDPトランスポートのポート番号を指定します。

hpfp_sndbufは、オプショナルです。HpFPプロトコルで使用する送信バッファのサイズを指定します。Dを指定すると既定値を使用します。

hpfp_rcvbufは、オプショナルです。HpFPプロトコルで使用する受信バッファのサイズを指定します。Dを指定すると既定値を使用します。

hpfp_mssは、オプショナルです。HpFPプロトコルで使用するMSSを指定します。Dを指定すると既定値を使用します。Nを指定した場合、HpFPプロトコルによるMTU探索を行い値を決定します。

mcdは、オプショナルです。このサービスでクライアントに提供するセッションあたりの接続の数を指定します。1を指定した場合は、セッションは単一の接続で動作します。2以上を指定した場合は、接続の受付とセッションのネゴシエーションが完了した後に、指定された数から1を差し引いた数だけ追加で接続が行われ並列で通信を行います。 指定しない場合は、CPUの物理コア数、論理コア数及びライセンスから次の何れかの値に決まります。

  • 物理コア数 + 1 (物理コア数 \< 論理コア数 かつ 物理コア数 > 1の場合。但し、最大25)
  • 論理コア数/2 + 1 (物理コア数 = 論理コア数 かつ 論理コア数/2 > 1の場合。但し、最大25)
  • 1(物理コア数もしくは論理コア数/2が1の場合やライセンスに多重化機能が含まれない場合)

mcmpは、オプショナルです。Windowsサーバにおける多重化機能で複数ポートを使用するために指定します。yesを指定した場合は、HpFPプロトコルのポート番号に加えて接続数に応じて加算されたポート番号によるアクセスを行います(例:ポート番号が既定の65520で4接続を使用する場合、65520 - 65523の範囲のポート番号を使用します)。CPU負荷が高く多重化機能により期待ほど性能が発揮できない場合などに使用します。

acl_nameは、オプショナルです。このHpFPサービスに設定するアクセスコントロールリストを名前で指定します。このオプションを省略した場合、もしくは指定された名前がいずれのアクセスコントロールリストの名前と一致しない場合は、無名のアクセスコントロールリストがサービスに設定されます。

--
例:
HPFPListenAddress 0.0.0.0:10000
--

UDPListenAddress

=========================================================================
対応OS : Linux.x86 / Windows
書式 : UDPListenAddress <hpfp_service_addr>[:<hpfp_service_port>[:<hpfp_udp_port>[:<hpfp_sndbuf>[:<hpfp_rcvbuf>[:<hpfp_mss>[:<mcd>]]]]]][ <acl_name>]
-------------------------------------------------------------------------
hpfp_service_addr
既定値 : なし
値の範囲 : IPアドレス値
-------------------------------------------------------------------------
hpfp_service_port
書式 : <decimal_number>
既定値 : 884
値の範囲 : decimal_numberは、1 - 65535の範囲
-------------------------------------------------------------------------
hpfp_udp_port
書式 : ( DEFAULT | D | <decimal_number> )
既定値 : 65520
値の範囲 : decimal_numberは、1 - 65535の範囲。DはDEFAULTの略記。
-------------------------------------------------------------------------
hpfp_sndbuf
書式 : ( DEFAULT | D | <decimal_number>[[(T|G|M|K)]B] )
既定値 : 100MB
値の範囲 : バイト換算で符号なし倍長整数の範囲。 DはDEFAULTの略記。
-------------------------------------------------------------------------
hpfp_rcvbuf
書式 : ( DEFAULT | D | <decimal_number>[[(T|G|M|K)]B] )
既定値 : 200MB
値の範囲 : バイト換算で符号なし倍長整数の範囲。 DはDEFAULTの略記。
-------------------------------------------------------------------------
hpfp_mss
書式 : ( DEFAULT | D | NONE | N | <decimal_number>[[(T|G|M|K)]B] )
既定値 : NONE
値の範囲 : バイト換算で符号なし整数の範囲。DはDEFAULTの略記。NはNONEの略記。
-------------------------------------------------------------------------
mcd
既定値 : 物理コア数 + 1, 論理コア数/2 + 1, 25 or 1
値の範囲 : 1 - 65535
-------------------------------------------------------------------------
acl_name
既定値 : なし
値の範囲 : 設定ファイル中に記述されたアクセスコントロールリストの名前
=========================================================================

本設定項目は、廃止予定(deprecated)です。

クライアントからの接続を受け付けるHpFP(UDP)サービスを定義します。この設定項目は、サービスのポート番号とUDPトランスポート番号を分離する方式のHpFPサービスを定義する方法を提供します。

hpfp_service_addrは、HpFPサービスのIPアドレスを指定します。

hpfp_service_portはオプショナルです。サービスのポート番号を指定します。

hpfp_udp_portは、オプショナルです。HpFPプロトコルで使用するUDPトランスポートのポート番号を指定します。Dを指定すると既定値を使用します。

hpfp_sndbufは、オプショナルです。HpFPプロトコルで使用する送信バッファのサイズを指定します。Dを指定すると既定値を使用します。

hpfp_rcvbufは、オプショナルです。HpFPプロトコルで使用する受信バッファのサイズを指定します。Dを指定すると既定値を使用します。

hpfp_mssは、オプショナルです。HpFPプロトコルで使用するMSSを指定します。Dを指定すると既定値を使用します。 Nを指定した場合、HpFPプロトコルによるMTU探索を行い値を決定します。

mcdは、オプショナルです。このサービスでクライアントに提供するセッションあたりの接続の数を指定します。1を指定した場合は、セッションは単一の接続で動作します。2以上を指定した場合は、接続の受付とセッションのネゴシエーションが完了した後に、指定された数から1を差し引いた数だけ追加で接続が行われ並列で通信を行います。 指定しない場合は、CPUの物理コア数、論理コア数及びライセンスから次の何れかの値に決まります。

  • 物理コア数 + 1 (物理コア数 \< 論理コア数 かつ 物理コア数 > 1の場合。但し、最大25)
  • 論理コア数/2 + 1 (物理コア数 = 論理コア数 かつ 論理コア数/2 > 1の場合。但し、最大25)
  • 1(物理コア数もしくは論理コア数/2が1の場合やライセンスに多重化機能が含まれない場合)

acl_nameは、オプショナルです。このHpFP(UDP)サービスに設定するアクセスコントロールリストを名前で指定します。このオプションを省略した場合、もしくは指定された名前がいずれのアクセスコントロールリストの名前と一致しない場合は、無名のアクセスコントロールリストがサービスに設定されます。

--
例:
UDPListenAddress 0.0.0.0:1884:10000
--

WSSListenAddress

=========================================================================
対応OS : Linux.x86 / Windows
書式 : WSSListenAddress <wss_service_addr>[:<wss_service_port>[:<wss_opt_name>[:<wss_cs_name>[:<wss_clist_name>[:<wss_privkey_name>[:<wss_cert_name>[:<mcd>[:<use_hcpcm>]]]]]]]][ <acl_name>]
-------------------------------------------------------------------------
wss_service_addr
既定値 : なし
値の範囲 : IPアドレス値
-------------------------------------------------------------------------
wss_service_port
既定値 : 443
値の範囲 : ポート番号
-------------------------------------------------------------------------
wss_opt_name
書式 : ( DEFAULT | D | <opt_name> )
既定値 : 空文字列
値の範囲 : WSSOptionsの名前。DはDEFAULTの略記
-------------------------------------------------------------------------
wss_cs_name
書式 : ( DEFAULT | D | <cipher_suites_name> )
既定値 : 空文字列
値の範囲 : WSSCipherSuitesの名前。DはDEFAULTの略記
-------------------------------------------------------------------------
wss_clist_name
書式 : ( DEFAULT | D | <cipher_list_name> )
既定値 : 空文字列
値の範囲 : WSSCipherLlistの名前。DはDEFAULTの略記
-------------------------------------------------------------------------
wss_privkey_name
書式 : ( DEFAULT | D | <server_key_file_name> )
既定値 : 空文字列
値の範囲 : ServerKeyFileの名前
-------------------------------------------------------------------------
wss_cert_name
書式 : ( DEFAULT | D | <server_cert_file_name> )
既定値 : 空文字列
値の範囲 : ServerCertificateFileの名前
-------------------------------------------------------------------------
mcd
既定値 : 物理コア数 + 1, 論理コア数/2 + 1, 25 or 1
値の範囲 : 1 - 65535
-------------------------------------------------------------------------
use_hcpcm
既定値 : no
値の範囲 : yes, no
-------------------------------------------------------------------------
acl_name
既定値 : なし
値の範囲 : 設定ファイル中に記述されたアクセスコントロールリストの名前
=========================================================================

クライアントからの接続を受け付けるWebSocketサービス(SSL/TLS)を定義します。

wss_service_addrは、WebSocetサービス(SSL/TLS)のIPアドレスを指定します。

wss_service_portは、オプショナルです。同サービスのポート番号を指定します。省略した場合は443が使用されます。

wss_opt_nameは、オプショナルです。WSSOptionsの名前を指定します。Dを指定すると既定値を使用します。名前が指定されない場合(空文字列)は、無名のWSSOptionsが使用されます。

wss_cs_nameは、オプショナルです。WSSCipherSuitesの名前を指定します。Dを指定すると既定値を使用します。名前が指定されない場合(空文字列)は、無名のWSSCipherSuitesが使用されます。

wss_clist_nameは、オプショナルです。WSSCipherListの名前を指定します。Dを指定すると既定値を使用します。名前が指定されない場合(空文字列)は、無名のWSSCipherListが使用されます。

wss_privkey_nameは、オプショナルです。SSL/TLS通信で使用するサーバ鍵(秘密鍵)を設定したServerKeyFileの名前を指定します。Dを指定すると既定値を使用します。名前が指定されない場合は、無名のServerKeyFileが使用されます。

wss_cert_nameは、オプショナルです。SSL/TLS通信で使用するサーバ証明書を設定したServerCertificateFileの名前を指定します。Dを指定すると既定値を使用します。名前が指定されない場合は、無名のServerCertificateFileが使用されます。

mcdは、オプショナルです。このサービスでクライアントに提供するセッションあたりの接続の数を指定します。1を指定した場合は、セッションは単一の接続で動作します。2以上を指定した場合は、接続の受付とセッションのネゴシエーションが完了した後に、指定された数から1を差し引いた数だけ追加で接続が行われ並列で通信を行います。 指定しない場合は、CPUの物理コア数、論理コア数及びライセンスから次の何れかの値に決まります。

  • 物理コア数 + 1 (物理コア数 \< 論理コア数 かつ 物理コア数 > 1の場合。但し、最大25)
  • 論理コア数/2 + 1 (物理コア数 = 論理コア数 かつ 論理コア数/2 > 1の場合。但し、最大25)
  • 1(物理コア数もしくは論理コア数/2が1の場合やライセンスに多重化機能が含まれない場合)

use_hcpcmは、オプショナルです。SSL/TLS通信をする際にアプリケーションで処理する暗号化処理(AcceptableCryptMethod)を適用するか設定します。Dを指定すると既定値を使用します。

acl_nameは、オプショナルです。このWebSocketサービス(SSL/TLS)に設定するアクセスコントロールリストを名前で指定します。このオプションを省略した場合、もしくは指定された名前がいずれのアクセスコントロールリストの名前と一致しない場合は、無名のアクセスコントロールリストがサービスに設定されます。

--
例:
WSSListenAddress 0.0.0.0:8443
--

WSSOptions

=========================================================================
対応OS : Linux.x86 / Windows
書式 : WSSOptions <opt_value>[ <opt_name>]
-------------------------------------------------------------------------
opt_value
書式 : ( NONE | <openssl_opt_values> )
既定値 : NONE
値の範囲 : OpenSSLで規定されるSSL/TLSオプション名のリスト
-------------------------------------------------------------------------
opt_name
既定値 : なし
値の範囲 : 文字列
=========================================================================

SSL/TLS通信を実行する際に設定するOpenSSLオプションを指定します。指定するオプションの名前は下記URLに規定される名前を使用します。

https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html
SSL_CTX_set_options

--
例:
WSSOptions SSL_OP_NO_COMPRESSION:SSL_OP_NO_SSLv3
--

WSSCipherSuites

=========================================================================
対応OS : Linux.x86 / Windows
書式 : WSSCipherSuites <cs_value>[ <cs_name>]
-------------------------------------------------------------------------
cs_value
書式 : ( NONE | <openssl_cipher_suite_values> )
既定値 : NONE
値の範囲 : OpenSSLで規定されるCipher Suitesパラメータのリスト
-------------------------------------------------------------------------
cs_name
既定値 : なし
値の範囲 : 文字列
=========================================================================

SSL/TLS通信を実行する際に設定するOpenSSLのCipher Suitesオプションを指定します(TLS 1.3で使用されます)。指定するオプションの名前は下記URLに規定される名前を使用します。

https://www.openssl.org/docs/man1.1.1/man1/ciphers.html
ciphers

"TLS v1.3 cipher suites"で定められた暗号スイート(Cipher Suite)名。

--
例:
WSSCipherSuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
--

WSSCipherList

=========================================================================
対応OS : Linux.x86 / Windows
書式 : WSSCipherList <clist_value>[ <clist_name>]
-------------------------------------------------------------------------
clist_value
書式 : ( NONE | <openssl_cipher_list> )
既定値 : NONE
値の範囲 : OpenSSLで規定されるCipher Listパラメータ
-------------------------------------------------------------------------
clist_name
既定値 : なし
値の範囲 : 文字列
=========================================================================

SSL/TLS通信を実行する際に設定するOpenSSLのCipher Listオプションを指定します(TLS 1.2もしくはそれ以前で使用されます)。指定するオプションの名前は下記URLに規定される名前を使用します。

https://www.openssl.org/docs/man1.1.1/man1/ciphers.html
ciphers

"CIPHER LIST FORMAT"及び"CIPHER STRINGS"で定められた書式の暗号リスト(Cipher List)。

--
例:
WSSCipherList RC4-MD5:RC4-SHA:AES128-SHA:AES256-SHA:HIGH:!DSS:!aNULL
--

WSListenAddress

=========================================================================
対応OS : Linux.x86 / Windows
書式 : WSListenAddress <ws_service_addr>[:<ws_service_port>[:<mcd>]][ <acl_name>]
-------------------------------------------------------------------------
ws_service_addr
既定値 : なし
値の範囲 : IPアドレス
-------------------------------------------------------------------------
ws_service_port
既定値 : 80
値の範囲 : 1 - 65535
-------------------------------------------------------------------------
mcd
既定値 : 物理コア数 + 1, 論理コア数/2 + 1, 25 or 1
値の範囲 : 1 - 65535
-------------------------------------------------------------------------
acl_name
既定値 : なし
値の範囲 : 設定ファイル中に記述されたアクセスコントロールリストの名前
=========================================================================

クライアントからの接続を受け付けるWebSocketサービス(平文通信)を定義します。

ws_service_addrは、WebSocketサービスのIPアドレスを指定します。

ws_service_portは、同サービスのポート番号を指定します。

mcdは、オプショナルです。このサービスでクライアントに提供するセッションあたりの接続の数を指定します。1を指定した場合は、セッションは単一の接続で動作します。2以上を指定した場合は、接続の受付とセッションのネゴシエーションが完了した後に、指定された数から1を差し引いた数だけ追加で接続が行われ並列で通信を行います。指定しない場合は、CPUの物理コア数、論理コア数及びライセンスから次の何れかの値に決まります。

  • 物理コア数 + 1 (物理コア数 \< 論理コア数 かつ 物理コア数 > 1の場合。但し、最大25)
  • 論理コア数/2 + 1 (物理コア数 = 論理コア数 かつ 論理コア数/2 > 1の場合。但し、最大25)
  • 1(物理コア数もしくは論理コア数/2が1の場合やライセンスに多重化機能が含まれない場合)

acl_nameは、オプショナルです。このWebSocketサービス(平文通信)に設定するアクセスコントロールリストを名前で指定します。このオプションを省略した場合、もしくは指定された名前がいずれのアクセスコントロールリストの名前と一致しない場合は、無名のアクセスコントロールリストがサービスに設定されます。

--
例:
WSListenAddress 0.0.0.0:8080
--

ListenServiceBonding

=========================================================================
対応OS : Linux / Windows
書式 : ListenServiceBonding <service_name>[ ... <service_name>]
-------------------------------------------------------------------------
service_name
既定値 : なし
値の範囲 : 設定したTCPListenAddressもしくはUDPListenAddressの名前
=========================================================================

セッションの多重接続機能において複数のサービスを結束(ボンディング)する設定を行います。結束したいサービス名を一つ以上指定します。サービス名は、-tオプションで確認します。

セッションでTCP及びHpFPをハイブリッドで使用する場合などに利用します。

本オプションは、設定ファイル中に一つのみ記述可能です。

クライアントからの接続は通常通りサーバのホスト名とポート番号(TCPもしくはHpFPのいずれかのポート番号)を指定して行います。セッション確立後は、指定されたサービスで利用可能な接続数の合計から1を差し引いた数だけ追加で接続が行われます。

--
例:
ListenServiceBonding tcp1 udp1
--

通信データ圧縮機能

HeaderCompress (予約)

ContentCompress (予約)

データフロー制御・帯域制御

MaxTotalReceiveRate

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxTotalReceiveRate <bandwidth>
-------------------------------------------------------------------------
bandwidth
既定値 : 100Gbit
値の範囲 : 符号なし倍長整数
=========================================================================

システム全体(プロセス単位)でトランスポート受信帯域のシェーピング(制限)を設定します。アプリケーション層で制限が掛かります(トランスポート層の通信バッファや伝送制御などの状態は反映されません)。

--
例:
MaxTotalReceiveRate 1Gbit
--

本機能は、TCP/HpFP(UDP)/WebSocket層とアプリケーション層の間で帯域制限を行います。指定値が10Gbpsを超える場合は、無制限(シェーピングなし)に設定されます(他の帯域シェーピングオプションも同様)。

MaxTotalSendRate

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxTotalSendRate <bandwidth>
-------------------------------------------------------------------------
bandwidth
既定値 : 100Gbit
値の範囲 : 符号なし倍長整数
=========================================================================

システム全体(プロセス単位)でトランスポート送信帯域のシェーピング(制限)を設定します。アプリケーション層で制限が掛かります(トランスポート層の通信バッファや伝送制御などの状態は反映されません)。

--
例:
MaxTotalSendRate 1Gbit
--

MaxReceiveRate

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxReceiveRate <bandwidth>
-------------------------------------------------------------------------
bandwidth
既定値 : 100Gbit
値の範囲 : 符号なし倍長整数
=========================================================================

セッション単位でトランスポート受信帯域のシェーピング(制限)を設定します。

--
例:
MaxReceiveRate 100Mbit
--

MaxSendRate

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxSendRate <bandwidth>
-------------------------------------------------------------------------
bandwidth
既定値 : 100Gbit
値の範囲 : 符号なし倍長整数
=========================================================================

セッション単位でトランスポート送信帯域のシェーピング(制限)を設定します。

--
例:
MaxSendRate 100Mbit
--

MaxConnectionReceiveRate

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxConnectionReceiveRate <bandwidth>
-------------------------------------------------------------------------
bandwidth
既定値 : 100Gbit
値の範囲 : 符号なし倍長整数
=========================================================================

接続単位でトランスポート受信帯域のシェーピング(制限)を設定します。

--
例:
MaxConnectionReceiveRate 100Mbit
--

旧名MaxReceiveRatePerConnectionも使用可能です。

MaxConnectionSendRate

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxConnectionSendRate <bandwidth>
-------------------------------------------------------------------------
bandwidth
既定値 : 100Gbit
値の範囲 : 符号なし倍長整数
=========================================================================

接続単位でトランスポート送信帯域のシェーピング(制限)を設定します。

--
例:
MaxConnectionSendRate 100Mbit
--

旧名MaxSendRatePerConnectionも使用可能です。

データフロー制御・ファイルロック機能

FileLock

=========================================================================
対応OS : Linux.x86 / Windows
書式 : FileLock <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ファイルの読み書きにファイルロックを使用するか設定します。

yesを設定した場合、ファイルロックを獲得してからファイルの読み書きを行います。Linuxプラットフォームではアドバイザリロックを使用するため、本ソフトウェア間もしくは同じロック機構を使用するソフトウェアの間で有効に働きます。

noに設定した場合は、ファイルのロックを獲得せずにファイルデータの読み書きを実行します。 NFSなどのネットワークファイルシステムでハングアップが発生する場合やロック獲得時にエラーが発生する場合は、noに設定します。noで使用する場合は、hcpコマンドで指定する宛先の重複にご注意ください。

ロック要求の処理は適切に動作していて、単にロックの獲得を待機している場合は、次の様なログが記録されるか(FileLockTrialsが0)、

2018/07/05 16:34:10 00007f638bd97740:INFO :Acquiring a lock to the file was rejected at the first trial.
2018/07/05 16:34:13 00007f638bd97740:INFO :Acquiring a lock to the file continues to be rejected about few seconds.

試行回数の上限に達したことを検出して処理を中断します(FileLockTrialsが0以上)。

--
例:
FileLock yes
--

FileLockTrials

=========================================================================
対応OS : Linux.x86 / Windows
書式 : FileLockTrials <num-trials>
-------------------------------------------------------------------------
num-trials
既定値 : 0
値の範囲 : 符号なし整数
=========================================================================

ファイルロックの獲得を試行する回数を設定します。0を指定するとロックを獲得するまで待機(ブロック)します。

--
例:
FileLockTrials 5
--

旧名FileLockRetriesも使用可能です。

FileLockTrialInterval

=========================================================================
対応OS : Linux.x86 / Windows
書式 : FileLockTrialInterval <trial-interval>
-------------------------------------------------------------------------
trial-interval
既定値 : 3
値の範囲 : 符号なし整数
=========================================================================

ファイルロックの要求間隔を設定します(秒単位)。

--
例:
FileLockTrialInterval 10
--

旧名FileLockRetryIntervalも使用可能です。

データフロー制御・一時ファイル保存機能(アトミック(不可分)ファイル保存)

AtomicLikeSaving

=========================================================================
対応OS : Linux.x86 / Windows
書式 : AtomicLikeSaving <flag-available> <temp-file-suffix>[ <temp-file-prefix>]
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
-------------------------------------------------------------------------
temp-file-suffix
既定値 : .tmp
値の範囲 : 16文字までの文字列, NONE, RANDn
-------------------------------------------------------------------------
temp-file-prefix
既定値 : NONE
値の範囲 : 16文字までの文字列, NONE, RANDn
=========================================================================

ファイル転送時のファイル書き込みで行われるアトミックライクな保存(一時ファイルを経由する二段階保存)の設定を行います。

flag-availableは、この設定を有効にするか指定します。

temp-file-suffixは、生成される一時ファイルの接尾辞(サフィックス)を指定します。"NONE"を指定した場合は、接尾辞を付加しません。"RANDn"を指定した場合は、n文字の乱数生成された文字列を付加します。文字数を指定しない場合は6文字の文字列を生成します。

temp-file-prefixは、生成される一時ファイルの接頭辞(プレフィックス)を指定します。"NONE"を指定した場合は、接頭辞を付加しません。"RANDn"を指定した場合は、n文字の乱数生成された文字列を付加します。文字数を指定しない場合は6文字の文字列を生成します。

Linux版では一時ファイルを生成する際に、最終的な書込み先に書込みを行う権限があるか検査されます。

また、再開機能(-rオプション)を使用する場合、途中まで転送していたファイルは先頭から再度転送しなおします。

接頭辞及び接尾辞の文字列を乱数生成する場合は、既存のファイルと名前が重複しない文字列が使用されます。

AtomicLikeSavingThreshold

=========================================================================
対応OS : Linux.x86 / Windows
書式 : AtomicLikeSavingThreshold <threshold>
-------------------------------------------------------------------------
threshold
既定値 : 100KB
値の範囲 : 符号付倍長整数
=========================================================================

アトミックライクな保存を適用するファイルの閾値をサイズで指定します。

指定したサイズ未満のファイルにはこの保存方法は適用されません。0バイトを指定した場合は、全てのファイルに適用されます。

AtomicLikeSavingRejectOverwriteRequest

=========================================================================
対応OS : Linux.x86 / Windows
書式 : AtomicLikeSavingRejectOverwriteRequest <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

アトミックライクな保存において生成される一時ファイルを上書きする要求(クライアントのコマンドで指定します)を拒否するかどうか設定します。

アプリケーションのファイル名の規則と接尾辞や接頭辞の構成により一時ファイルとの衝突の恐れがない場合などに、noに変更しクライアントからの上書き要求を許可するように設定します。

データフロー制御・データバッファ設定

MaxTotalBufferSize

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxTotalBufferSize <max-total-buf-size>
-------------------------------------------------------------------------
max-total-buf-size
既定値 : 4GB
値の範囲 : 符号付き倍長整数
=========================================================================

ファイルのデータ処理に使用できる最大のメモリバッファサイズを設定します。

--
例:
MaxTotalBufferSize 8GB
--

MaxBufferSizePerConnection

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxBufferSizePerConnection <max-buf-size-per-con>
-------------------------------------------------------------------------
max-buf-size-per-con
既定値 : 100MB
値の範囲 : 符号なし倍長整数
=========================================================================

クライアントセッション毎のファイルのデータ処理に使用できる最大のメモリバッファサイズを設定します。

--
例:
MaxBufferSizePerConnection 512MB
--

TCPServiceSocketSendBuffer

=========================================================================
対応OS : Linux.x86 / Windows
書式 : TCPServiceSocketSendBuffer <snd-buf-size>
-------------------------------------------------------------------------
snd-buf-size
書式 : <decimal_number>[[(T|G|M|K)]B]
既定値 : 0
値の範囲 : 符号なし倍長整数 (バイト単位)
=========================================================================

TCP通信で指定する送信バッファのサイズ(バイト単位)を設定します。0を指定すると未指定となります。

100G環境などでTCP通信性能のチューニングが必要な場合などに使用します。通常は変更する必要はありません。

--
例:
TCPServiceSocketSendBuffer 128MB
--

UDPServiceExtensionBufferSize

=========================================================================
対応OS : Linux.x86 / Windows
書式 : UDPServiceExtensionBufferSize <ext-buf-size>
-------------------------------------------------------------------------
ext-buf-size
既定値 : 2GB
値の範囲 : 符号なし倍長整数 (バイト単位)
=========================================================================

HpFP(UDP)サービスで使用する拡張バッファのサイズを指定します。

HpFPセッションでは、遅延やロス及び通信量の増加などに伴い通信用のバッファを指定されたサイズ(UDPListenAddressのhpfp_sndbuf及びhpfp_rcvbuf)に拡張します。この拡張するバッファの合計容量を指定された値で制限します。

0を指定した場合は、この制限を行いません。

また、バッファの初期サイズ(拡張される前のバッファのサイズ)は1MBです。

--
例:
UDPServiceExtensionBufferSize 4GB
--

データフロー制御・転送ファイルサイズ制限

MaxReceiveFileSize

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxReceiveFileSize <file-size>
-------------------------------------------------------------------------
file-size
既定値 : 8EB - 1B (符号付倍長整数最大値。制限なし)
値の範囲 : 符号付き倍長整数
=========================================================================

受信を許可する最大のファイルサイズを設定します。

--
例:
MaxReceiveFileSize 1GB
--

MaxSendFileSize

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxSendFileSize <file-size>
-------------------------------------------------------------------------
file-size
既定値 : 8EB - 1B (符号付倍長整数最大値。制限なし)
値の範囲 : 符号付き倍長整数
=========================================================================

送信を許可する最大のファイルサイズを設定します。

--
例:
MaxSendFileSize 1GB
--

データフロー制御・通信メッセージサイズ制御

InitHeaderBlockSize

=========================================================================
対応OS : Linux.x86 / Windows
書式 : InitHeaderBlockSize <block-size>
-------------------------------------------------------------------------
block-size
既定値 : 50KB
値の範囲 : 符号なし倍長整数
=========================================================================

Archaea toolsは、通信を開始すると消費帯域を評価して形成可能なヘッダブロックのサイズを増減させます。ヘッダブロックは、転送するデータのうち、ファイル要求などのメッセージを複数含むヘッダ部分です。本オプションは、通信開始直後に適用するヘッダブロックの初期サイズを設定します。

--
例:
InitHeaderBlockSize 10KB
--

InitContentBlockSize

=========================================================================
対応OS : Linux.x86 / Windows
書式 : InitContentBlockSize <block-size>
-------------------------------------------------------------------------
block-size
既定値 : 1MB
値の範囲 : 符号なし倍長整数
=========================================================================

Archaea toolsは、通信を開始すると消費帯域を評価して形成可能なコンテントブロックのサイズを増減させます。コンテントブロックは、転送するデータのうち、ファイルのデータを複数含む部分です。本オプションは、通信開始直後に適用するコンテントブロックの初期サイズを設定します。

10Gbpsを超える環境などで通信性能が頭打ちになった場合などに、MaxContentBlockSizeと併せて変更すると性能が改善する場合があります。

--
例:
InitContentBlockSize 2MB
--

MaxHeaderBlockSize

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxHeaderBlockSize <block-size>
-------------------------------------------------------------------------
block-size
既定値 : 50KB
値の範囲 : 符号なし倍長整数
=========================================================================

Archaea toolsは、通信を開始すると消費帯域を評価して形成可能なヘッダブロックのサイズを増減させます。本オプションは、ヘッダブロックのサイズを増加できる上限値を設定します。

--
例:
MaxHeaderBlockSize 100KB
--

MaxContentBlockSize

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxContentBlockSize <block-size>
-------------------------------------------------------------------------
block-size
既定値 : 1MB
値の範囲 : 符号なし倍長整数
=========================================================================

Archaea toolsは、通信を開始すると消費帯域を評価して形成可能なコンテントブロックのサイズを増減させます。本オプションは、コンテントブロックのサイズを増加できる上限値を設定します。

10Gbpsを超える環境などで通信性能が頭打ちになった場合などに、InitContentBlockSizeと併せて変更すると性能が改善する場合があります。

--
例:
MaxContentBlockSize 4MB
--

MaxRequestFileEntryAtOnce

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxRequestFileEntryAtOnce <max-file-req-at-once>
-------------------------------------------------------------------------
max-file-req-at-once
既定値 : 50
値の範囲 : 符号付き整数
=========================================================================

ファイル要求の一括送信を許可する最大の数を設定します。

--
例:
MaxRequestFileEntryAtOnce 1000
--

データフロー制御・ディスクI/O速度制御

MaxReadRate

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxReadRate <read-rate>
-------------------------------------------------------------------------
read-rate
既定値 : 10Ebit (無制限)
値の範囲 : 符号なし倍長整数(10Ebitまで)
=========================================================================

ファイル転送時にディスクからファイルを読み込む速度の上限を設定します。この設定はファイル転送のセッション毎に適用されます。bps単位で符号付倍長整数の最大値もしくはそれを超える値が指定された場合は無制限と設定されます。

SSDなどを使用する際に長時間の読み書きを高レートで行うとオーバーヒートを起こすことがあり(特に書き込み側)、それを抑制する場合などにこの設定を使用します。

--
例:
MaxReadRate 10Gbit
--

旧名MaxReadRatePerConnectionも使用可能です。

MaxWriteRate

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxWriteRate <write-rate>
-------------------------------------------------------------------------
write-rate
既定値 : 10Ebit (無制限)
値の範囲 : 符号なし倍長整数(10Ebitまで)
=========================================================================

ファイル転送時にディスクへファイルを書き込む速度の上限を設定します。この設定はファイル転送のセッション毎に適用されます。bps単位で符号付倍長整数の最大値もしくはそれを超える値が指定された場合は無制限と設定されます。

SSDなどを使用する際に長時間の読み書きを高レートで行うとオーバーヒートを起こすことがあり(特に書き込み側)、それを抑制する場合などにこの設定を使用します。

--
例:
MaxWriteRate 10Gbit
--

旧名MaxWriteRatePerConnectionも使用可能です。

コード変換・通信エンコードネゴシエーション

TransportCharEncoding

=========================================================================
対応OS : Linux.x86 / Windows
書式 : TransportCharEncoding <encodings>
-------------------------------------------------------------------------
encodings
書式 : <encoding>[ ...]
既定値 : UTF8
-------------------------------------------------------------------------
encoding
値の範囲 : US-ASCII, UTF8, UTF16, UTF32
=========================================================================

トランスポートで使用する文字列のエンコーディング方式を指定します。

--
例:
TransportCharEncoding UTF8 UTF16 US-ASCII
--

クライアントとの間で交換するファイルパスなどの文字列に適用されます。どのエンコーディングが使用されるかは、クライアントの設定と併せて評価し、一致したエンコーディングを使用します。

コード変換・ホスト文字エンコード対応

HostEncoding

=========================================================================
対応OS : Linux.x86 / Windows
書式 : HostEncoding <encoding>
-------------------------------------------------------------------------
encoding
既定値 :
UTF-8 (Linux)
CP932 (Windows)
値の範囲 : システムかつエンコーディング変換ライブラリでサポートされるエンコーディング名(プラットホーム依存)
=========================================================================

ホストで使用されている文字列エンコーディングを指定します。

--
例:
HostEncoding EUC-JP
--

ファイルパスなどをソフトウェアの内部文字列表現へ変換する際に使用されます。

認証

LocalPasswordAuthentication

=========================================================================
対応OS : Linux.x86 / Windows
書式 : LocalPasswordAuthentication <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

LPA(Local Password Authentication)認証を設定します。yesを指定するとLPA認証を有効にします。本認証方式を含め、一つでも認証を有効にした場合、クライアントからアクセスするには認証が必要になります(匿名アクセス禁止)。

--
例:
LocalPasswordAuthentication yes
--

PAMAuthentication

=========================================================================
対応OS : Linux.x86
書式 : PAMAuthentication <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

PAM(Pluggable Authenticaton Module)認証を設定します。yesを指定するとPAM認証を有効にします。

--
例:
PAMAuthentication no
--

PAM認証は、Linuxプラットホーム向けのRPMパッケージで配布されるソフトウェアで有効です。

PAM認証は、システムの構成に依存します。サービスが動作するオペレーティングシステムの環境にあわせて、次の様なPAM設定ファイルを適切に構成します。

/etc/pam.d/hcpd

PubkeyAuthentication

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PubkeyAuthentication <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes (Linux.x86), no (Windows)
値の範囲 : yes, no
=========================================================================

公開鍵認証を設定します。yesを指定すると公開鍵認証を有効にします。

--
例:
PubkeyAuthentication no
--

WinLogonUserAuthentication

=========================================================================
対応OS : Windows
書式 : WinLogonUserAuthentication <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

Windows認証を設定します。yesを指定するとWindows認証を有効にします。

--
例:
WinLogonUserAuthentication no
--

Windows認証は、Windowsプラットホーム向けに配布されるソフトウェアで有効です。

Windows認証は、システム標準のAPIの認証機能へ入力されたユーザID(ドメイン名を含む)とパスワードをそのまま引き渡して行われます。

MaxAuthTries

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxAuthTries <max-tries>
-------------------------------------------------------------------------
max-tries
既定値 : 6
値の範囲 : 符号あり整数値
=========================================================================

ユーザからの接続時に認証処理を最大何回まで実施するかを指定します。この上限回数までに認証が成功しなかった場合は、サーバはクライアントへ認証の失敗を応答します。

0を指定した場合は、認証を行わずに即座に認証の失敗を応答します。公開鍵認証で秘密鍵の復号に失敗するなどして、認証要求がサーバへ送信されなかった場合はカウントされません。

--
例:
MaxAuthTries 3
--

PerformSystemAuthenticationRegardlessUsers

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PerformSystemAuthenticationRegardlessUsers <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

システムの認証(PAM認証、Windows認証)をユーザ定義ファイル(/etc/hcp/users)の指定に関わらず実行するか設定します。

--
例:
PerformSystemAuthenticationRegardlessUsers yes
--

AuthorizedKeysSearchDir

=========================================================================
対応OS : Linux.x86 / Windows
書式 : AuthorizedKeysSearchDir <search-dir>
-------------------------------------------------------------------------
search-dir
既定値 : NONE
値の範囲 : ファイルシステムのパス文字列 もしくは NONE
=========================================================================

公開鍵認証の際にユーザの公開鍵を特定するために探索するディレクトリを指定します。この探索を行わないようにする場合は、NONEを指定します。

--
例:
AuthorizedKeysSearchDir /etc/hcp/authkeys
--

指定されたディレクトリで次の様なファイル名を公開鍵が保管されたファイルと見做して探索します。

<ユーザ名>.pub

Linux版では、ファイルパーミッションのグループ(Group)とその他(Other)に書き込み権が設定されている場合は、警告を記録してそのファイルはスキップされます。

旧名AuthorizedKeySearchDirも使用可能です。

AuthorizedKeysFile

=========================================================================
対応OS : Linux.x86 / Windows
書式 : AuthorizedKeysFile <file-path>
-------------------------------------------------------------------------
file-path
既定値 :
(Linux.x86)
~/.ssh/authorized_keys
~/.hcp/authorized_keys
(Windows)
~/_hcp/authorized_keys
値の範囲 : ユーザディレクトリを表すパス表記(~、チルダ)を含むファイルパス もしくは NONE
=========================================================================

公開鍵認証の際にユーザの公開鍵を特定するために探索するユーザホームディレクトリ内の鍵保管ファイルを指定します。この探索を行わないようにする場合は、NONEを指定します。

Linux版では、ファイルパーミッションのグループ(Group)とその他(Other)に書き込み権が設定されている場合は、警告を記録してそのファイルはスキップされます。

sshd_configでサポートされているTOKENSについては、%%, %h, %U, %uに対応しています。

https://man7.org/linux/man-pages/man5/sshd_config.5.html
TOKENS - AuthorizedKeysFile

複数設定する場合は、スペース区切りで複数指定するか、設定項目を複数記述します。

//スペース区切り
AuthorizedKeysFile ~/.ssh/my_authorized_keys2 ~/.hcp/my_authorized_keys2

//設定項目を複数記述
AuthorizedKeysFile ~/.ssh/my_authorized_keys3
AuthorizedKeysFile ~/.hcp/my_authorized_keys3

旧名AuthorizedKeyFileも使用可能です。

AuthorizedKeysCommand

=========================================================================
対応OS : Linux.x86
書式 : AuthorizedKeysCommand <cmd-path>
-------------------------------------------------------------------------
cmd-path
既定値 : なし
値の範囲 : ユーザの公開鍵を参照するためのコマンド(またはスクリプト)のパス
=========================================================================

公開鍵認証の際にユーザの公開鍵を特定するために呼び出すコマンド(またはスクリプト)のパスを指定します。指定したコマンドには引数としてユーザ名が渡されます。また、本設定を有効にした場合は、AuthorizedKeysCommandUserの設定が必要となります。

--
例:
AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
--

sshd_configでサポートされているTOKENSについては、%%, %h, %U, %uに対応しています。

https://man7.org/linux/man-pages/man5/sshd_config.5.html
TOKENS - AuthorizedKeysCommand

AuthorizedKeysCommandUser

=========================================================================
対応OS : Linux.x86
書式 : AuthorizedKeysCommandUser <username>
-------------------------------------------------------------------------
username
既定値 : なし
値の範囲 : ユーザの公開鍵を参照するためのコマンドを実行するユーザ名
=========================================================================

AuthorizedKeysCommandで指定された公開鍵を参照するためのコマンドを実行するユーザの名前を指定します。

--
例:
AuthorizedKeysCommandUser nobody
--

一般的には、この公開鍵の参照のみを行う(他の役割をもたない)アカウントを指定することが推奨されます。

https://man7.org/linux/man-pages/man5/sshd_config.5.html
AuthorizedKeysCommandUser

CACertificateFile

=========================================================================
対応OS : Linux.x86 / Windows
書式 : CACertificateFile <file-path>
-------------------------------------------------------------------------
file-path
既定値 :
/etc/hcp/cacert.pem (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/cacert.pem (Windows)
値の範囲 : ファイルシステムのパス文字列
=========================================================================

クライアント認証に使用するCA証明書(中間証明書含む)が保管されているファイルを指定します。

--
例:
CACertificateFile /etc/hcp/cacert.pem
--

PEM形式の証明書をサポートします。

CACertificatePath (予約)

=========================================================================
対応OS : Linux.x86 / Windows
書式 : CACertificatePath <dir-path>
-------------------------------------------------------------------------
dir-path
既定値 :
/etc/ssl (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/ssl (Windows)
値の範囲 : ファイルシステムのパス文字列
=========================================================================

クライアント認証に使用するCA証明書(中間証明書含む)が保管されているディレクトリを指定します。

--
例:
CACertificatePath /etc/ssl
--

PEM形式の証明書をサポートします。

CARevocationFile

=========================================================================
対応OS : Linux.x86 / Windows
書式 : CARevocationFile <file-path>
-------------------------------------------------------------------------
file-path
既定値 :
/etc/hcp/crl.pem (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/crl.pem (Windows)
値の範囲 : ファイルシステムのパス文字列
=========================================================================

クライアント認証に使用するCRLが保管されているファイルを指定します。

--
例:
CARevocationFile /etc/hcp/crl.pem
--

PEM形式の失効リスト(CRL)をサポートします。

CARevocationPath (予約)

=========================================================================
対応OS : Linux.x86 / Windows
書式 : CARevocationPath <dir-path>
-------------------------------------------------------------------------
dir-path
既定値 :
/etc/ssl (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/ssl (Windows)
値の範囲 : ファイルシステムのパス文字列
=========================================================================

クライアント認証に使用するCRLが保管されているディレクトリを指定します。

--
例:
CARevocationPath /etc/ssl
--

PEM形式の失効リスト(CRL)をサポートします。

OCSPRevocationEnabled

=========================================================================
対応OS : Linux.x86 / Windows
書式 : OCSPRevocationEnabled <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

クライアント認証で使用するOCSP(オンライン証明書失効検査プロトコル)を設定します。yesを指定すると有効にします。クライアントを認証する際、OCSP(オンライン証明書失効検査)を実施します。

--
例:
OCSPRevocationEnabled no
--

LocalUserFile

=========================================================================
対応OS : Linux.x86 / Windows
書式 : LocalUserFile <file-path>[ <usage>]
-------------------------------------------------------------------------
file-path
既定値 :
/etc/hcp/users (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/users (Windows)
値の範囲 : ファイルシステムのパス文字列
-------------------------------------------------------------------------
usage
既定値 : overwrite
値の範囲 : overwrite, define
=========================================================================

ユーザ情報を定義したファイルと利用方法を指定します。

file-pathには定義ファイルのパスを指定します。

usageにはこの定義ファイルの使用方法を次のいずれかで指定します。

  • overwrite
  • define

overwriteを指定した場合は、ユーザの認証を行う際に既存のシステムユーザの認証方法を上書きする情報として認識します。

defineを指定した場合は、本ソフトウェアで扱うと許可されたユーザ情報として認識します。ファイルに記載されないユーザについては認証を拒否します。

--
例:
LocalUserFile /etc/hcp/users define
--

LocalPasswordFile

=========================================================================
対応OS : Linux.x86 / Windows
書式 : LocalPasswordFile <file-path>
-------------------------------------------------------------------------
file-path
既定値 :
/etc/hcp/passwd (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/passwd (Windows)
値の範囲 : ファイルシステムのパス文字列
=========================================================================

LPA認証で使用されるユーザの資格情報(パスワードハッシュ)を定義したファイルを指定します。

--
例:
LocalPasswordFile /etc/hcp/passwd
--

AllowUsers

=========================================================================
対応OS : Linux.x86
書式 : AllowUsers [<username-pattern>...]
-------------------------------------------------------------------------
username-pattern
書式 : <name-pattern>[@<host-pattern>]
-------------------------------------------------------------------------
name-pattern
既定値 : なし
値の範囲 : ワイルドカード("*"及び"?")を含む文字列
-------------------------------------------------------------------------
host-pattern
既定値 : なし
値の範囲 : CIDR形式のネットワークアドレス文字列
=========================================================================

ログインを許可するシステムユーザ名のパターンを設定します(複数可)。

username-patternには、ユーザ名のパターンとオプションとしてCIDR形式のネットワークアドレスを指定します。

name-patternには、ユーザ名を表すパターン文字列を指定します。 このパターンには、任意の文字列を表すワイルドカード"*"と任意の一文字を表すワイルドカード"?"を使用することができます。接続したユーザが入力したユーザ名がこのパターンに一致するとログインが許可され認証が実行されます。

host-patternには、CIDR形式のネットワークアドレス文字列を指定します。このネットワークアドレス文字列が指定された場合は、ユーザ名が一致し、かつアクセス元ホストが指定されたネットワークアドレスに含まれる場合にログインが許可されます。

このパターンの評価で一致することが確認されると、その時点で全体の評価が終了しログインは許可されます。DenyUsersが指定された場合は、DenyUsers, AllowUsersの順に評価されます。AllowUsersまたはAllowGroupsが指定された場合、いずれの評価でもパターンの一致が確認されなかった場合は、ログインは拒否されます。

この項目が設定されると、次の設定項目は無効となります。

  • PrivilegeSeparationMinimumUID
  • PrivilegeSeparationMinimumGID
--
例:
AllowUsers seg1-*@192.168.0.0/24
--

AllowGroups

=========================================================================
対応OS : Linux.x86
書式 : AllowGroups [<groupname-pattern>...]
-------------------------------------------------------------------------
groupname-pattern
既定値 : なし
値の範囲 : ワイルドカード("*"及び"?")を含む文字列
=========================================================================

ログインを許可するシステムグループ名のパターンを設定します(複数可)。

groupname-patternには、グループ名を表すパターン文字列を指定します。任意の文字列を表すワイルドカード"*"と任意の一文字を表すワイルドカード"?"を使用することができます。所属するプライマリグループ名もしくは補助グループ名が指定したパターンに一致するとログインが許可され認証が実行されます。

このパターン評価で一致することが確認されると、その時点で全体の評価が終了しログインは許可されます。DenyGroupsが指定された場合は、DenyGroups, AllowGroupsの順に評価されます。AllowUsersまたはAllowGroupsが指定された場合、いずれの評価でもパターンの一致が確認されなかった場合は、ログインは拒否されます。

この項目が設定されると、次の設定項目は無効となります。

  • PrivilegeSeparationMinimumUID
  • PrivilegeSeparationMinimumGID
--
例:
AllowGroups seg1-users
--

DenyUsers

=========================================================================
対応OS : Linux.x86
書式 : DenyUsers [<username-pattern>...]
-------------------------------------------------------------------------
username-pattern
書式 : <name-pattern>[@<host-pattern>]
-------------------------------------------------------------------------
name-pattern
既定値 : なし
値の範囲 : ワイルドカード("*"及び"?")を含む文字列
-------------------------------------------------------------------------
host-pattern
既定値 : なし
値の範囲 : CIDR形式のネットーワークアドレス文字列
=========================================================================

ログインを許可しないシステムユーザ名のパターンを設定します(複数可)。

username-patternには、ユーザ名のパターンとオプションとしてCIDR形式のネットワークアドレスを指定します。

name-patternには、ユーザ名を表すパターン文字列を指定します。 このパターンには、任意の文字列を表すワイルドカード"*"と任意の一文字を表すワイルドカード"?"を使用することができます。接続したユーザが入力したユーザ名がこのパターンに一致するとログインが拒否され認証が失敗します。

host-patternには、CIDR形式のネットワークアドレス文字列を指定します。このネットワークアドレス文字列が指定された場合は、ユーザ名が一致し、かつアクセス元ホストが指定されたネットワークアドレスに含まれる場合にログインが拒否されます。

AllowUsersが指定された場合は、DenyUsers, AllowUsersの順に評価されます。また、パターンの評価で一致することが確認されると、その時点で全体の評価が終了しログインは拒否されます。

この項目が設定されると、次の設定項目は無効となります。

  • PrivilegeSeparationMinimumUID
  • PrivilegeSeparationMinimumGID
--
例:
DenyUsers seg1-*@192.168.0.0/24
--

DenyGroups

=========================================================================
対応OS : Linux.x86
書式 : DenyGroups [<groupname-pattern>...]
-------------------------------------------------------------------------
groupname-pattern
既定値 : なし
値の範囲 : ワイルドカード("*"及び"?")を含む文字列
=========================================================================

ログインを許可しないシステムグループ名のパターンを設定します(複数可)。

groupname-patternには、グループ名を表すパターン文字列を指定します。任意の文字列を表すワイルドカード"*"と任意の一文字を表すワイルドカード"?"を使用することができます。所属するプライマリグループ名もしくは補助グループ名が指定したパターンに一致するとログインが拒否され認証が失敗します。

AllowGroupsが指定された場合は、DenyGroups, AllowGroupsの順に評価されます。また、パターンの評価で一致することが確認されると、その時点で全体の評価が終了しログインは拒否されます。

この項目が設定されると、次の設定項目は無効となります。

  • PrivilegeSeparationMinimumUID
  • PrivilegeSeparationMinimumGID
--
例:
DenyGroups guest-users
--

暗号

AcceptableCryptMethod

=========================================================================
対応OS : Linux.x86 / Windows
書式 : AcceptableCryptMethod <method-names>
-------------------------------------------------------------------------
method-names
書式 : <method-name>[ ...]
既定値 : AES256/GCM AES256/CTR/VMAC AES256/CBC AES128/CBC
-------------------------------------------------------------------------
method-name
値の範囲 : PLAIN, AES128/CBC, AES192/CBC, AES256/CBC, AES128/CBC/HMAC,
AES192/CBC/HMAC, AES256/CBC/HMAC, AES128/CBC/VMAC, AES192/CBC/VMAC,
AES256/CBC/VMAC, AES128/CBC/VMAC64, AES192/CBC/VMAC64, AES256/CBC/VMAC64,
AES128/CTR/HMAC, AES192/CTR/HMAC, AES256/CTR/HMAC, AES128/CTR/VMAC,
AES192/CTR/VMAC, AES256/CTR/VMAC, AES128/CTR/VMAC64, AES192/CTR/VMAC64,
AES256/CTR/VMAC64, AES128/GCM, AES192/GCM, AES256/GCM
=========================================================================

暗号アルゴリズムを設定します。

AES128/CBCと指定した場合は、AES128/CBC/HMACと解釈されます(これらは同一のアルゴリズムです。AES192/CBC及びAES256/CBCについても同様です)。

新たに追加したアルゴリズム(CTR/GCMモード、VMACモードを含むアルゴリズム)に対応していないバージョンと通信する場合は、これらの新しいアルゴリズムは接続時のネゴシエーションで無視されます(エラーとはなりません)。

1Gbpsを超える回線では、CTR/VMACもしくはGCMが推奨されます(AES256/GCM, AES256/CTR/VMACなど)。 一般的に1Gbpsを超える回線では、CBCやHMACを使用すると暗号通信が性能のボトルネックとなることがあります(AES256/CTR/HMAC, AES256/CBC/HMACなど)。また、VMAC64モードを使用すると検査ビットが64ビットとなりVMACモードの128ビットより小さくなります(性能が向上する要因になりますがデータ検査の安全性は低下します)。

--
例:
AcceptableCryptMethod AES256/CBC PLAIN
--

クライアントとの間で通信するメッセージの暗号化に使用されます。どのアルゴリズムが使用されるかは、クライアントの設定と併せて評価し、一致したアルゴリズムを使用します。

AcceptableDigestMethod

=========================================================================
対応OS : Linux.x86 / Windows
書式 : AcceptableDigestMethod <method-names>
-------------------------------------------------------------------------
method-names
書式 : <method-name>[ ...]
既定値 : XXH3 SHA256 SHA160
-------------------------------------------------------------------------
method-name
値の範囲 : NONE, SHA160, SHA224, SHA256, SHA384, SHA512, MD5, MM32, MM128,
XXH3, XXH128, XXH64, XXH32
=========================================================================

通信データ及びファイルの検証に使用するダイジェスト(ハッシュ)方式を設定します。

--
例:
AcceptableDigestMethod SHA256 SHA160 NONE
--

クライアントとの間で通信するメッセージ、ファイルやそのデータブロックの検証に使用されます。どのアルゴリズムが使用されるかは、クライアントの設定と併せて評価し、一致したアルゴリズムを使用します。

また、データ検査にHMACを使用する暗号通信(AES256/CBC/HMACなど)を行う場合、安全性の低いアルゴリズム(MD5, MM32, MM128, XXH3, XXH128, XXH64, XXH32)は、指定されなかったものとして扱われます。

MM32およびMM128は廃止されました(設定互換性のため値の定義は残されています)。代わりにXXH3を使用してください。

RequireDataIntegrityChecking

=========================================================================
対応OS : Linux.x86 / Windows
書式 : RequireDataIntegrityChecking <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

クライアントとの間で暗号化通信を行う場合に、サーバがMAC(Message Authentication Code)による通信メッセージの検査(データ完全性検査)を要求するか設定します。

noを指定した場合、クライアントが通信メッセージの検査を行わないことを要求した場合に、その要求を受け入れて通信を継続します。

yesを指定した場合、この要求を拒否します。

通常はyes(デフォルト)で使用してください。前述の通信メッセージの検査が省略されることを理解したうえでご利用ください。通常、暗号通信のパフォーマンス向上の目的で使用します。

--
例:
RequireDataIntegrityChecking no
--

暗号化通信セキュリティネゴシエーション

UseServerCertificateSecurity

=========================================================================
対応OS : Linux.x86 / Windows
書式 : UseServerCertificateSecurity <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

サーバ証明書セキュリティ機能を設定します。yesを指定した場合、ServerCertificateFileで指定されたサーバ証明書もしくは、ServerKeyFileのパスから解決された公開鍵を使用して、クライアントとの間でPKI技術を基礎とするセキュリティ通信を提供します。

--
例:
UseServerCertificateSecurity no
--

RequireServerCertificateSecurity

=========================================================================
対応OS : Linux.x86 / Windows
書式 : RequireServerCertificateSecurity <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

クライアントに対してサーバ証明書セキュリティ機能によるセキュリティ通信を要求するか設定します。

yesを指定した場合、クライアントが同機能を使用しない通信(平文通信)を要求した場合、接続を拒否します。

--
例:
RequireServerCertificateSecurity no
--

ServerKeyFile

=========================================================================
対応OS : Linux.x86 / Windows
書式 : ServerKeyFile <file-path>[ <serv-key-name>]
-------------------------------------------------------------------------
file-path
既定値 :
/etc/hcp/key/server.key (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/key/server.key (Windows)
値の範囲 : ファイルシステムのパス文字列
-------------------------------------------------------------------------
serv-key-name
既定値 : なし
値の範囲 : 文字列
=========================================================================

file-pathは、サーバ証明書セキュリティ機能で使用するサーバの秘密鍵のパスを指定します。秘密鍵のパスに接尾辞".pub"を付加した公開鍵ファイルが存在する場合は、ServerCertificateFileの設定を使用せずにこの秘密鍵と公開鍵のペアを使用してセキュリティ通信を提供します。

serv-key-nameは、オプショナルです。このサーバの秘密鍵の設定に名前を指定します。WebSocketの暗号通信サービス(WSSListenAddress)から参照するために使用します。

--
例:
ServerKeyFile /etc/hcp/key/server.key
ServerKeyFile /etc/hcp/key/server.wss.key wss-key
--

クライアントではサーバに初めてアクセスすると、下記の様に公開鍵をknown_hostsに登録するか確認されます。

A secure connection for host 127.0.0.1 can't be established.
RSA key fingerprint is SHA256: 0fzb9DY4qxXWPm/L/4cBKKK+FQ9577NIRYxRquZ6eWA=.
Are you sure you want to continue connecting [yes/no] ?

登録を許可すると、次のパスに確認済みのホストとして記録されます。次回以降、同じホストの同じ公開鍵であれば確認を求められなくなります。

<ユーザホームディレクトリ>/.hcp/known_hosts (Linux)
<ユーザホームディレクトリ>/_hcp/known_hosts (Windows)

ServerCertificateFile

=========================================================================
対応OS : Linux.x86 / Windows
書式 : ServerCertificateFile <file-path>[ <serv-cert-name>]
-------------------------------------------------------------------------
file-path
既定値 :
/etc/hcp/cert/server.crt (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/cert/server.crt (Windows)
値の範囲 : ファイルシステムのパス文字列
-------------------------------------------------------------------------
serv-cert-name
既定値 : なし
値の範囲 : 文字列
=========================================================================

file-pathは、サーバ証明書のパスを指定します。

serv-cert-nameは、オプショナルです。このサーバの証明書の設定に名前を指定します。WebSocketの暗号通信サービス(WSSListenAddress)から参照するために使用します。

WebSocketの暗号通信サービスを使用する場合は、中間証明書が含まれるとその中間証明書も使用されます。中間証明書を含む場合は、サーバ証明書、中間証明書の順に格納してください。

--
例:
ServerCertificateFile /etc/hcp/cert/server.crt
ServerCertificateFile /etc/hcp/cert/server.wss.crt wss-cert
--

ServerCertificateChainFile

=========================================================================
対応OS : Linux.x86 / Windows
書式 : ServerCertificateChainFile <file-path>
-------------------------------------------------------------------------
file-path
既定値 :
/etc/hcp/cert/chain.crt (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/cert/chain.crt (Windows)
値の範囲 : ファイルシステムのパス文字列
=========================================================================

サーバ証明書の中間証明書を指定します。複数指定することができます。指定されたファイルに含まれる中間証明書はクライアントに送信されるサーバ証明書に続けてファイルに保管されている順に中間証明書として送信されます。

--
例:
ServerCertificateChainFile /etc/hcp/cert/chain.crt
--

アクセス制御

UserDirectoryFallbackAvailable

=========================================================================
対応OS : Linux.x86 / Windows
書式 : UserDirectoryFallbackAvailable <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ユーザのホームディレクトリ、作業ディレクトリなどの後退(Fallback)を許可するか設定します。認証の結果により認識されたホームディレクトリが存在しない場合などに、ルートドキュメントに記載されたディレクトリに後退する動作をするか制御します。本オプションは、クライアントが1.1.0以降のソフトウェアの場合は、常に無効(no)として動作します。

--
例:
UserDirectoryFallbackAvailable yes
--

RejectOnUserHomeDirectoryNotFound

=========================================================================
対応OS : Linux.x86 / Windows
書式 : RejectOnUserHomeDirectoryNotFound <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ユーザのホームディレクトリが見つからない場合にアクセスを拒否するか設定します。本オプションは、クライアントが1.2.0より以前のソフトウェアの場合は、常に有効(yes)として動作します。

--
例:
RejectOnUserHomeDirectoryNotFound yes
--

WinLogonUserNoRestrictedAccess

=========================================================================
対応OS : Windows
書式 : WinLogonUserNoRestrictedAccess <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

Windowsサーバで認証されたユーザのアクセス制限(非昇格状態でのアクセス)を行うか設定します。

yesを指定した場合、Administratorsグループなどに登録されているユーザは昇格時のアクセス権が適用される場合があります。

Administratorsグループに所属するユーザを利用した際にサーバー上のファイルアクセスなどでアクセス権に関するエラーが発生した場合に、このエラーを回避する目的などでyesに設定します。通常はno(既定値)で使用します。

--
例:
WinLogonUserNoRestrictedAccess yes
--

アクセス制御・特権分離

UsePrivilegeSeparation

=========================================================================
対応OS : Linux.x86 / Windows
書式 : UsePrivilegeSeparation <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

クライアントセッションに対する特権分離を設定します。yesを指定した場合、同セッションでの処理をサーバ待機プロセスとは別のプロセスで実行します。分離されたプロセス上では認証結果に基づいてユーザの権限情報(UID/GID及び補助グループ)が権限として適用されます。これらをユーザ毎に調整(システムの割当値から変更する、など)したい場合は、/etc/hcp/usersに設定を記述します。

--
例:
UsePrivilegeSeparation no
--

適用可能な補助グループは、1000グループまでです。これを超える場合は無視されます(UIDとプライマリグループのみが適用されます)。特権分離を無効にした場合は、クライアントセッション上の処理はサービスの実行権限に従って動作します。

Windowsサービスでは、Windowsログオン認証以外で認証された場合(LPA認証、もしくは公開鍵認証)は、サービスの実行権限で動作します(特権分離は適用されません)。

PrivilegeSeparationMinimumUID

=========================================================================
対応OS : Linux.x86
書式 : PrivilegeSeparationMinimumUID <min-uid>
-------------------------------------------------------------------------
min-uid
既定値 : 0
値の範囲 : 符号なし整数値
=========================================================================

特権分離時にセッションを実行できるUIDの最小値を設定します。特別な権限を所有するユーザによる実行などを抑制するために使用可能です。

次の項目のいずれかが設定された場合は、本設定は無効となります。

  • AllowUsers
  • AllowGroups
  • DenyUsers
  • DenyGroups
--
例:
PrivilegeSeparationMinimumUID 1000
--

PrivilegeSeparationMinimumGID

=========================================================================
対応OS : Linux.x86
書式 : PrivilegeSeparationMinimumGID <min-gid>
-------------------------------------------------------------------------
min-gid
既定値 : 0
値の範囲 : 符号なし整数値
=========================================================================

特権分離時にセッションを実行できるGIDの最小値を設定します。特別な権限を所有するユーザによる実行などを抑制するために使用可能です。

次の項目のいずれかが設定された場合は、本設定は無効となります。

  • AllowUsers
  • AllowGroups
  • DenyUsers
  • DenyGroups
--
例:
PrivilegeSeparationMinimumGID 1000
--

PrivilegeSeparationUser

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PrivilegeSeparationUser <username>
-------------------------------------------------------------------------
username
既定値 : なし
値の範囲 : システムに存在するユーザ名
=========================================================================

特権分離を有効にした場合に、適用するユーザ権限が特定されなかった場合に適用するユーザの資格情報を設定します。

指定しない場合は、プラットホームに依存したユーザ名(nobodyなど)に解決されます。

--
例:
PrivilegeSeparationUser nobody
--

PrivilegeSeparationUmask

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PrivilegeSeparationUmask <umask_val>[ <dir_umask_val>]
-------------------------------------------------------------------------
umask_val
既定値 : 0022
値の範囲 : 0000から0777の8進数
-------------------------------------------------------------------------
dir_umask_val(実験的パラメータ)
既定値 : なし
値の範囲 : 0000から0777の8進数
=========================================================================

特権分離を有効にした場合に、ユーザ認証が行われて分離されたプロセスに適用するUmaskの値を設定します。

umask_valには、適用するumask値を指定します。dir_umask_valを指定しない場合は、ファイル及びディレクトリともにプロセスレベルで適用されます。

dir_umask_valには、ディレクトリに適用したいumask値を指定します。この設定を使用した場合は、umask_valはファイルに適用され、dir_umask_valはディレクトリに適用されます。プロセスには共通するumask値(umask_val & dir_umask_val)が適用され、ファイル及びディレクトリ作成時にアプリケーション(HCP)により共通の値からの差分がそれぞれ適用されます。アプリケーションがハンドルしないファイルやディレクトリ作成では期待通りのumask値が適用されませんのでご注意ください(このパラメータは実験的機能です)。

ユーザ毎にumask値を設定したい場合は、/etc/hcp/usersに設定を記述します。

--
例:
PrivilegeSeparationUmask 0002
--

PrivilegeSeparationUmaskAnonymous

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PrivilegeSeparationUmaskAnonymous <umask_val>[ <dir_umask_val>]
-------------------------------------------------------------------------
umask_val
既定値 : 0002
値の範囲 : 0000から0777の8進数
-------------------------------------------------------------------------
dir_umask_val(実験的パラメータ)
既定値 : なし
値の範囲 : 0000から0777の8進数
=========================================================================

特権分離を有効にした場合に、ユーザ認証が行われずに(匿名アクセスで)分離されたプロセスに適用するUmaskの値を設定します。

umask_valには、適用するumask値を指定します。dir_umask_valを指定しない場合は、ファイル及びディレクトリともにプロセスレベルで適用されます。

dir_umask_valには、ディレクトリに適用したいumask値を指定します。この設定を使用した場合は、umask_valはファイルに適用され、dir_umask_valはディレクトリに適用されます。プロセスには共通するumask値(umask_val & dir_umask_val)が適用され、ファイル及びディレクトリ作成時にアプリケーション(HCP)により共通の値からの差分がそれぞれ適用されます。アプリケーションがハンドルしないファイルやディレクトリ作成では期待通りのumask値が適用されませんのでご注意ください(このパラメータは実験的機能です)。

--
例:
PrivilegeSeparationUmaskAnonymous 0022
--

ApplyUserPermission

=========================================================================
対応OS : Linux.x86
書式 : ApplyUserPermission <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

特権分離を使用しない場合に、認証されたユーザの資格情報(UID/GID)を転送先のファイルパーミッションに適用するか設定します。

--
例:
ApplyUserPermission yes
--

NoSupplementalGroupInPrivilegeSeparation

=========================================================================
対応OS : Linux.x86
書式 : NoSupplementalGroupInPrivilegeSeparation <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

特権分離を使用している場合に補助グループを無効にするか設定します。

--
例:
NoSupplementalGroupInPrivilegeSeparation yes
--

アクセス制御・ACL(Access Control List)機能

AccessList

=========================================================================
対応OS : Linux.x86 / Windows
書式 : AccessList <acl_name>
-------------------------------------------------------------------------
acl_name
既定値 : なし
値の範囲 : 文字列
=========================================================================

アクセスコントロールリストを定義します。

acl_nameはオプショナルです。アクセスコントロールリストの名前を指定します。

--
例:
AccessList acl1
--

acl-nameを指定しない場合は、無名のアクセスコントロールリストとして扱われます。この無名のアクセスコントロールリストは、1つだけ定義できます。

Allow

=========================================================================
対応OS : Linux.x86 / Windows
書式 : Allow (<ip_addr> <net_mask>|any)[ <hpfp_cong_mode_modifier>]
-------------------------------------------------------------------------
ip_addr
既定値 : なし
値の範囲 : IPアドレス
-------------------------------------------------------------------------
net_mask
既定値 : なし
値の範囲 : サブネットマスク表記
-------------------------------------------------------------------------
hpfp_cong_mode_modifier
書式 : <modifier>[...]
modifier := (+|-)(M|S|A)[...]
既定値 : なし
=========================================================================

アクセスコントロールリスト内に、許可アクセスを定義します。

ip_addrは、IPアドレスを指定します。

net_maskは、ネットマスクを指定します。

キーワード any は、全てのネットワークを表します。

hpfp_cong_mode_modifierは、HpFPの輻輳制御モードの上書きを指定します。

+は、記述したルールで接続を受け付けた場合に、直後に記載した輻輳制御モードの許可を追加します。

-は、直後に記載した輻輳制御モードの許可を取り消します。

M、SおよびAは、それぞれHpFPの輻輳制御モードのMODEST、FAIR_FAST_STARTおよびAGGRESSIVEを表します。

--
例:
Allow 192.168.1.0 255.255.255.0 -A+M
--

接続元のIPアドレスが指定されたネットワークに含まれる場合、そのアクセスを許可します。

Deny

=========================================================================
対応OS : Linux.x86 / Windows
書式 : Deny (<ip_addr> <net_mask>|any)
-------------------------------------------------------------------------
ip_addr
既定値 : なし
値の範囲 : IPアドレス
-------------------------------------------------------------------------
net_mask
既定値 : なし
値の範囲 : サブネットマスク表記
=========================================================================

アクセスコントロールリスト内に、拒否アクセスを定義します。

--
例:
Deny 192.168.1.0 255.255.255.0
--

接続元のIPアドレスが指定されたネットワークに含まれる場合、そのアクセスを拒否します。

アクセス制御・アドミッション制御(入場制限)

MaxTotalConnection

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxTotalConnection <max-total-con>
-------------------------------------------------------------------------
max-total-con
既定値 : 150
値の範囲 : 符号付整数
=========================================================================

接続数制限を設定します。

--
例:
MaxTotalConnection 5
--

MaxTcpConnection

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxTcpConnection <max-tcp-con>
-------------------------------------------------------------------------
max-tcp-con
既定値 : 50
値の範囲 : 符号付整数
=========================================================================

TCP接続数制限を設定します。

--
例:
MaxTcpConnection 5
--

MaxUdpConnection

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxUdpConnection <max-udp-con>
-------------------------------------------------------------------------
max-udp-con
既定値 : 50
値の範囲 : 符号付き整数
=========================================================================

HpFP(UDP)接続数制限を設定します。

--
例:
MaxUdpConnection 5
--

MaxWsConnection

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxWsConnection <max-ws-con>
-------------------------------------------------------------------------
max-ws-con
既定値 : 50
値の範囲 : 符号付き整数
=========================================================================

WebSocket接続数制限を設定します。

--
例:
MaxWsConnection 5
--

MaxConnectionPerUser

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxConnectionPerUser <max-con-per-user>
-------------------------------------------------------------------------
max-con-per-user
既定値 : 50
値の範囲 : 符号付き整数
=========================================================================

ユーザ毎の接続数制限を設定します。

--
例:
MaxConnectionPerUser 1
--

MaxConnectionPerSec

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MaxConnectionPerSec <max-con-per-sec>
-------------------------------------------------------------------------
max-con-per-sec
既定値 : 50
値の範囲 : 符号付き整数
=========================================================================

秒間の接続数制限を設定します。

--
例:
MaxConnectionPerSec 10
--

アクセス制御・ドキュメントポイント

DocPoint

=========================================================================
対応OS : Linux.x86 / Windows
書式 : DocPoint <doc_point_name>
-------------------------------------------------------------------------
doc_point_name
既定値 : なし
値の範囲 : 文字列
=========================================================================

ドキュメントポイントを定義します。

ドキュメントポイントとは、サーバがクライアントへのアクセスを提供するファイルシステム上の領域(パス指定されたその配下のディレクトリまたはファイル)を指定するものです。各ドキュメントポイントごとに読み書きの可否の設定などを記述することができます。

doc_point_nameは、このドキュメントポイントの名称を記述します。

最初に定義されたドキュメントポイントは、ユーザのホームディレクトリが解決できなかった場合の既定のホームディレクトリとして使用されます。

--
例:
DocPoint /home
DocPath /home
PermitAccessRead yes
PermitAccessWrite yes
PermitAccessOverwrite yes
PermitAccessDelete yes
DocPointEnd
--

DocPath, PermitAccessRead, PermitAccessWrite, PermitAccessOverwrite, PermitAccessDeleteについては、後述しています。

複数設定する場合は以下のように列記します。

--
例:
DocPoint /home
......
DocPointEnd

DocPoint /dev
......
DocPointEnd
--

DocPath

=========================================================================
対応OS : Linux.x86 / Windows
書式 : DocPath <doc_path>
-------------------------------------------------------------------------
doc_path
既定値 : なし
値の範囲 : ファイルシステムのパス文字列
=========================================================================

ドキュメントポイントが指すディレクトリパスを指定します。

--
例:
DocPath /home
--

この項目で指定されたディレクトリパスのファイルやディレクトリへのアクセスを許可します。

HomeIsolation

=========================================================================
対応OS : Linux.x86 / Windows
書式 : HomeIsolation <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ドキュメントポイントでユーザホーム隔離を設定します。

--
例:
HomeIsolation yes
--

yesを設定し、かつユーザのホームディレクトリのパスがドキュメントポイントのディレクトリパスの設定に含まれる場合に、アクセス権の検査をこのドキュメントポイントのパスを対象ではなく、ユーザのホームディレクトリのパスに置き換えて行います(ホーム隔離)。

PermitAccessRead

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PermitAccessRead <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ドキュメントポイントでの読込みアクセスを設定します。

--
例:
PermitAccessRead yes
--

noを指定した場合、このドキュメントポイント内のファイルの読み出しは禁止されます。ファイル転送を行う場合は、転送元のファイルの読み出しなどが読込みエラーとなります。

PermitAccessWrite

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PermitAccessWrite <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ドキュメントポイントでの書込みアクセスを設定します。

--
例:
PermitAccessWrite yes
--

noを指定した場合、このドキュメントポイント内のファイルへの書出しは禁止されます。ファイル転送を行う場合は、転送先のファイルへの書出しなどが書込みエラーとなります。

PermitAccessOverwrite

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PermitAccessOverwrite <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ドキュメントポイントでの上書きアクセスを設定します。

--
例:
PermitAccessOverwrite yes
--

noを指定した場合、このドキュメントポイント内のファイルへの上書きは禁止されます。ファイル転送を行う場合は、転送先のファイルへ上書き(既に存在するファイルへのデータ書込み)などが書込みエラーとなります。

PermitAccessDelete

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PermitAccessDelete <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ドキュメントポイントでの削除アクセスを設定します。

--
例:
PermitAccessDelete yes
--

noを指定した場合、このドキュメントポイント内のファイルの削除は禁止されます。

PermitAccessRandomRead (予約)

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PermitAccessRandomRead <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ドキュメントポイントでのランダム読込みアクセスを設定します。

--
例:
PermitAccessRandomRead yes
--

PermitAccessRandomWrite (予約)

=========================================================================
対応OS : Linux.x86 / Windows
書式 : PermitAccessRandomWrite <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

ドキュメントポイントでのランダム書込みアクセスを設定します。

--
例:
PermitAccessRandomRead yes
--

各種監視機能・タイムアウト制御

TransportTimeout

=========================================================================
対応OS : Linux.x86 / Windows
書式 : TransportTimeout <timeout>
-------------------------------------------------------------------------
timeout
既定値 : 180
値の範囲 : 符号なし整数
=========================================================================

トランスポートのタイムアウトを秒単位で設定します。KeepAliveデータの通信を含めトランスポートのデータ通信が指定時間途絶えた場合に、通信の継続が不可能な状態と見做してコネクションを切断しセッションを終了します。

0を指定するとタイムアウトを無効にします。

--
例:
TransportTimeout 60
--

IdleTimeout

=========================================================================
対応OS : Linux.x86 / Windows
書式 : IdleTimeout <timeout>
-------------------------------------------------------------------------
timeout
既定値 : 0 (タイムアウトなし)
値の範囲 : 符号なし整数
=========================================================================

セッションのアイドルタイムアウトを秒単位で設定します。接続上でオペレーション(コマンド実行を単位とする処理)が指定時間実行されない場合に、サーバから接続を切断します。クライアントがターミナル機能(複数のコマンドを任意の時点で実行可能。APIライブラリで提供されます)を使用している場合に適用されます。

0を指定するとタイムアウトを無効にします。

--
例:
IdleTimeout 180
--

性能評価機能

DiskBenchmarkPreAllocation

=========================================================================
対応OS : Linux.x86
書式 : DiskBenchmarkPreAllocation <how-to-pre-alloc>
-------------------------------------------------------------------------
how-to-pre-alloc
既定値 : none
値の範囲 : none, native, posix
=========================================================================

run-host-benchmarkオプションで実行するディスクの書込測定において使用するストレージ事前割当方式を指定します。

’none’を指定した場合は、ストレージ領域の事前割当を行わずに測定を行います。

’native’を指定した場合は、プラットフォーム固有の割当機能(Linuxの場合はfallocate関数)を使用します。

’posix’を指定した場合は、POSIX互換の割当機能(posix_fallocate関数)を使用します。

本オプションは、非同期I/Oの測定を行う場合に利用されます。非同期I/Oを使用する場合に事前割当領域への書き込みを行うと、使用しない場合に比べて性能が改善する場合があります。

--
例:
DiskBenchmarkPreAllocation native
--

DiskBenchmarkPreAllocationSize

=========================================================================
対応OS : Linux.x86
書式 : DiskBenchmarkPreAllocationSize <pre-allocation-size>
-------------------------------------------------------------------------
pre-allocation-size
既定値 : 0
値の範囲 : 符号あり倍長整数
=========================================================================

run-host-benchmarkオプションで実行するディスクの書込測定においてストレージ事前割当を行う単位サイズをバイトサイズで指定します。

0以下を指定した場合は、測定で書き込む予定のファイルサイズで事前割当を行います(一括割当)。

--
例:
DiskBenchmarkPreAllocationSize 1GB
--

DiskBenchmarkDirectAlignmentSize

=========================================================================
対応OS : Linux.x86
書式 : DiskBenchmarkDirectAlignmentSize <alignment-size>
-------------------------------------------------------------------------
alignment-size
既定値 : 0
値の範囲 : 符号なし倍長整数
=========================================================================

run-host-benchmarkオプションで実行するDirect I/Oを使用したディスク測定において、読み書きバッファに使用するメモリアライメントのサイズを指定します。

0を指定した場合は、システムに問い合わせてアラインメントサイズを検出してその値を使用します。

--
例:
DiskBenchmarkDirectAlignmentSize 8KB
--

DiskBenchmarkAsyncNoWait (予約)

DiskBenchmarkAsyncMaxEvents

=========================================================================
対応OS : Linux.x86
書式 : DiskBenchmarkAsyncMaxEvents <num-max-events>
-------------------------------------------------------------------------
num-max-events
既定値 : 16
値の範囲 : 符号あり整数
=========================================================================

run-host-benchmarkオプションで実行する非同期I/Oを使用したディスク測定において、同時に処理するイベントの最大数を指定します。

ストライプ構成されたストレージなどで期待するほど書き込み性能が発揮されない場合などに、設定値を増やすと改善する場合があります。

--
例:
DiskBenchmarkAsyncMaxEvents 32
--

DiskBenchmarkAsyncMaxGetEvents

=========================================================================
対応OS : Linux.x86
書式 : DiskBenchmarkAsyncMaxGetEvents <num-max-get-events>
-------------------------------------------------------------------------
num-max-get-events
既定値 : 1
値の範囲 : 符号あり整数
=========================================================================

run-host-benchmarkオプションで実行する非同期I/Oを使用したディスク測定において、同時にイベントの結果を取得する最大数を指定します。

同時にI/O要求結果を取得する数を増やすなどして、性能特定の変化を確認するために使用します。

--
例:
DiskBenchmarkAsyncMaxGetEvents 4
--

DiskBenchmarkAsyncRequestPoolSize

=========================================================================
対応OS : Linux.x86
書式 : DiskBenchmarkAsyncRequestPoolSize <pool-size>
-------------------------------------------------------------------------
pool-size
既定値 : 32
値の範囲 : 符号なし整数
=========================================================================

run-host-benchmarkオプションで実行する非同期I/Oを使用したディスク測定において、I/O要求であるユーザバッファを保持しておくプールのサイズを指定します。

--
例:
DiskBenchmarkAsyncRequestPoolSize 64
--

DeepDiskBenchmarkFileSize

=========================================================================
対応OS : Linux.x86
書式 : DeepDiskBenchmarkFileSize <file-size>
-------------------------------------------------------------------------
file-size
既定値 : 16GB
値の範囲 : 符号あり倍長整数
=========================================================================

run-host-benchmarkオプションで実行するディスクの詳細測定において使用するファイルサイズを指定します。

--
例:
DeepDiskBenchmarkFileSize 32GB
--

DeepDiskBenchmarkFreeSpaceRequired

=========================================================================
対応OS : Linux.x86
書式 : DeepDiskBenchmarkFreeSpaceRequired <free-space-size>
-------------------------------------------------------------------------
free-space-size
既定値 : 32GB
値の範囲 : 符号なし倍長整数
=========================================================================

run-host-benchmarkオプションで実行するディスクの詳細測定において必要とするディスクの空き領域のサイズを指定します。

--
例:
DeepDiskBenchmarkFreeSpaceRequired 64GB
--

DeepDiskBenchmarkBlockSizes

=========================================================================
対応OS : Linux.x86
書式 : DeepDiskBenchmarkBlockSizes <block-size-set-desc>
-------------------------------------------------------------------------
block-size-set-desc
既定値 : 16KB 32KB 64KB 128KB 256KB 512KB 1MB 2MB
値の範囲 : スペース区切りのブロックサイズ指定の組合
=========================================================================

run-host-benchmarkオプションで実行するディスクの詳細測定において使用するブロックサイズのセット(組)を指定します。

--
例:
DeepDiskBenchmarkBlockSizes 64KB 256KB 512KB 1MB
--

MemoryTransferConcurrency

=========================================================================
対応OS : Linux.x86 / Windows
書式 : MemoryTransferConcurrency <num-concur> <wait-type> <busy-sleep-nsec>
-------------------------------------------------------------------------
num-concur
既定値 : 自動 (物理コア数 / 2 と 16 のいずれか小さい値)
値の範囲 : 符号なし整数
-------------------------------------------------------------------------
wait-type
既定値 : cond
値の範囲 : cond, busy
-------------------------------------------------------------------------
busy-sleep-nsec
既定値 : 1
値の範囲 : 符号なし整数
=========================================================================

ローカルI/Oを抑制するモード(hcpコマンド -nオプション。メモリツーメモリ転送動作時)を実行する場合に、送信元で使用する疑似データをデータブロックバッファにコピー(memcpyによるメモリコピー)する際の並列動作を設定します。

num-concurは、並列数を指定します。1を指定すると並列化せずに標準のメモリコピー処理(memcpy)を実行します。

wait-typeは、並列動作するメモリコピースレッドが待機する際に使用する待機方式を指定します。condは条件付き待機(conditional wait)を、busyはビジー待機(busy wait)を行います。busyを指定した場合は、並列数を指定した数のCPUの使用率が常時100%まで達する場合があります。

busy-sleep-nsecは、ビジー待機する際に待機する時間をナノ秒で指定します。

このオプションは100G環境などでベンチマークを行う際に、シングルスレッドによるメモリコピー(memcpy)の性能限界(このメモリコピーのボトルネックがアプリ通信性能のボトルネックになる)を解消するための性能チューニングに使用します。

--
例:
MemoryTransferConcurrency 1 cond 1 # 無効化
MemoryTransferConcurrency 12 busy 1 # ビジー待機、4並列、1ナノ秒待機
--

ログ管理機能

SyslogOption

=========================================================================
対応OS : Linux.x86 / Windows
書式 : SyslogOption <syslog-options>
-------------------------------------------------------------------------
syslog-options
書式 : syslog-option[ ...]
既定値 : CONS PID
-------------------------------------------------------------------------
syslog-option
値の範囲 : CONS, NDELAY, NOWAIT, ODELAY, PERROR, PID
=========================================================================

syslogのオプションを設定します(複数指定可)。

各オプションは、接頭辞"LOG_"を付加したsyslogのオプションに対応します。

--
例:
SyslogOption PID
--

SyslogFacility

=========================================================================
対応OS : Linux.x86 / Windows
書式 : SyslogFacility <syslog-facility>
-------------------------------------------------------------------------
syslog-facility
既定値 : DAEMON
値の範囲 : AUTH, CRON, DAEMON, FTP, LOCAL0 - LOCAL7, LPR, MAIL, NEWS, USER, UUCP
=========================================================================

syslogのファシリティを設定します。

各ファシリティは、接頭辞"LOG_"を付加したsyslogのファシリティに対応します。

--
例:
SyslogFacility FTP
--

SystemLog

=========================================================================
対応OS : Linux.x86 / Windows
書式 : SystemLog <log-level>[ <flag-available>][ <log-rotation-conf>][ <log-path>]
-------------------------------------------------------------------------
log-level
既定値 : INFO
値の範囲 : EMERG, ALERT, CRIT, ERR, WARNING, INFO, DEBUG
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
-------------------------------------------------------------------------
log-rotation-conf
書式 : ( FileSize <file-size> <backups> | DatePattern <date-pattern> )
-------------------------------------------------------------------------
file-size
既定値 : なし
値の範囲 : 符号あり倍長整数
-------------------------------------------------------------------------
backups
既定値 : なし
値の範囲 : 符号なし整数
-------------------------------------------------------------------------
date-pattern
既定値 : なし
値の範囲 : yyyy-MM, yyyy-MM-dd, yyyy-MM-dd-HH, yyyy-MM-dd-HH-mm
-------------------------------------------------------------------------
log-path
既定値 : /var/log/hcpd.log
値の範囲 : ファイルシステムのパス文字列
=========================================================================

システムのログ設定を行います。

log-levelは、ログのレベルを指定します。

flag-availableにyesを指定するとログを出力します。

log-rotation-confは、ログのローテーションを指定します。指定しない場合は、ローテーションしません。FileSizeを指定するとファイルサイズを閾値としたローテーションを行い、DatePatternを指定すると日時にもとづくローテーションを行います。

file-sizeは、ローテーションを行いファイルサイズの閾値をバイト単位で指定します。

backupsは、FileSizeを指定してローテーションを行う場合にローテーションされたファイルを保持する世代数の上限を指定します。

date-patternは、日時でローテーションするパターンを指定します。

FileSizeを指定した場合は、ログのパス名に次の様に世代数を接尾辞として付加してファイルをローテーションします。

<指定されたログのパス> // 現在書込み中のログのパス
<指定されたログのパス>.1
<指定されたログのパス>.2
...
<指定されたログのパス>.n // backupsにnを指定

backupsで指定された世代数を超えるファイルは、ローテーション実行時に削除されます。

DatePatternを指定した場合は、ログのパス名に次の様に指定されたパターンに従って日時を接尾辞として付加してファイルをローテーションします。

// yyyy-MM-ddの場合
<指定されたログのパス> // 現在書込み中のログのパス
<指定されたログのパス>.2019-12-10 // 2019/12/10のログ
<指定されたログのパス>.2019-12-09
...
<指定されたログのパス>.2019-11-30
...

ローテーションは、指定されたパターンで定まる日時の区間を単位に行います。

月単位の場合は、その月の1日0時0分0秒から翌月の同時刻が到来する直前までになります。

例:
2019/11/01 00:00:00 から 2019/12/01 00:00:00 まで
(但し、2019/12/01 00:00:00を含まない)

分単位の場合は、 その分の0秒から次の分の0の直前までになります。

例:
2019/11/01 10:30:00 から 2019/11/01 10:31:00 まで
(但し、2019/11/01 10:31:00を含まない)

ローテーションは、各区間を経過後にログの書込みが要求されるとその書込みの前に実行されます。ファイル名は、該当する区間の接尾辞が付加された名前に変更されます。

// yyyy-MM-dd-HH-mmの場合のローテーションの事例
2019/12/10 00:00 サーバ起動
2019/12/10 00:05 サーバ停止
2019/12/10 00:07 サーバ再起動
...
--
<指定されたログのパス>
<指定されたログのパス>.2019-12-10-00-11
<指定されたログのパス>.2019-12-10-00-10 // 00:09から00:10の間は書込みがなかった
<指定されたログのパス>.2019-12-10-00-08
<指定されたログのパス>.2019-12-10-00-07 // 再起動後の00:07のログ
<指定されたログのパス>.2019-12-10-00-05 // サーバ停止までの00:05のログ (再起動時にファイルの更新日時から判断してローテーション実施)
...
<指定されたログのパス>.2019-12-10-00-00

但し、特権分離を使用しているサーバでは定期的に(128ミリ秒程度の間隔で)ローテーションが実行されます。ローテーションが遅延して実行される場合があるため、通常は次の区間に出力されるログが現在の区間に出力されることがあります。

log-pathは、ログのパスを指定します。コマンドラインパラメータの-lとともに指定した場合は、コマンドラインパラメータの指定が適用されます。

--
例1:
SystemLog WARNING FileSize 10MB 10
例2:
SystemLog WARNING DatePattern yyyy-MM-dd
例3:
SystemLog WARNING // SystemLogLevelに同じ
--

SystemLogLevel

=========================================================================
対応OS : Linux.x86 / Windows
書式 : SystemLogLevel <log-level>
-------------------------------------------------------------------------
log-level
既定値 : INFO
値の範囲 : EMERG, ALERT, CRIT, ERR, WARNING, INFO, DEBUG
=========================================================================

システムのログレベルを設定します。syslogの機能には影響しません。

SystemLogと共に記述した場合は、ログレベルの値のみ上書きされます。

--
例:
SystemLogLevel WARNING
--

ApplicationStatLog

=========================================================================
対応OS : Linux.x86 / Windows
書式 : ApplicationStatLog <flag-available>[ <log-rotation-conf>]
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
-------------------------------------------------------------------------
log-rotation-conf
書式 : ( FileSize <file-size> <backups> | DatePattern <date-pattern> )
-------------------------------------------------------------------------
file-size
既定値 : なし
値の範囲 : 符号あり倍長整数
-------------------------------------------------------------------------
backups
既定値 : なし
値の範囲 : 符号なし整数
-------------------------------------------------------------------------
date-pattern
既定値 : なし
値の範囲 : yyyy-MM, yyyy-MM-dd, yyyy-MM-dd-HH, yyyy-MM-dd-HH-mm
=========================================================================

アプリケーション統計を設定します。

flag-availableにyesを指定するとアプリケーションの統計情報を出力します。

log-rotation-confは、出力のローテーションを指定します。SystemLogで設定するローテーションと同様の動作を行います。但し、特権分離を使用している場合に実行される定期的なローテーションは行われません。

FileSizeとDatePatternでそれぞれ統計ログの基準パスとして指定されたパスをもとに次の様にローテーションが行われます。

// FileSizeの場合
<指定されたパス>.application
<指定されたパス>.application.1
<指定されたパス>.application.2
...
<指定されたパス>.application.n
// DatePatternの場合
<指定されたパス>.application
<指定されたパス>.application.2019-12-10
<指定されたパス>.application.2019-12-09
...

ローテーションされたファイルに統計情報のヘッダは含まれません。

--
例1:
ApplicationStatLog no
例2:
ApplicationStatLog yes FileSize 10MB 10
例3:
ApplicationStatLog yes DatePattern yyyy-MM-dd
--

TransportStatLog

=========================================================================
対応OS : Linux.x86 / Windows
書式 : TransportStatLog <flag-available>[ <log-rotation-conf>]
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
-------------------------------------------------------------------------
log-rotation-conf
書式 : ( FileSize <file-size> <backups> | DatePattern <date-pattern> )
-------------------------------------------------------------------------
file-size
既定値 : なし
値の範囲 : 符号あり倍長整数
-------------------------------------------------------------------------
backups
既定値 : なし
値の範囲 : 符号なし整数
-------------------------------------------------------------------------
date-pattern
既定値 : なし
値の範囲 : yyyy-MM, yyyy-MM-dd, yyyy-MM-dd-HH, yyyy-MM-dd-HH-mm
=========================================================================

トランスポート統計を設定します。

flag-availableにyesを指定するとトランスポートの統計情報を出力します。

log-rotation-confは、出力のローテーションを指定します。SystemLogで設定するローテーションと同様の動作を行います。SystemLogと同様に特権分離を使用している場合は、定期的なローテーションが実行されます。

FileSizeとDatePatternでそれぞれ統計ログの基準パスとして指定されたパスをもとに次の様にローテーションが行われます。

// FileSizeの場合
<指定されたパス>.transport.tcp.service_<サービス番号>.<サービスポート番号>.thread_<スレッド番号>
<指定されたパス>.transport.tcp.service_<サービス番号>.<サービスポート番号>.thread_<スレッド番号>.1
<指定されたパス>.transport.tcp.service_<サービス番号>.<サービスポート番号>.thread_<スレッド番号>.2
...
<指定されたパス>.transport.tcp.service_<サービス番号>.<サービスポート番号>.thread_<スレッド番号>.n
// DatePatternの場合
<指定されたパス>.transport.tcp.service_<サービス番号>.<サービスポート番号>.thread_<スレッド番号>
<指定されたパス>.transport.tcp.service_<サービス番号>.<サービスポート番号>.thread_<スレッド番号>.2019-12-10
<指定されたパス>.transport.tcp.service_<サービス番号>.<サービスポート番号>.thread_<スレッド番号>.2019-12-09
...

ローテーションされたファイルに統計情報のヘッダは含まれません。

--
例1:
TransportStatLog yes
例2:
TransportStatLog yes FileSize 10MB 10
例3:
TransportStatLog yes DatePattern yyyy-MM-dd
--

SystemStatLog

=========================================================================
対応OS : Linux.x86 / Windows
書式 : SystemStatLog <flag-available>[ <log-rotation-conf>]
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
-------------------------------------------------------------------------
log-rotation-conf
書式 : ( FileSize <file-size> <backups> | DatePattern <date-pattern> )
-------------------------------------------------------------------------
file-size
既定値 : なし
値の範囲 : 符号あり倍長整数
-------------------------------------------------------------------------
backups
既定値 : なし
値の範囲 : 符号なし整数
-------------------------------------------------------------------------
date-pattern
既定値 : なし
値の範囲 : yyyy-MM, yyyy-MM-dd, yyyy-MM-dd-HH, yyyy-MM-dd-HH-mm
=========================================================================

システム統計を設定します。

flag-availableにyesを指定するとシステムの統計情報を出力します。

log-rotation-confは、出力のローテーションを指定します。SystemLogで設定するローテーションと同様の動作を行います。但し、特権分離を使用している場合に実行される定期的なローテーションは行われません。

FileSizeとDatePatternでそれぞれ統計ログの基準パスとして指定されたパスをもとに次の様にローテーションが行われます。

// FileSizeの場合
<指定されたパス>.system
<指定されたパス>.system.1
<指定されたパス>.system.2
...
<指定されたパス>.system.n
// DatePatternの場合
<指定されたパス>.system
<指定されたパス>.system.2019-12-10
<指定されたパス>.system.2019-12-09
...

ローテーションされたファイルに統計情報のヘッダは含まれません。

--
例1:
SystemStatLog yes
例2:
SystemStatLog yes FileSize 10MB 10
例3:
SystemStatLog yes DatePattern yyyy-MM-dd
--

FileOperationLog

=========================================================================
対応OS : Linux.x86 / Windows
書式 : FileOperationLog <flag-available>[ <log-rotation-conf>][ <log-path>]
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
-------------------------------------------------------------------------
log-rotation-conf
書式 : ( FileSize <file-size> <backups> | DatePattern <date-pattern> )
-------------------------------------------------------------------------
file-size
既定値 : なし
値の範囲 : 符号あり倍長整数
-------------------------------------------------------------------------
backups
既定値 : なし
値の範囲 : 符号なし整数
-------------------------------------------------------------------------
date-pattern
既定値 : なし
値の範囲 : yyyy-MM, yyyy-MM-dd, yyyy-MM-dd-HH, yyyy-MM-dd-HH-mm
-------------------------------------------------------------------------
log-path
既定値 : なし
値の範囲 : ファイルシステムのパス文字列
=========================================================================

ファイル操作をロギングする機能を設定します。

flag-availableにyesを指定するとファイル操作のログを出力します。

log-rotation-confは、出力のローテーションを指定します。SystemLogで設定するローテーションと同様の動作を行います。

FileSizeとDatePatternでそれぞれ統計ログの基準パスとして指定されたパスをもとに次の様にローテーションが行われます。

// FileSizeの場合
<ログのパス>
<ログのパス>.1
<ログのパス>.2
...
<ログのパス>.n
// DatePatternの場合
<ログのパス>
<ログのパス>.2019-12-10
<ログのパス>.2019-12-09
...

ローテーションされたファイルに統計情報のヘッダは含まれません。

log-pathは、ログを出力するファイルのパスを指定します。指定しない場合は、次の値が使用されます。

/var/log/hcpd.file.operation.log (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/hcpd.file.operation.log (Windows)

ファイルの操作ログでは、次のファイルI/O処理を記録します。

  • ファイル読込み終了
  • ファイル書込み終了
  • ファイル削除(同期による削除を含む)
  • ディレクトリ作成
  • ファイルリネーム
  • ハードリンク作成
  • シンボリックリンク作成
  • ファイルリスト参照

また、アプリケーションの送達確認を含めた記録として次の様な情報も記録されます。

  • ファイル転送アップロード完了
  • ファイル転送ダウンロード完了
  • ファイル同期完了
  • ファイル削除完了
  • ディレクトリ作成完了
  • ファイルリネーム完了
  • ハードリンク作成完了
  • シンボリックリンク作成完了

共通する情報として、次の項目が記録されます。

  • 日時
  • アクセス元IP及びポート番号
  • ユーザ名

ファイルパスは、各処理毎に固有の内容が記録されます。

ログは次の書式で出力されます。

=========================================================================
書式:
yyyy/mm/dd HH:MM:SS.<usec> <remote-ip> <username> <hcp-operation-name>[ <sub-operation-label>] <path>...
yyyy/mm/dd HH:MM:SS.<usec> <remote-ip> <username> <file-io-operation-name>\[<hcp-operation-name>\] <path>...
-------------------------------------------------------------------------
usec
値の範囲 : マイクロ秒(000000 - 999999)
-------------------------------------------------------------------------
remote-ip
値の範囲 : アクセス元IP及びポート番号
-------------------------------------------------------------------------
username
値の範囲 : ユーザ名及び認証方式
-------------------------------------------------------------------------
hcp-operation-name
値の範囲 : FT, FS, FR, LR, DC, FM, FL
-------------------------------------------------------------------------
sub-operation-label
値の範囲 : U, D, H, S
-------------------------------------------------------------------------
file-io-operation-name
値の範囲 : FileRead, FileWritten, FileDeleted, DirectoryCreated,
FileRenamed, LinkCreated, SymbolicLinkCreated, ListFilesRawFormat
=========================================================================

hcp-operation-nameは、次のアプリケーションの種別を区別するラベルを表します。

  • FT (ファイル転送)
  • FS (ファイル同期でのファイル削除)
  • FR (ファイル削除)
  • LR (ファイル一覧 ls, dir出力)
  • DC (ディレクトリ作成)
  • FM (ファイル移動)
  • FL (リンク作成)

sub-operation-labelは、特定のアプリケーションの種別で処理の種類を分類するためのラベルを表します。

  • U (アップロード。FTで表示)
  • D (ダウンロード。FTで表示)
  • H (ハードリンク作成。FLで表示)
  • S (シンボリックリンク作成。FLで表示)

file-io-operation-nameは、ファイルのI/O操作の種別を区別するラベルを表します。

  • FileRead (ファイル読込み終了)
  • FileWritten (ファイル書込み終了)
  • FileDeleted (ファイル削除実施済み)
  • DirectoryCreated (ディレクトリ作成済み)
  • FileRenamed (ファイル名変更済み)
  • LinkCreated (ハードリンク作成済み)
  • SymbolicLinkCreated (シンボリックリンク作成済み)
  • ListFilesRawFormat (lsもしくはdir実行予定)
--
出力例:
2020/01/31 10:34:52.277120 127.0.0.1:51660 user[PAM] FileWritten[FT] /home/user/file_nodiskio_0
2020/01/31 10:34:52.277175 127.0.0.1:51660 user[PAM] FT U /home/user/file_nodiskio_0
2020/01/31 10:35:14.946750 127.0.0.1:51662 user[PAM] FileRead[FT] /home/user/file_nodiskio_0
2020/01/31 10:35:15.002770 127.0.0.1:51662 user[PAM] FT D /home/user/file_nodiskio_0
2020/01/31 10:35:30.002700 127.0.0.1:51662 user[PAM] FS /home/user/dir_sync/stat.log
2020/01/31 10:35:30.013558 127.0.0.1:51664 user[PAM] FileDeleted[FS] /home/user/dir_sync/stat.log
2020/01/31 10:35:47.713558 127.0.0.1:51664 user[PAM] FileDeleted[FR] /home/user/stat.3.log
2020/01/31 10:35:47.765413 127.0.0.1:51664 user[PAM] FR /home/user/stat.3.log
2020/01/31 10:38:45.686206 127.0.0.1:51670 user[PAM] DirectoryCreated[DC] /home/user/hmkdir13
2020/01/31 10:38:45.789370 127.0.0.1:51670 user[PAM] DC /home/user/hmkdir13
2020/01/31 10:39:22.411968 127.0.0.1:51674 user[PAM] FileRenamed[FM] /home/user/stat.log /home/user/stat2.log
2020/01/31 10:39:22.463710 127.0.0.1:51674 user[PAM] FM /home/user/stat.log /home/user/stat2.log
2020/01/31 10:40:00.087660 127.0.0.1:51678 user[PAM] SymbolicLinkCreated[FL] /home/user/stat2.log /home/user/stat.log
2020/01/31 10:40:00.165831 127.0.0.1:51678 user[PAM] FL S /home/user/stat2.log /home/user/stat.log
2020/01/31 10:40:13.693415 127.0.0.1:51680 user[PAM] LinkCreated[FL] /home/user/stat2.log /home/user/stat.h.log
2020/01/31 10:40:13.746160 127.0.0.1:51680 user[PAM] FL H /home/user/stat2.log /home/user/stat.h.log
2020/02/06 13:54:21.282066 127.0.0.1:50186 user[PAM] ListFilesRawFormat[LR] /home/user/hmkdir4
2020/02/06 13:54:21.282104 127.0.0.1:50186 user[PAM] ListFilesRawFormat[LR] /home/user/hmkdir5
--

--
例1:
FileOperationLog yes
例2:
FileOperationLog yes FileSize 10MB 10
例3:
FileOperationLog yes DatePattern yyyy-MM-dd
例4:
FileOperationLog yes FileSize 10MB 10 /var/tmp/hcpd.file.operation.log
--

StatLogPerUserInPrivilegeSeparation

=========================================================================
対応OS : Linux.x86 / Windows
書式 : StatLogPerUserInPrivilegeSeparation <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

特権分離を使用している場合の統計ログをユーザ毎に記録するか設定します。

--
例:
StatLogPerUserInPrivilegeSeparation yes
--

ApplicationStatLogSecurityEx

=========================================================================
対応OS : Linux.x86 / Windows
書式 : ApplicationStatLogSecurityEx <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

アプリケーション統計ログでセキュリティに関する詳細情報を出力するか設定します。

--
例:
ApplicationStatLogSecurityEx no
--

システム動作環境設定・CPUスレッド制限

MaxConcurrentThread

=========================================================================
対応OS : Linux.x86
書式 : MaxConcurrentThread <max-threads>
-------------------------------------------------------------------------
max-threads
既定値 : 0
値の範囲 : 符号付整数
=========================================================================

スレッド数制限を設定します。

システム動作環境設定・アプリケーション連携機能

CallbackScript

=========================================================================
対応OS : Linux.x86
書式 : CallbackScript <flag-available>[ <script-path>[ <data-store-path>]]
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
-------------------------------------------------------------------------
script-path
既定値 : なし
値の範囲 : ファイルシステムのパス文字列
-------------------------------------------------------------------------
data-store-path
既定値 : なし
値の範囲 : ファイルシステムのパス文字列
=========================================================================

アプリケーションの実行が終了したタイミングで呼び出すスクリプト(プログラム)を設定します。

flag-availableにyesを指定するとスクリプトの呼出を有効にします。

script-pathは、スクリプトのパスを指定します。チルダ(~)を先頭に使用すると、アプリケーションを実行しているユーザ(認証されたユーザ)のホームディレクトリを展開して使用します。

data-store-pathは、スクリプトの実行時に与えられるデータ(パラメータ情報や実行結果)を保存するパスを指定します。チルダ(~)を先頭に使用すると、アプリケーションを実行しているユーザ(認証されたユーザ)のホームディレクトリを展開して使用します。

全てのアプリケーションの処理が終了すると、その直後に次の様な書式でコマンドを実行します。

=========================================================================
コマンド書式 : <script-path> <exit-code> <start-date-and-time> <end-date-and-time> <remote-ip> <username> <hcp-operation-name> <param-saved-path> <output-saved-path>
-------------------------------------------------------------------------
script-path
値の範囲 : ファイルシステムのパス文字列(チルダ展開済み)
-------------------------------------------------------------------------
exit-code
値の範囲 : 終了コード
-------------------------------------------------------------------------
start-date-and-time
値の範囲 : 次の書式の日時 YYYY/MM/DD hh:mm:ss
-------------------------------------------------------------------------
end-date-and-time
値の範囲 : 次の書式の日時 YYYY/MM/DD hh:mm:ss
-------------------------------------------------------------------------
remote-ip
値の範囲 : アクセス元IPアドレス及びポート番号
-------------------------------------------------------------------------
username
値の範囲 : ユーザ名及び認証方式
-------------------------------------------------------------------------
hcp-operation-name
値の範囲 : hcp, hrm, hcp-ls, hmkdir, hpwd, hmv, hln, transfer, remove,
listraw, mkd, pwd, move, link, cwd
-------------------------------------------------------------------------
param-saved-path
値の範囲 : ファイルシステムのパス文字列
-------------------------------------------------------------------------
output-saved-path
値の範囲 : ファイルシステムのパス文字列
=========================================================================

script-pathには、hcpd.confで設定されたスクリプトパスにチルダ(~)展開が実施されたパスが使用されます。

exit-codeには、実行したアプリケーションの終了結果を表す理由コードが渡されます。アプリケーション統計に記録される理由コードと同じものが渡されます。

start-date-and-time及びend-date-and-timeには、それぞれアプリケーションの処理を開始した日時と終了した日時が渡されます。

hcp-operation-nameには、次のアプリケーション(APIオペレーション)の種別を区別するラベルが渡されます。

  • hcp (ファイル転送コマンド)
  • hrm (ファイル削除コマンド)
  • hcp-ls (ファイル一覧コマンド)
  • hmkdir (ディレクトリ作成コマンド)
  • hpwd (ワーキングディレクトリ出力コマンド)
  • hmv (ファイル移動コマンド)
  • hln (リンク作成コマンド)
  • transfer (APIファイル転送処理)
  • remove (APIファイル削除処理)
  • listraw (APIファイル一覧処理)
  • mkd (APIディレクトリ作成処理)
  • pwd (APIワーキングディレクトリ取得処理)
  • move (APIファイル移動処理)
  • link (APIリンク作成処理)

param-saved-pathには、入力パラメータの情報が保存されたファイルのパスが渡されます。このファイルには、クライアントで確認できる実行結果記録(.hcp.out)のうちサーバ上で特定された指定されたパス情報と処理のオプションが記録されます。

--
出力例:
[user@localhost ~]$ cat .hcp/callback/hcp.cb.20200206_152252_468.13521.param
OPT copy_mode ALLCOPY
OPT overwrite_mode FORCE
OPT fail_action_mode HALT
OPT preserve_permission no
OPT recursive yes
OPT any_dirs no
OPT regex no
OPT verify_payload no
OPT copy_symlink no
OPT follow_symlink no
OPT no_copy_empty_file no
OPT no_copy_empty_dir no
OPT no_copy_dot_file no
OPT no_copy_dot_dir no
OPT copy_hidden no
OPT check_archive no
OPT resuming no
OPT no_app_io yes num_files 1 file_size 1024
OPT no_sess_io no
SRC /home/user
--

output-saved-pathには、実行結果の情報が保存されたファイルのパスが渡されます。このファイルには、クライアントで確認できる実行結果記録(.hcp.out)のうち各ファイルの実行結果に相当する内容が記録されます。

--
出力例:
[user@localhost ~]$ cat .hcp/callback/hcp.cb.20200206_152252_468.13521.out
OK 0000 FT 00000001 /home/user/file_nodiskio_0
--

--
例:
CallbackScript yes /var/tmp/hcp_callback.sh /var/tmp/hcp_callback
--

CallbackScriptHomeIsolation

=========================================================================
対応OS : Linux.x86
書式 : CallbackScriptHomeIsolation <flag-available>[ <logical-opt>]
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
-------------------------------------------------------------------------
logical-opt
既定値 : なし
値の範囲 : logical
=========================================================================

CallbackScript設定で呼び出されるスクリプトをユーザのホームディレクトリ配下に限定します。

logical-optに'logical'を指定した場合は、論理パス(シンボリックリンクを解決しないパス)によるチェックを行います。

--
例:
CallbackScriptHomeIsolation yes logical
--
=========================================================================
対応OS : Linux.x86
書式 : CallbackScriptNoSymbolicLink <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : no
値の範囲 : yes, no
=========================================================================

CallbackScript設定で指定されたスクリプトがシンボリックリンクの場合は実行しないように指定します。

--
例:
CallbackScriptNoSymbolicLink yes
--

その他

EnsureDestinationInFileTransfer

=========================================================================
対応OS : Linux.x86 / Windows
書式 : EnsureDestinationInFileTransfer <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

ファイル転送で宛先のディレクトリが存在しない場合に、作成を試みるか制御します。本オプションは、1.1.0以降のソフトウェアでは常に無効(no)として動作します。

 --
例:
EnsureDestinationInFileTransfer no
--