rsyncのインストールとxinetd経由での起動設定方法。
インストール
# インストールされているか確認
rpm -qi rsync
# インストールされていなければ、インストール
yum install rsync
xinetd経由でrsyncを起動する場合の設定
xinetd経由でrsyncデーモンを起動させるための設定方法。 ここではローカルネットワーク内からのアクセスのみを許可する条件で設定を行う。
まず、デーモンに渡す設定ファイル/etc/rsyncd.confを作成する。
/etc/rsyncd.conf
hosts allow = 192.168.0.0/24 127.0.0.1
hosts deny = *
use chroot = yes
max connections = 1
[home]
comment = smdn's home
path = /home/smdn/
uid = smdn
gid = smdn
read only = yes
設定項目の意味は次の通り。
- 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というファイルを作成し、下記の内容を書き込む。
/etc/xinetd.d/rsync
service rsync
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon --config=/etc/rsyncd.conf
log_on_failure += USERID
only_from = 192.168.0.0/24 127.0.0.1
}
設定項目の意味は次の通り。
- 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/hosts.allow
rsync : 192.168.0. 127.0.0.1
/etc/servicesを編集して、rsyncのサービス名と使用ポート番号が記述されているか確認する。 なければ追記する。
/etc/services
:
:
(中略)
rsync 873/tcp # rsync
rsync 873/udp # rsync
:
:
また、iptablesなどを使ってファイヤーウォールの設定をしている場合は、873番のポートを忘れずに空けること。
続いて、chkconfigコマンドを使ってrsyncのデーモンを起動できるようにする。
# rsyncを起動できるようにする
chkconfig --add rsync
# 設定が反映されているか確認する
chkconfig --list rsync
上記のコマンドを打ったあと、次のように表示されればOK。
rsync on
起動設定が整ったところで、xinetdを再起動して設定を反映する。
service xinetd restart
最後に、rsyncコマンドを使って、/etc/rsyncd.confのpathで指定したディレクトリ以下の内容が表示されればOK(homeの部分には、/etc/rsyncd.confで記述したセクション名を指定する)。
rsync rsync://localhost/home/*