$Date: 2025/11/20 15:09:00 $
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 が消灯したことを確認したら外部ストレージを静かに抜いてください。手順を守らない場合、外部ストレージ内部のデータが破損する恐れがあります。