目次
✅ 1. rsyncサーバーとは?
rsync を デーモン(常駐サービス) として動かし、
クライアントが rsync://server/module でアクセスできるようにする仕組み。
用途:
- 複数クライアントへの配布
- 軽量で高速なファイル配信
- SSHなしで rsync 転送したい場合(LAN 内に便利)
✅ 2. 必要パッケージのインストール
CentOS / RHEL
sudo yum install -y rsync
Ubuntu / Debian
sudo apt install -y rsync
インストールすると rsyncd(rsync デーモン)も利用可能になる。
✅ 3. rsyncd.conf(設定ファイル)の場所
標準パス:
/etc/rsyncd.conf
なければ自分で作成する。
✅ 4. 最小構成の rsyncd.conf(コピペOK)
まずはこれだけで動かせます。
#==============================
# 基本設定
#==============================
# rsync が待ち受けるポート
port = 873
# ログファイル
log file = /var/log/rsyncd.log
# PIDファイル
pid file = /var/run/rsyncd.pid
# クライアントが参照可能なモジュール
# "files" が公開名となる
[files]
path = /srv/rsync/files
read only = yes
list = yes
auth users = backupuser
secrets file = /etc/rsyncd.secrets
✅ 5. 認証情報(ユーザーとパスワード)の設定
/etc/rsyncd.secrets
作成:
echo "backupuser:password123" | sudo tee /etc/rsyncd.secrets
sudo chmod 600 /etc/rsyncd.secrets
📌 600 にしないと認証が失敗するので注意!
✅ 6. ディレクトリの準備
sudo mkdir -p /srv/rsync/files
sudo chown -R nobody:nobody /srv/rsync/files
(実用途に応じて所有者を調整)
✅ 7. systemd で rsync デーモンを起動
起動
sudo systemctl enable --now rsync
状態確認
systemctl status rsync
✅ 8. クライアントから接続テスト
リスト取得
rsync rsync://server-ip/
→ [files] モジュールが見えること。
データ取得テスト
rsync rsync://backupuser@server-ip/files/ .
パスワード入力を省略したい場合
echo "password123" > ~/.rsync_pass
chmod 600 ~/.rsync_pass
rsync --password-file=~/.rsync_pass rsync://backupuser@server-ip/files/ .
🧩 rsyncd.conf の主な設定項目(見やすく要点だけ)
| 項目 | 意味 |
|---|---|
path | 公開ディレクトリ |
read only | yes で読み取り専用 |
list | モジュールを一覧表示するか |
auth users | 認証ユーザー(複数可) |
secrets file | ユーザーとパスワードファイル |
hosts allow | 許可するIP |
hosts deny | 拒否するIP |
uid / gid | 用いるユーザーID/グループID |
max connections | 同時接続数 |
comment | モジュールの説明文 |
🧪 便利な実務向け設定例
📌 A. クライアント制限付き
hosts allow = 192.168.1.0/24
hosts deny = *
📌 B. 書き込み可能(バックアップ受け取り用)
read only = no
※ セキュリティ上、認証は必須
📌 C. 複数モジュールを公開する
[log]
path = /var/log/rsync
read only = yes
[data]
path = /srv/data
read only = no
📌 D. ログを細かく記録する
log file = /var/log/rsyncd.log
transfer logging = yes
🔥 rsyncd のセキュリティ注意点(重要)
❗ rsyncd の認証は暗号化されない(平文)
→ WAN 通信では SSHトンネル を必ず使う
(LAN 内専用なら OK)
❗ ポート 873 を開放すると誰でも覗ける
→ hosts allow や firewalld/ufw で制限必須
❗ secrets ファイルは 600 でないとエラー
❗ root 書き込み可能モジュールは危険
→ 使う場合は chroot や SELinux で制限する
🐛 トラブルシュート
| 症状 | 原因 | 対処 |
|---|---|---|
auth failed | secrets の権限が600でない | chmod 600 |
| モジュールが表示されない | list=no | list=yes |
| 接続できない | firewall が 873 をブロック | firewalld/ufw を確認 |
| 読み書き不可 | ディレクトリの所有権不一致 | chown で調整 |
| rsync デーモン起動失敗 | conf の書式エラー | /var/log/rsyncd.log を確認 |
🎯 まとめ:最小構成の rsync サーバー
/etc/rsyncd.confを作る/etc/rsyncd.secretsで認証設定- 公開ディレクトリ準備
systemctl enable --now rsync- クライアントで接続テスト
これだけで即稼働!

コメント