rsyncのインストールとxinetd経由での起動設定方法。
インストール
xinetd経由でrsyncを起動する場合の設定
xinetd経由でrsyncデーモンを起動させるための設定方法。 ここではローカルネットワーク内からのアクセスのみを許可する条件で設定を行う。
まず、デーモンに渡す設定ファイル/etc/rsyncd.confを作成する。
設定項目の意味は次の通り。
- hosts allow
- 接続を許可するホスト。 ここではローカルネットワーク内からの接続のみに制限するため、192.168.0.0/24と127.0.0.1を指定する。
- hosts deny
- 接続を拒否するホスト。 ここではhosts allowで指定したもの以外すべてを拒否するため、*を指定する。
- use chroot
- yesを指定すると、以下で設定するpathより上位のパスへのアクセスを禁止する。
- max connections
- 同時にアクセスできる接続数を設定する。 ここでは第三者からの接続を考慮しないため、1を設定する。
- [home]
- 大括弧の中に任意の名前を指定してセクションを作成する。 ここではhomeというセクションを作成する。 セクションは複数作成することができる。
- comment
- クライアントから接続されたときに表示するコメントを設定する。
- path
- このセクションでアクセスするパスを指定する。
- uid
- アクセスの際に使用するユーザIDを指定する。
- gid
- アクセスの際に使用するグループIDを指定する。
- read only
- yesを指定すると、読み取り専用になる。 書き込みも許可する場合は、noを指定する。
なお、yes/noの変わりに、true/falseを指定することもできる。
続いて、xinetdの設定をするために/etc/xinetd.d/配下にrsyncというファイルを作成し、下記の内容を書き込む。
設定項目の意味は次の通り。
- user
- rsyncを実行するユーザ。
- server
- rsyncへのフルパス。
- server_args
- rsyncに渡す引数。 「--daemon」でデーモンとして起動するように設定し、--configで設定ファイルへのパスを指定している。
- log_on_failure
- 接続に失敗した場合、ユーザ名をログに記録する。
- only_from
- ローカルネットワーク内からの接続のみを許可するように、192.168.0.0/24と127.0.0.1を指定している。
/etc/hosts.allowに下記の内容を追記し、内部ネットワークからの接続のみを許可する。
/etc/servicesを編集して、rsyncのサービス名と使用ポート番号が記述されているか確認する。 なければ追記する。
また、iptablesなどを使ってファイヤーウォールの設定をしている場合は、873番のポートを忘れずに空けること。
続いて、chkconfigコマンドを使ってrsyncのデーモンを起動できるようにする。
上記のコマンドを打ったあと、次のように表示されればOK。
起動設定が整ったところで、xinetdを再起動して設定を反映する。
最後に、rsyncコマンドを使って、/etc/rsyncd.confのpathで指定したディレクトリ以下の内容が表示されればOK(homeの部分には、/etc/rsyncd.confで記述したセクション名を指定する)。