Come permettere l'accesso in lettura ad una directory via cwRsync
Sul server sono installati il client ed il server di cwRsync (la versione windows del tool unix rsync).
I comandi sono accessibili via "start menu":
- "Start"->"cwRsync" il client rsync
- "Start"->"cwRsyncServer" il server rsync (che gira come servizio con lo stesso nome)
I questo doc, dove non specificato differentemente, si fa riferimento solo al SERVER
Scopo:
permettere ad un utente esterno autenticato di copiare il contenuto di una directory
Dati
- nome modulo accesso (il nome con cui il client di rsync potra' connettersi)
- directory D:\Repositories\prova
- nome e password dell'utente: marco PassWorD
- IP dal quale potra' connettersi 222.222.222.222 (sono permessi anche dei range ... guardate il manuale)
Procedura
dovete essere gli amministratori della macchina
- se non esiste aggiungete l'utente rsync:
- aprite con un editor il file d:\rsync\rsync.secret
- aggiungete la riga marco:PassWorD
- salvate il file
- cliccate su Start->cwRsyncServer->rsyncd.conf (per aprire il file di configuarzione del servizio rsync con un editor)
- modificate il file come sotto descritto
- salvate il file
- cliccate su "Start->cwRsyncServer->Prep a Dir for Upload".
Un wizard vi chiedera' quale directory volete preparare. Digitate D:\Repositories\prova. Premete OK - riavviate il servizio
Modifiche da apportare al file di configurazione
file: "C:\Program Files (x86)\ICW\rsyncd.conf"
Testo origninale
# # sotto windows lo strict mode non funziona # come descritto nelle FAQ sul sito strict modes = false pid file = /cygdrive/d/rsync/rsyncd.pid lock file = /cygdrive/d/rsync/rsync.lock # Module definitions # Remember cygwin naming conventions : c:\work becomes /cygdrive/c/work # [mnt] use chroot = yes uid = cwRsync gid = cwRsync max connections = 5 path = /cygdrive/d/Repositories/latte read only = yes list = no auth users = rbidr secrets file = /cygdrive/d/rsync/rsync.secret log file = /cygdrive/d/rsync/rsync.log transfer logging = yes hosts allow = 111.111.111.111
Si tratta di aprire un nuovo modulo rsync (specificato dal nome tra parentesi quadre)
Testo da aggiungere in fondo (le righe vuote o che iniziano con # sono ignorate)
[accesso] use chroot = yes uid = cwRsync gid = cwRsync max connections = 5 path = /cygdrive/d/Repositories/prova read only = yes list = no auth users = marco secrets file = /cygdrive/d/rsync/rsync.secret log file = /cygdrive/d/rsync/rsync.log transfer logging = yes hosts allow = 222.222.222.222
Il client rsync potra' accedere solo dall'ip 222.222.222.222 digitando
rsync marco@URL_SERVER::accesso directory_dove_copiare
Per scaricare dovra' prima immettere la password per l'utente marco
Note sull'accesso via ssh
NdR: note prese da una mail tecnica,
il lavoro e' stato effettuato a piu' mani,
QUINDI prima di effettuare modifiche bisogna
verificare se quanto scritto sopra e' tutt'ora valido.
Utilizzo la mail ed aggiungo note:
Le cose da sapere sono le configurazioni che trovi per l'rsyncd e l'sshd (/etc/sshd_config)
in buona sostanza si e` trattato di
- mettere a posto i permessi dell'utente cwRsync (consiglio: copiare senza modifiche)
- mettere alcune opzioni dell'sshd (sono quelle non commentate, come lo StrictMode)
- mettere la chiave pubblica fornita nel file .ssh/authorized_keys dell'utente cwRsync
Se devi replicare la configurazione
- installi cwRsync
- installi copssh
- copii le configurazioni di cui sopra
- metti le chiavi di quelli che vuoi che possano accedere al sistema nell' .ssh/authorized_keys
Fai partire SOLO il servizio ssh (rsync daemon, come detto, non serve piu`)