TeraStationとrsync
rsyncdはデフォルトで動作している
TeraStationは各共有フォルダの設定の「公開先」に「バックアップ」というチェックボックスがあり、ONにすることでrsyncで転送できる共有フォルダになります。
共有フォルダの設定画面は以下のような感じで、FTPにチェックを入れるとFTPクライアントからTeraStationにアクセスできます。
nmapなどでTeraStationをポートスキャンしてみると、以下のようにポート873でrsyncdが待ち受けているのがわかります。
デフォルトの状態でrsyncdは動作していますが、共有フォルダの設定で「バックアップ」にチェックが無いと転送できません。
[root@sakue]# nmap -sT 192.168.2.170 Starting Nmap 6.40 ( http://nmap.org ) at 2021-01-14 10:52 JST Nmap scan report for 192.168.2.170 Host is up (0.0012s latency). Not shown: 990 closed ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 80/tcp open http 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds 548/tcp open afp 873/tcp open rsync 8873/tcp open dxspider 22939/tcp open unknown MAC Address: 10:6F:3F:03:44:08 (Buffalo) Nmap done: 1 IP address (1 host up) scanned in 0.53 seconds
rsyncで転送できるフォルダを確認
rsyncクライアントが使えるLinux端末などから以下のように実行します。
rsync -avn rsync://[TeraStationのIPアドレス]/ .
TeraStationのIPアドレスが「192.168.2.170」の場合は以下です。
rsync -avn rsync://192.168.2.170/ .
すると「バックアップ」にチェックが入っているrsync対応の共有フォルダがリストで返ってきます。
array1_test
上記の例では1つだけですが、「バックアップ」にチェックが入っているフォルダはすべて表示され、rsyncで転送する場合は、この「array1_XXXX」という文字列で転送先を指定します。
rsyncでTeraStationへ転送
注意点として、所有者や権限がそのままだと(例えばroot)、SambaやFTPで削除しようとしても権限がないので削除できなくなります。
以下はFileZillaで削除しようとして失敗した例です。
10:18:10 エラー: rm /mnt/array1/test/test.txt: permission denied
このため「所有者をTeraStationのユーザーにして転送」するか、「アクセス権を777」などにして転送するなどの対処が必要です。
ブラウザからのWebコンソール?ではファイルを直接操作できませんが、共有フォルダの削除をすれば一応削除はできます(フォルダごと削除ですが)
アクセス権を変更して転送
「–chmod=」オプションでアクセス権を指定して転送できます。
「a+」はその後に続く権限を付与で、「rwx」なので、すべてのユーザーに「読み」「書き」「実行」を付与するので、数字だと「777」と同じ意味です。
rsync -av --chmod=a+rwx [転送元] rsync://[TeraStationのIP]/[転送先]
パーミッションを「777」にし、「/home/sakue/」ディレクトリをTeraStationの「test」フォルダに転送する例です。
rsync -av --chmod=a+rwx /home/sakue/ rsync://192.168.2.170/array1_test
TeraStationの「転送先」で指定する文字列は以下で確認できます(共有フォルダの設定でバックアップにチェックがあるフォルダのみリストアップ)
rsync -avn rsync://[TeraStationのIP]/ .
TeraStationのIPアドレスが「192.168.2.170」の場合は以下です。
rsync -avn rsync://192.168.2.170/ .
「array1_共有フォルダ名」という文字列がリストアップされますが、rsyncで転送する場合は、この「array1_XXXX」という文字列で転送先を指定します。
FTPクライアントなどからアクセスしてみると、所有者はrootのままですが、パーミッションが「777」になっているのがわかります。
所有者をTeraStationのユーザーにして転送
rsyncには「–usermap=」というオプションもあり、元の所有者を別の所有者に変更して転送できます。
TeraStationでユーザーごとに細かく管理している場合は、この方法でTeraStationのユーザーに変更して転送してやります。
rsync -av --usermap=[元のユーザー]:[変更後ユーザー] [転送元] rsync://[TeraStationのIP]/[転送先]
以下の条件で転送する例です。
- 元の所有者はroot
- 変更後の所有者はsakue
- 転送対象ディレクトリは/home/sakue/
- TeraStationのIPは192.168.2.170
- TeraStation側の転送先フォルダはarray1_test
rsync -av --usermap=root:sakue /home/sakue/ rsync://192.168.2.170/array1_test
TeraStationの「転送先」で指定する文字列は以下で確認できます(共有フォルダの設定でバックアップにチェックがあるフォルダのみリストアップ)
rsync -avn rsync://[TeraStationのIP]/ .
TeraStationのIPアドレスが「192.168.2.170」の場合は以下です。
rsync -avn rsync://192.168.2.170/ .
「array1_共有フォルダ名」という文字列がリストアップされますが、rsyncで転送する場合は、この「array1_XXXX」という文字列で転送先を指定します。
FTPクライアントなどからアクセスしてみると、「所有者」が先程指定した「sakue」になっているのが確認できます。
コメントフォーム