install rrsync for backup-sync user ssh access

master
HgO 2020-11-30 10:24:47 +01:00
parent 750241cd47
commit d242fcb235
5 changed files with 38 additions and 6 deletions

View File

@ -4,8 +4,8 @@
# -> via autofs + sshfs (permet de libérer la connexion en dehors de la phase de backups) # -> via autofs + sshfs (permet de libérer la connexion en dehors de la phase de backups)
# 2. Chiffrement avec clé symétrique. La clé n'est connue que par l'host # 2. Chiffrement avec clé symétrique. La clé n'est connue que par l'host
# -> Stocker la clé dans un lieu sûr # -> Stocker la clé dans un lieu sûr
# 2. D'autres machines se connectent pour récupérer les backups (rsync): # 2. D'autres machines se connectent pour récupérer les backups:
# 1. En sftp chrooté via l'user "backup-sync" # 1. Seul rsync est autorisé (rrsync), pour l'user "backup-sync", et "chrooté" sur le point de montage de la storage box
# 2. Donner accès SSH pour ces machines à l'user "backup-sync" # 2. Donner accès SSH pour ces machines à l'user "backup-sync"
# Note: L'user "backup" est déjà utilisé par Ubuntu, donc ne pas l'utiliser pour éviter des conflits (mauvais home, etc.) # Note: L'user "backup" est déjà utilisé par Ubuntu, donc ne pas l'utiliser pour éviter des conflits (mauvais home, etc.)
@ -24,6 +24,26 @@
mode: "755" mode: "755"
when: not storage_box_enabled when: not storage_box_enabled
- name: Install rsync package
apt:
name: rsync
state: present
- name: Check location of rrsync script
stat:
path: /usr/share/doc/rsync/scripts/rrsync
register: _rrsync
- name: Copy rrsync script
file:
src: /usr/share/doc/rsync/scripts/rrsync
dest: /usr/local/bin/rrsync
state: link
owner: root
group: root
mode: "755"
when: _rrsync.stat.isreg | default(false)
- name: Include Storage Box backup tasks - name: Include Storage Box backup tasks
import_tasks: backup_storage_box.yml import_tasks: backup_storage_box.yml
when: storage_box_enabled when: storage_box_enabled

View File

@ -37,6 +37,7 @@
group: www-data group: www-data
async: 3600 async: 3600
poll: 0 poll: 0
changed_when: no
register: nginx_dh register: nginx_dh
- name: Use snakoil cert key as Nginx's default private key - name: Use snakoil cert key as Nginx's default private key

View File

@ -9,4 +9,12 @@
- name: Install unattended-upgrades for automatic upgrades - name: Install unattended-upgrades for automatic upgrades
apt: apt:
name: unattended-upgrades name: unattended-upgrades
state: present state: present
- name: Install common packages
apt:
name: "{{ package }}"
state: present
loop: "{{ common_packages }}"
loop_control:
loop_var: package

View File

@ -16,8 +16,7 @@ AcceptEnv LANG LC_*
Subsystem sftp internal-sftp Subsystem sftp internal-sftp
Match Group {{ backup_owner }} Match Group {{ backup_group }}
X11Forwarding no X11Forwarding no
AllowTcpForwarding no AllowTcpForwarding no
ChrootDirectory {{ backup_chroot_dir }} ForceCommand rrsync {{ backup_chroot_dir | quote }}
ForceCommand internal-sftp

View File

@ -1,3 +1,7 @@
common_packages:
- vim
- ncdu
- htop
ssh_config_dir: "{{ ansible_env.HOME }}/.ssh" ssh_config_dir: "{{ ansible_env.HOME }}/.ssh"
storage_box_prefix: storage-box storage_box_prefix: storage-box
storage_box_packages: storage_box_packages: