$Date: 2017/04/11 10:18:29 $
ONFS で使用している外部ストレージには、ネットワーク上の PC から Windows のファイル共有機能を用いてアクセスします。ONFS のファイル共有機能の仕様について説明します。
ファイル共有 | ||
---|---|---|
クライアント PC の対応 OS | Microsoft Windows XP (※1) Microsoft Windows Vista (※1) Microsoft Windows 7 |
|
対応プロトコル | NetBIOS SMB1.0/SMB2.0 NBT (NetBIOS over TCP/IP)/CIFS (Direct Hosting SMB Service) |
(※1) マイクロソフト社の Windows OS サポート終了をもって、Windows OS における本機能のサポートを終了しました。
ONFS は Microsoft ネットワークのファイル共有機能に対応しており、SMB/CIFS プロトコルによりファイル共有を行います。Microsoft ネットワークはワークグループ・ネットワークに対応しており、NT ドメイン・ネットワークと Active Directory ドメイン・ネットワークには対応していません。ファイル共有機能を使用するためには、本資料の設定をする前に ONFS ファイルシステムの設定が必要です。
Microsoft ネットワークの初期設定は次のようになっています。この設定は、ルーター GUI の ONFS 設定ページ、または、onfs sharing service コマンドから変更が可能です。
コンピューターの名前 | 機種名-XXXXXX (X:ルーターの LAN1 MACアドレス下位3バイト) |
コンピューターの説明 | Yamaha Router |
ネットワーク種別 | ワークグループ |
ワークグループ名 | WORKGROUP |
Windows エクスプローラーでこのコンピューター名を探してアクセスするか、ルーターのアドレスを指定してアクセスすると、外部ストレージ上の共有フォルダー ( system/local/sync ) が参照できます。共有フォルダーの種別については ONFS ファイルシステムを参照してください。
system フォルダーはルーター管理者のみがアクセスできるように、最初からユーザー認証が設定されています。ネットワーク上の PC から system フォルダーにアクセスすると認証ダイアログが開くので、ユーザー名とパスワードを下記の通り入力してください。system フォルダーのユーザー認証を無効にしたり、ユーザー名を変更することはできません。
ユーザー名:rtadmin
パスワード:( onfs reset コマンドで設定したパスワード )
なお、共有フォルダー ( 共有リソース ) にアクセスしたとき、Windows の初期設定状態ではまず Windows のログオンユーザー名でユーザー認証処理が行われます。したがって、最初に local フォルダー、または、sync フォルダーへアクセスすると任意のユーザー名で接続できてしまうために、そのユーザー名が特定の共有リソース ( 特定のネットワークアドレス ) に対する接続情報として Windows にキャッシュされてしまうことがあります。その状態では、system フォルダーにアクセスしたときに表示される認証ダイアログで上記のユーザー名とパスワードを入力しても、system フォルダーへの接続ができなくなることがあります。また、同一のアドレスから同時に複数のユーザー名で共有リソースへ接続することも禁止されているため、共有リソースへの接続中にユーザー名を変更することもできません。これらの原因により system フォルダーへ接続することができない場合は、下記のようなエラー画面が表示されます。
( Windows 7 の例 )このように、system フォルダーへ接続できない場合は次の対処を行ってください。
C:\Users>net use 新しい接続は記憶されます。 ステータス ローカル名 リモート名 ネットワーク名 ------------------------------------------------------------------------------- OK N: \\hogehoge\abc Microsoft Windows Network OK \\NVR500-FFFFFF\local Microsoft Windows Network ★ OK \\NVR500-FFFFFF\IPC$ Microsoft Windows Network ★ コマンドは正常に終了しました。
C:\Users>net use \\NVR500-FFFFFF\IPC$ /delete \\NVR500-FFFFFF\IPC$ が削除されました。 C:\Users>net use \\NVR500-FFFFFF\local /delete \\NVR500-FFFFFF\local が削除されました。
なお、一度 system フォルダーへの接続に成功した PC ではその接続情報が Windows にキャッシュされるので、Windows をログオフしない限りは認証ダイアログが表示されなくなります。さらに、認証ダイアログの入力時に 「パスワードを記憶する」、もしくは、「資格情報を記憶する」 のチェックボックスをチェックしておくと、入力したユーザー名とパスワードが特定のネットワークアドレスに対する接続情報として Windows に登録されるので、Windows の再起動後もユーザー名とパスワードを入力することなく system フォルダーへ接続できるようになります。
この特定のネットワークアドレスに対するログオンユーザー名とパスワード ( 以降、ログオン情報と呼ぶ ) は、事前に Windows に登録しておくこともできます。
onfs sharing host コマンドで共有フォルダーへのアクセスを許可するホストやセグメントを任意に設定できます。したがって、不必要なセグメントにまでファイルを公開せずに済みます。
(注) アクセス制御機能は Rev.11.00.13 以降のファームウェアで対応しています。
任意のファイル/フォルダー単位で、ユーザー名/グループ名によるアクセス制限をかけることが可能です。アクセス権の登録されたリストを ACL ( Access Control List ) と呼び、ACL の設定は set-acl コマンドから行います。なお、共有フォルダーの local/sync フォルダー自身、および、 local/sync フォルダーよりも下位にあるファイル/フォルダーが ACL の設定対象となります。system フォルダーは常にルーターの管理者権限を持つユーザーのみがフルアクセスできるように設定されており、アクセス権の変更はできません。
ミラーリング機能を使用している場合は、ミラーリングされたファイル/フォルダーに付随する ACL もミラーリンググループ内で共有されます。したがって、アクセス制限のかけてあるファイル/フォルダーが他の拠点へミラーリングされた場合、ミラーリング先の拠点においてもアクセス権を持つユーザーしかアクセスすることができないようになっています。ただし、アクセス制御機能の搭載されていないファームウェアを使っている拠点があったり、アクセス制御機能を有効にしていない ( onfs sharing acl コマンドで on を設定していない ) 拠点がある場合は、ミラーリングによってアクセス制限が解除されてしまうことがあることに注意してください。
ユーザー/グループ管理
アクセス制御機能を使用するためには、事前にルーターにユーザーとグループの設定を入れておく必要があります。それぞれ、onfs sharing user / onfs sharing group コマンドで設定します。ミラーリング機能を使用する場合は、ミラーリンググループ内で sync フォルダー内の ACL が共有されるため、ACL の設定内容に合わせて、ユーザー/グループを各拠点のルーターで個別に設定する必要があります。言い換えれば、ユーザー/グループの設定に関しては各拠点で異なる設定をすることができるため、例えば、"staff" というグループ名でアクセス制限のかけられているフォルダーがある場合、"staff" に所属するユーザーを各拠点で変更し、拠点ごとにアクセスを許可するユーザーを変える、といった運用が可能になります。
アクセス権の種別
アクセス権の種別には次の3種類があります。このアクセス権をユーザー単位/グループ単位で設定します。
アクセス制御機能を有効にするために必要な操作の流れを、例を挙げて説明します。各コマンドの詳細な仕様については後述のコマンド仕様を参照してください。
[ アクセス権の設定内容 ]
[ アクセス権の設定手順 ]
# onfs sharing user 1 ichiro passwod1 # onfs sharing user 2 jiro password2 # onfs sharing user 3 saburo password3 # onfs sharing group 1 support-g 2 3
ユーザー名/パスワードは、当該ユーザーが通常利用している Windows アカウントのユーザー名/パスワードと同一の設定をすることを推奨します。Windows アカウントとは異なる設定をする場合、アクセスするルーターに対するログオン情報を事前に Windows に登録しておく必要があります。ログオン情報の設定方法は下記のページで紹介しています。なお、下記のページでは system フォルダーへのアクセス権を持つ "rtadmin" の設定例を示しているので、設定例の中のユーザー名/パスワードには onfs sharing user コマンドで設定したユーザー名/パスワードを設定するようにしてください。
# set-acl usb1:/sync/kyoten1_report user:ichiro:w other::r アクセス権を設定しました # set-acl usb1:/local/support group:support-g:w other::- アクセス権を設定しました
# show acl usb1:/sync/kyoten1_report [ usb1:/sync/kyoten1_report ] u:ichiro:w o::r --------------------------+--------------------------+--------------- <user> R W | <group> R W | <other> R W ichiro o o | | o - --------------------------+--------------------------+--------------- # show acl usb1:/local/support [ usb1:/local/support ] g:support-g:w o::- --------------------------+--------------------------+--------------- <user> R W | <group> R W | <other> R W | support-g o o | - - --------------------------+--------------------------+---------------
# onfs sharing acl on
これで設定は完了です。set-acl コマンドはストレージが接続されていればいつでも実行することができるので、ファイル共有機能の利用中でも ACL を自由に変更することができます。上記で設定した ACL を変更する場合の操作方法を下記に示します。
[ アクセス権の変更内容 ]
[ アクセス権の設定手順 ]
# set-acl usb1:/sync/kyoten1_report user:jiro:w アクセス権を設定しました # show acl usb1:/sync/kyoten1_report [ usb1:/sync/kyoten1_report ] u:ichiro:w u:jiro:w o::r --------------------------+--------------------------+--------------- <user> R W | <group> R W | <other> R W ichiro o o | | o - jiro o o | | --------------------------+--------------------------+---------------
# clear acl usb1:/local/support アクセス権の設定を消去しました # set-acl /local/support user:jiro:w user:saburo:w other::- アクセス権を設定しました
ACL が存在しないファイル/フォルダーのアクセス制御規則
ACL を設定していないファイル/フォルダーや、".rtacl" が破壊されていて ACL を読み取ることができないファイル/フォルダーへアクセスする場合、ACL の設定があるフォルダーが見つかるまで上位階層へさかのぼっていき、最初に見つかった ACL のアクセス権に従います。ただし、共有フォルダーの local/sync 自身の ACL が設定されていない場合は、local/sync フォルダーへのすべてのアクセスを許可します。したがって、最上位である共有フォルダー local/sync までさかのぼっても ACL が見つからなかった場合は、すべてのアクセスが許可されることになります。
このように、ACL が存在しないファイル/フォルダーへのアクセス制御は上位フォルダーの ACL に従うという規則があるため、一つのフォルダーに ACL を設定しておくだけで、それより下位にあるすべてのファイル/フォルダーがその ACL に従うことになります。
ストレージ交換時の ACL の引き継ぎ
本機能で設定した ACL ( ".rtacl" ファイル ) はストレージの各共有フォルダーよりも下位の階層に保存されているので、ストレージを交換する際に共有フォルダーごとコピーしておけば、新しいストレージへの交換後も ACL の再設定をする必要はなく、交換前と同じ内容のアクセス制御が働きます。
Microsoft ネットワークはワークグループ・ネットワークに対応しており、NT ドメイン・ネットワークと Active Directory ドメイン・ネットワークには対応していません。
本機能で使用しているストレージを PC に直接繋いで参照する場合はアクセス制御が働きません。また、PC から直接ストレージ内の ".rtacl" ファイルに変更を加えないでください。".rtacl" ファイルに変更を加えると、ファイル共有機能のアクセス制御が正常に動作しなくなる恐れがあります。
onfs reset コマンドの実行が正常に終了しても、LAN / PP インタフェースのうち一つも通信可能なインタフェースがない状態ではファイル共有機能が起動しませんが、LAN / PP インタフェースのいずれかが通信可能な状態になるとファイル共有機能が自動的に起動します。これは ONFS の設定済みのルーターが起動するときも同様です。
Windows Vista 以降の Windows OS において、Windows エクスプローラーを使用して共有フォルダー内の任意のフォルダーのプロパティ画面を開き、カスタマイズタブを一度でも選択してから OK ボタンを押すと Windows エクスプローラーが強制終了します。本現象については Windows 側の問題と考えられるため、Microsoft 社へレポートを送っています。
ルーターから外部ストレージを抜くときは、USB ボタン または microSD ボタンを 2 秒間押し続けてください。外部ストレージを安全に抜くための処理がルーター側で行われます。アラームが鳴り、LED が消灯したことを確認したら外部ストレージを静かに抜いてください。手順を守らない場合、外部ストレージ内部のデータが破損する恐れがあります。
SWITCH |
|
OPTION = VALUE 列 |
OPTION | VALUE | 説明 |
---|---|---|
name | コンピューター名 | Microsoft ネットワークで使用するコンピューター名 ( 半角15文字以内 ) |
description | コンピューターの説明 | Microsoft ネットワークで使用するコンピューターの説明 ( 半角48文字以内 または 全角24文字以内 ) |
workgroup | ワークグループ名 | Microsoft ネットワークで使用するワークグループ名 ( 半角15文字以内 ) |
wins | WINS サーバーアドレス | Microsoft ネットワークの WINS サーバーの IPアドレス |
オプションでは Microsoft ネットワークに関するルーターのネットワーク設定を変更することができる。
name オプションと workgroup オプションで指定する名前の命名規則は次の通りである。
また、set コマンドで環境変数 HOSTNAME(大文字)を設定することで、その名前をコンピューター名に使用することもできる。環境変数 HOSTNAME は本コマンドの name オプションの設定よりも優先される。
description オプションで設定したコンピューターの説明は、コンピューターのプロパティ画面に表示され、Windows エクスプローラーの詳細表示画面のコメント欄には表示されない。なお、Windows Vista 以降の Windows OS からはコンピューターの説明は参照できない。
HOST |
|
ID ... | ユーザーの識別番号 ( 1 .. 20 ) |
USER_NAME ... | ユーザー名 ( 半角20文字以内 または 全角10文字以内 ) |
PASSWORD ... | パスワード ( 半角64文字以内 ) |
USER_NAME の命名規則は次の通りである。
system フォルダーへのアクセス権限を持つ "rtadmin" というユーザー名も本コマンドで設定することが可能であるが、パスワードを変更することはできないため、"rtadmin" を設定する場合は PASSWORD の指定はできない。"rtadmin" も他のユーザーと同様に set-acl コマンドでアクセス権を設定することが可能である。
ユーザー名/パスワードは、当該ユーザーが通常利用している Windows アカウントのユーザー名/パスワードと同一の設定をすることを推奨する。Windows アカウントとは異なる設定をする場合、アクセスするルーターに対するログオン情報を事前に Windows に登録しておく必要がある。Windows エクスプローラーで共有フォルダーへアクセスしたときに認証ダイアログが表示された場合は、本コマンドで設定したユーザー名とパスワードを入力する。
ID ... | グループの識別番号 ( 1 .. 10 ) |
GROUP_NAME ... | グループ名 ( 半角20文字以内 ) |
USER_LIST ... | グループに所属するユーザーの識別番号を空白で区切って並べる |
GROUP_NAME の命名規則は次の通りである。
USER_LIST には onfs sharing user コマンドで設定されている識別番号を指定する。グループ単位でアクセス制限のかけれられているファイル/フォルダーには、当該グループに所属し、かつ、onfs sharing user コマンドで設定されているユーザー情報に一致するユーザーがアクセス可能となる。
SWITCH |
|
STORAGE_IF |
|
PATH | ... ACL を設定するファイルまたはフォルダーを "/" ( ルート ) からの絶対パスで指定する |
ACL | ... 3 つの項目をコロン 「 : 」 で区切り指定する ( 1 つ目の項目の user/group/other はそれぞれ u/g/o と省略することが可能 ) |
|
ACL には次の 3 つの指定形式があり、同時に複数の ACL 句を指定することが可能である。
ユーザー単位あるいはグループ単位のアクセス権が設定されたファイル/フォルダーは、自動的にその他のユーザーのアクセスが拒否されるように設定される。したがって、" other::- " という ACL 句は必ずしも設定する必要はない。
複数の ACL 句でアクセス権の設定が重複するユーザーが存在する場合、次の規則に基づきアクセス権が決定される。
アクセス対象のファイル/フォルダーに ACL が存在しなかった場合は、上位階層へさかのぼり、最初に見つかった ACL のアクセス権が適用される。なお、最上位である共有フォルダー local/sync までさかのぼっても ACL が見つからなかった場合は、すべてのアクセスが許可される。
STORAGE_IF:PATH の部分は相対パスを指定することが可能である。相対パスを指定した場合、環境変数 PWD を基点としたパスと解釈される。PWD は set コマンドで変更可能であり、初期値は "/" である。
STORAGE_IF |
|
PATH | ... ACL を消去するファイルまたはフォルダーを "/" ( ルート ) からの絶対パスで指定する |
all を指定した場合は、PATH 配下にあるすべてのファイル/フォルダー ( PATH が指すフォルダーも含む ) に対して設定されている ACL を消去する。この場合、PATH に "/" ( ルート ) を指定すればファイル共有機能で使用している ACL を一度に全消去することができる。
all を指定しない場合は、PATH が指すファイル/フォルダーに設定されている ACL のみを消去する。この場合、PATH には "/" ( ルート ) などの共有フォルダー外のパスを指定することはできない。
STORAGE_IF:PATH の部分は相対パスを指定することが可能である。相対パスを指定した場合、環境変数 PWD を基点としたパスと解釈される。PWD は set コマンドで変更可能であり、初期値は "/" である。
STORAGE_IF |
|
PATH | ... 表示対象のファイルまたはフォルダーを "/" ( ルート ) からの絶対パスで指定する |
all を指定した場合は、PATH 配下にあるすべてのファイル/フォルダー ( PATH が指すフォルダーも含む ) に対して設定されている ACL を表示する。この場合、PATH に "/" ( ルート ) を指定すればファイル共有機能で使用しているすべての ACL を表示させることができる。
all を指定しない場合は、PATH が指すファイル/フォルダーに設定されている ACL のみを表示する。この場合、PATH には "/" ( ルート ) などの共有フォルダー外のパスを指定することはできない。
STORAGE_IF:PATH の部分は相対パスを指定することが可能である。相対パスを指定した場合、環境変数 PWD を基点としたパスと解釈される。PWD は set コマンドで変更可能であり、初期値は "/" である。
INFO ... | 表示する情報の種類 |
|
[表示例] # show status onfs [file system] 状態: ファイル共有機能が稼動しています 使用インタフェース: usb1 空き容量/全容量: 1949104288k/2000388063744 bytes [sharing] NetBIOS: 稼動中 SMBサーバー: 稼動中 開始日時: 2010/09/16 10:39:06 稼動時間: 2時間40分18秒 ネットワーク設定 コンピューター名: NVR500-FFFFFF ワークグループ名: WORKGROUP 現在のログオンユーザー ユーザー数: 1 ユーザー名 IP アドレス ログオン日時 ----------------- --------------- ------------------- rtadmin 192.168.1.10 2010/09/16 13:19:18 ----------------- --------------- ------------------- ログオン履歴 (直近30件まで表示) 合計ログオン回数: 3 ユーザー名 IP アドレス ログオン日時 ----------------- --------------- ------------------- rtadmin 192.168.1.10 2010/09/16 13:19:18 hoge 192.168.1.49 2010/09/16 11:42:37 hoge 192.168.1.49 2010/09/16 10:39:19 ----------------- --------------- ------------------- [mirroring] 状態: ミラーリング機能は設定されていません