BitTorrent Sync Linuxi Serveris
Bittorent Sync abil andmete tagavara koopiate tegemine kesksesse serverisse.
Robert Ohak AK31
Sissejuhatus
Bittorent Sync on BitTorrent Inc. poolt toodetav beta staatuses olev suletud lähtekoodiga tasuta jagatav failide peer-to-peer sünkroniseerimis tarkvara. Bittorent Sync on multiplatvormne, toetatud on enamlevinud platvormid/operatsiooni süsteemid: Windows, MacOS, iOS, Android ja Linuxid erinevatel arhidektuuridel, kaasa arvatud NAS seadmed. Bittorent Sync abil on võimalik sünkroniseerida faile jagatud kaustas kahe või enama seadme vahel.
Eeldused
Näitena toodud paigalduses kasutatakse Ubuntu 12.04 x64 serverit.
Serveris on kasutajate kodukataloogid /home kaustas ja kasutajate nimed on samad, mis kaustade nimed ja kasutajad kuuluvad gruppi kasutaja
Enne jätkamist loeme läbi ja nõustume Bittorrent Sync-i puudutava privaatsuspoliitika ja kasutustingimustega, mis asuvad järgrevatel aadressitel
http://www.bittorrent.com/legal/privacy http://www.bittorrent.com/legal/terms-of-use
Ettevalmistus
Siseneme kasuta, kus asuvad kasutajate kaustad
cd /home/
Lisame kõikidele kasutajatele/kataloogidele alamkausta sync. Eeldame, et kasutaja nimi ja kasutaja kataloog on sama nimega.
for i in $( ls ); do mkdir $i/sync; done
Muudame loodud kaustade omaniku ja gruppi. Eeldame, et kasutaja nimi ja kasutaja kataloog on sama nimega.
for i in $( ls ); do chown $i:kasutaja $i/sync; done
Lisame loodud kaustadele "sticky bit"-i [1][2]. Eeldame, et kasutaja nimi ja kasutaja kataloog on sama nimega.
for i in $( ls ); do chmod g+s $i/sync; done
Anname gruppile kirjutamis õiguse. Eeldame, et kasutaja nimi ja kasutaja kataloog on sama nimega.
for i in $( ls ); do chmod -R g+w $i/sync; done
Eelnevad 4 punkti ühe käsuna
for i in $( ls ); do mkdir $i/sync; chown $i:kasutaja $i/sync; chmod g+s $i/sync; chmod -R g+w $i/sync; done
Paigaldamine
Loome Bittorrent Sync-ile oma kasutaja. Võti -g määrab kasutajate gruppi, milles peavad olema kõik kasutajad, kellele sync võimaldatakse.
useradd -g kasutaja -d /home/common -c "btsync service" -m btsync
Laeme alla vastavalt paltvormile sobiva Bittorrent Sync-i (Näites toodu sobib x64 linuxi platvormile)
wget http://download-lb.utorrent.com/endpoint/btsync/os/linux-glibc23-x64/track/stable -O btsy.tar
Loome kausta Bittorrent Sync-ile, koos õigete õigustega ja pakime ta sinna lahti
mkdir /opt/btsync/ chown btsync /opt/btsync/ tar -xf btsy.tar -C /opt/btsync btsync
Eemaldame allalaetud fail
rm btsy.tar
Loome käivitus skripti
echo 'su btsync -c "umask 002; /opt/btsync/btsync --config /opt/btsync/config.cfg"' > /opt/btsync/btsync.sh chmod +x /opt/btsync/btsync.sh
Seadistamine
Loome konfiguratsiooni faili [3] nimega /opt/btsync/config.cfg järgneva näidise alusel:
{
"device_name": "Minu BTSync server",
"listening_port" : 56789,
"webui" :
{
"listen" : "0.0.0.0:8888",
"login" : "admin",
"password" : "parool"
}
}
- device_name - määrab serverile kirjelduse.
- listening_port - määrab pordi, mille kaudu Bittorent Sync-i liiklus käib, kui pordi numbriks on 0, siis valitakse igal käivitamisel suvaline port.
- webui : listen - määrab pordi, mille kaudu pääeseb ligi Bittorent Sync-i veebiliidesele ja määrab ka võrgu mille kaudu veebiliidesele ligi pääseb
- webui : vlogin ja password - määravad veeviliidesele ligipääsu kasutaja nime ja parooli
Võimalus 1 (lihtsam)
Esimene võimalus on kasutada Bittorrent Sync-i serveri haldamiseks tarkvaraga kaasa tulevat veebiliidest.
Esmalt käivitame Bittorent Sync-i
/opt/btsync/btsync.sh
Avame veebilehitsejas aadressi ja logime eelnevalt konfiguratsioonis määratud kasutajanime ja parooliga sisse
http://serveri.aadress:8888/gui
Vajutades nuppu Add Folder avatakse sünkroniseeritava kausta lisamise dialoog.
Selles aknas saab genereerida või lisada sünkroniseeritava kausta saladuse ja valida kausta asukoht.
Saladuste genereerimiseks on kolm võimalust:
- 1 - Lasta veebiliidesel saladus ise genereerida vajutades Generate nuppu sünkroniseeritava kausta lisamise dialoogis.
- 2 - Kasutades --generate-secret[3] võtit käsureal käivitades rakendust Bittorent Sync
/opt/btsync/btsync --generate-secret
- 3 - Kasutades enamuse linuxitega kaasas olevaid rakendusi dd ja base64
dd if=/dev/urandom bs=50 count=1 2>/dev/null | base64
Peale lisamist peaks olema esmane tulemus järgnev
Veebiliidesele ligipääsu piiramine
Veebiliidesele ligipääsu turvalisemaks tegemiseks on vaja muuta konfiguratsiooni fails rida
"listen" : "0.0.0.0:8888",
piirates ligi lastavate aadressite vahemiku lokaalsele seadmele
"listen" : "127.0.0.1:8888",
Loome ssh pordi suunamise[4]
ssh root@serveri.aadress -L 1234:localhost:8888 -N
Avame veebilehitsejas aadressi
http://127.0.0.1:1234/gui
Võimalus 2 (keerulisem)
Teine võimalus on kasutada konfiguratsiooni faili all olevate näidete alusel.
{
"device_name": "Minu seade",
"listening_port" : 56789,
"shared_folders" :
[
{
"secret" : "ALSVI55ABHW4FJPFH5OTSEBYE64XJ6RMU",
"dir" : "/home/student/sync",
"use_relay_server" : true,
"use_tracker" : true,
"use_dht" : false,
"search_lan" : true,
"use_sync_trash" : true
}
,
{
"secret" : "AQBP4JZP64EB7OHPD7QSJG3C64MSKWVT5",
"dir" : "/home/common/sync"
}
]
}
Kui sünkroniseeritavad kaustad on konfiguratsiooni failis ette antud, siis veebiliides ei toimi ja see tõttu on webui sektsioon näitest eemaldatud.
Kasutatud materjal
- ↑ Setting BtSync Premissions:http://drup.org/setting-permissions-bittorrent-sync
- ↑ Using SGID to Control Group Ownership of Directories:http://www.library.yale.edu/wsg/docs/permissions/sgid.htm
- ↑ 3.0 3.1 Bittorent Sync user guide : http://btsync.s3-website-us-east-1.amazonaws.com/BitTorrentSyncUserGuide.pdf
- ↑ man ssh:http://www.linuxmanpages.com/man1/ssh.1.php