WalkerCahallによるRsyncのイラスト
はじめに
このチュートリアルでは、Linuxサーバーでrsyncデーモンを設定する方法について説明します。誰でも(または自分だけで)既存のファイルをダウンロードしたり、新しいファイルをアップロードしたりできるようにしたいファイルがある場合は、rsyncデーモンが必要になることがあります。このガイドでは、rsyncを独自のデーモンとして実行することと、xinetdを介して実行することの両方を確認します。
前提条件
– rsyncがインストールされたLinuxサーバー–サーバーがまだない場合は、堅牢で信頼性の高いVPSサーバーを30秒以内に起動してみませんか。
–(オプション)Xinetdがインストールされています。
–適切な権限rsyncデーモンで読み取りおよび/または書き込みを行います(このチュートリアルでは、rootユーザーとして実行されるコマンドを示します)。
Rsyncデーモンのセットアップ
まず、お好みのテキストエディタを使用して、構成ファイル /etc/rsyncd.conf
を作成する必要があります 、まだお持ちでない場合。以下は、基本的な構成パラメーターの例とそれぞれの説明です。
pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsync.log port = 12000 [files] path = /home/public_rsync comment = RSYNC FILES read only = true timeout = 300
pidファイル
:デーモンが使用するプロセスIDファイル。
ロックファイル
:デーモンロックファイル。
ログファイル
:ログファイルの場所。
port
:rsyncデーモンをデフォルトのポート(873)で実行したくない場合は、ここで新しいポートを指定できます。このポートがファイアウォールで開いていることを確認してください。 Rsyncは転送にTCPプロトコルを使用します。
[ファイル]コード> :これはモジュール名です。ここで使用される名前は、ソースの最初の部分(/files/../..)としてrsyncpullコマンドに入力する名前です。好きな名前を付けることができ、好きなだけ名前を付けることができます。
path
:このモジュールに関連付けられているファイルのファイルパス。
コメント
:このモジュールの説明コメント。
読み取り専用
:これは、このモジュールのディレクトリが読み取り専用であることをデーモンに通知します。アップロードできません。アップロードのみの場合は、upload only=trueを使用します。
タイムアウトコード> :時間(秒単位)、rsyncデーモンはデッド接続を終了する前に待機します。
これは単なる基本構成です。オプションの詳細なリストについては、マニュアルページを参照してください。
デーモンとしてのRsyncの実行
これで、この基本構成を使用して、以下を実行することにより、デーモンを単独で起動できます。
rsync --daemon
デーモンが実行されていることを確認できます:
ps x | grep rsync
unconfinedを示すステートメントなど、出力に奇妙なものがある場合は、SELinuxがデーモンをブロックしている可能性があります。デーモンを実行するには、SELinuxで受け入れられるようにrsyncを追加する必要があります。
。
これで、rsyncデーモンが実行され、接続を受け入れる準備が整いました。 rsyncクライアントから接続する方法がわからない場合は、rsyncとの接続に関するガイドを確認してください。
デーモンを停止するには、 kill
を実行できます コマンド。
kill `cat /var/run/rsyncd.pid`
。
Xinetd経由でRsyncを実行する
すでにxinetdを使用してサービスを管理している場合は、rsyncデーモン制御を追加することもできます。 xinetdは、実行中のプロセスをより強力に集中管理できますが、必ずしもセキュリティが向上するとは限らないことに注意してください。
まず、rsyncのxinet.dファイルがすでに存在する場合は編集します(存在しない場合は、作成して以下の構成例を使用できます)。 disable
を変更します no
への行 。 port
も追加する必要があります デフォルト(873)またはカスタムポートのいずれかと一致します。
注:カスタムポートを使用している場合は、サービスファイル(
/ etc / services
)のrsyncポートも編集する必要があります。 )カスタムポートに。
。
お好みのテキストエディタを使用して、 /etc/xinetd.d/rsync
を作成または編集します 以下のように:
# default: off # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync { disable = no flags = IPv6 socket_type = stream port = 12000 wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
これで、xinetdを再起動するだけで、rsyncデーモンが実行されます。
/etc/init.d/xinetd restart
。
Rysncディレクトリのテスト
rsyncデーモンへの接続をテストし、使用可能なパスを見つけるには、次の方法を使用してクライアントからrsyncホストに接続するだけです。このメソッドはプルコマンドの一部のみを実行しますが、パスが表示されます。
rsync -rdt rsync://IPADDR:RsyncPort/
ファイルパスを見つける
このコマンドは、どのディレクトリが開いているかを示します。ファイル名がわからない場合は、目的のファイルが見つかるまでプロセスを繰り返すことができます(ファイルパスに追加します)。
rsync -rdt rsync://IPADDR:RsyncPort/DirectoryName
より多くのファイルパスが検出されました
そして、ファイルを見つけたら、コマンドを完了してプルすることができます。
rsync -rdt rsync://IPADDR:RsyncPort/DirectoryName/File /DestinationDirectory/
フルパスが見つかりました
Rsyncデーモンへのユーザー名とパスワードの追加
構成ファイルにユーザー名とパスワードの要件を追加することで、rsyncデーモンをより安全にすることができます。 /etc/rsyncd.conf
を開きます 好みのテキストエディタで、モジュールの下にこれらのパラメータを入力します。
[files] path = /home/public_rsync comment = RSYNC FILES read only = true timeout = 300 auth users = rsync1,rsync2 secrets file = /etc/rsyncd.secrets
認証ユーザー
:ユーザーのリスト。コンマで区切ります。それらは必ずしもシステム上に存在する必要はありませんが、シークレットファイル内に存在する必要があります。
シークレットファイル
:ユーザー名とパスワードのリストを含むシークレットファイルへのファイルパス。
次に、もう一度お好みのテキストエディタを使用して、 /etc/rsyncd.secrets
を開くか作成します。 ファイル。次の形式を使用しますusername:password
。
rsync1:9$AZv2%5D29S740k rsync2:Xyb#vbfUQR0og0$6 rsync3:VU&A1We5DEa8M6^8
このファイルを保存したら、rootユーザーのみがファイルを読み取ったり編集したりできるように保護します。
chmod 600 /etc/rsyncd.secrets
/etc/rsyncd.conf
のauthusersパラメーターで指定しなかったrsync3ユーザーを追加したことに注意してください。 。理由は以下でわかります。
ここで、このrsyncデーモンに接続するときは、必ず適切なユーザー名を使用する必要があります。
有効なrsyncユーザー
認証ユーザーで許可されていないユーザーに接続しようとすると、以下のエラーが発生します。
無効なrsyncユーザー
許可されたユーザーは、 /etc/rsyncd.conf
の両方に表示される必要があることに注意してください。 および/etc/rsyncd.secrets
ファイル。
。
これで、rsyncデーモンの基本は終わりです。これで、基本的なrsyncデーモンを作成し、アップロード、ダウンロード、またはその両方用にディレクトリを指定できるようになります。その他の更新については、ここに戻って確認し、Atlantic.Netの市場をリードするLinuxVPSホスティングサーバーを検討してください。
VPSホスティングサービスと仮想プライベートサーバーの詳細をご覧ください。