GNU/Linux >> Linux の 問題 >  >> Linux

LinuxサーバーでRsyncデーモンを設定する方法

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ホスティングサービスと仮想プライベートサーバーの詳細をご覧ください。


Linux
  1. Linuxで$PATH変数を設定する方法

  2. LinuxVPSサーバーのパフォーマンスを測定する方法

  3. ArchLinuxでSFTPサーバーをセットアップする方法

  1. Linuxで$PATH変数を永続的に設定する方法を学ぶ

  2. Linuxサーバーを監視する方法は?

  3. ヘッドレスLinuxサーバーにデスクトップ環境をインストールする方法

  1. Rsyncを使用してLinuxシステム全体をバックアップする方法

  2. 専用サーバーでSmarterStatsを設定する方法

  3. OpenSSHを使用してLinuxサーバーに接続する方法