Schlagwort-Archive: Teamdrive

tdps.service — Service-Unit für den TeamDrive Personal Server

Kaum eine Software verwende ich so lange wie TeamDrive. Die ersten Artikel dazu in diesem Blog stammen bereits aus dem Jahr 2011 [0], [1].

Nachdem ich den TeamDrive Personal Server schon auf einem NAS installiert und als Dienst konfiguriert habe, dokumentiere ich in diesem Artikel die Erstellung einer Systemd-Service-Unit. Dazu sei gesagt, dass ich kein Experte für Systemd-Units bin. Tatsächlich kenne ich mich nichtmal besonders gut damit aus. Folgende Lösung funktioniert auf meinem Server. Anregungen zur Verbesserung der Service-Unit nehme ich gern in den Kommentaren entgegen.

Installation des TeamDrive Personal Server

Zuerst muss der TeamDrive Personal Server heruntergeladen und installiert werden. Dabei hilft das dazugehörige Handbuch. Auch wenn dieses schon einige Jahre auf dem Buckel hat, sind die enthaltenen Informationen weiterhin aktuell.

Da die Installation hier im Blog bereits einmal beschrieben wurde, gehe ich hier im Detail nicht weiter darauf ein. Im vorliegenden Fall wurde die Software im Verzeichnis /opt/tdps installiert. Darüber hinaus wurde ein Benutzer tdps erstellt, welchem das Verzeichnis /opt/tdps und die darin enthaltenen Dateien gehören.

Systemd-Service-Unit tdps.service

Ich habe den TeamDrive Personal Server (TDPS) auf einem Debian 10 System installiert. Um diesen wie alle übrigen Dienste mit dem Programm systemctl verwalten zu können, habe ich die Datei /etc/systemd/system/tdps.service mit folgendem Inhalt erstellt:

[Unit]
Description="TeamDrive Personal Server"
After=network.target

[Service]
User=tdps
PIDFile=/opt/tdps/tdpsd.pid
ExecStart=/opt/tdps/tdpsd -c /opt/tdps/tdps.config -m /opt/tdps/mime.types -w /opt/tdps
ExecStop=/opt/tdps/stop-tdps -p /opt/tdps/tdpsd.pid
KillMode=process
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full

[Install]
WantedBy=multi-user.target

Im Abschnitt [Unit] findet sich eine kurze Beschreibung der Service-Unit. Die Option After=network.target gibt an, dass diese Unit erst gestartet werden soll, wenn das Netzwerk zur Verfügung steht. Dies ist Voraussetzung, um den Dienst über das Netzwerk nutzen zu können.

Die Zeile im letzten Abschnitt [Install] definiert, dass diese Unit Bestandteil des multi-user.target ist und mit diesem geladen wird.

Der Abschnitt [Service] definiert die für den Dienst relevanten Parameter. Die gewählten Optionen werde ich im Folgenden erläutern.

User= gibt den Namen des Benutzers an, mit dessen Rechten der Dienst ausgeführt werden soll. In diesem Fall wird der extra für diesen Zweck erstellte User tdps verwendet.

PIDFile= gibt den Pfad an, wo der Dienst seine PID speichert. Der Service-Manager liest die PID des Hauptprozess aus dieser Datei, nachdem der Service gestartet wurde.

ExecStart= gibt das Kommando mit allen notwendigen Argumenten an, um den Dienst zu starten. Ich habe hier ein wenig mit verschiedenen Aufrufen experimentiert. Dabei habe ich verschiedene Möglichkeiten gefunden, den Dienst erfolgreich zu starten. Worin die Unterschiede im Aufruf genau bestehen, kann ich leider nicht sagen. Am Ende habe ich mich für obige Kommandozeile entschieden, die ich im TeamDrive-Forum gefunden habe. Aus diesem Foren-Beitrag habe ich auch Stumpf die Option KillMode=process übernommen. Zur Option selbst kann ich (noch) nicht viel sagen. Dies änderst sich vielleicht noch, da ich mich noch etwas damit beschäftigen möchte.

Mit ExecStop= gibt man entsprechend an, wie der Dienst zu stoppen ist. Auch hier stammt die Kommandozeile aus oben verlinktem Foren-Thread.

Die nächsten drei Optionen PrivateTmp=, ProtectHome= und ProtectSystem= dienen dazu den Dienst zu härten. Durch PrivateTmp=yes erhält der gestartete Prozess einen eigenen Dateisystem-Namespace für /tmp und /var/tmp. So kann der Prozess nicht auf die Dateien anderer Prozesse und Benutzer in den normalen Verzeichnissen /tmp und /var/tmp zugreifen. Mit ProtectHome=yeswird der Zugriff des Dienstes auf die Verzeichnisse /home, /root und /run/user verhindert. ProtectSystem=full sorgt dafür, dass die Verzeichnisse /boot, /etc und /usr im Nur-Lese-Modus für den Prozess zur Verfügung stehen. Damit ist sichergestellt, dass der von dieser Unit gestartete Prozess keine Dateien innerhalb dieser Verzeichnisse verändern kann.

Die drei im vorhergehenden Abschnitt genannten Optionen stellen einen zusätzlichen Schutz dar. Zwar darf der Benutzer tdps schon aufgrund der Datei- und Verzeichnisberechtigungen nicht in den genannten Verzeichnissen schreiben und Dateien verändern bzw. diese überhaupt lesen, doch bieten diese Optionen einen zusätzlichen Schutz und greifen auch noch, wenn jemand Schindluder mit den Berechtigungen getrieben hat. Daher halte ich es für sinnvoll diese Optionen wenn möglich in allen Service-Units zu nutzen.

Neben den drei hier vorgestellten Optionen gibt es noch einige weitere, welche im englischsprachigen Artikel „Mastering systemd: Securing and sandboxing applications and services“ nachgelesen werden können. Ich finde diese so sinnvoll, dass ich mich ehrlich gesagt frage, warum die genannten Einstellungen nicht der Standard sind und man diese editieren muss, wenn man entsprechende Zugriffe explizit erlauben möchte.

Damit ist alles getan und dokumentiert. Der TDPS lässt sich mit oben beschriebener Service-Unit starten und stoppen. Den Status abfragen kann man selbstverständlich auch.

Es bleibt ein kleiner Schönheitsfehler. Wird der Dienst mittels sudo systemctl stop tdps.service gestoppt, endet die Unit im Status „failed“. Warum das so ist, habe ich noch nicht herausgefunden. Ich vermute, es hängt damit zusammen, dass der Dienst mittels SIGTERM beendet wird. Bin mir an dieser Stelle jedoch nicht sicher. Falls von euch jemand eine Idee dazu hat, freue ich mich über euren Kommentar.

Wie schreibt ihr eure Service-Units? Welche Optionen sollten eurer Meinung nach in keiner Unit fehlen? Wenn ihr mögt, lasst uns gerne in den Kommentaren darüber diskutieren.

Ältere Artikel zu TeamDrive in diesem Blog

Nützliche Apps für das Nexus 7

Gleich am 3.9.2012, als das Nexus 7 bei Mediamarkt in den Handel kam, erwarb ich das 16 GB Modell, für damals noch 249€.

Die Anschaffung hat sich in meinen Augen gelohnt und auch das Preis-/Leistungsverhältnis stimmt. Seit der Anschaffung habe ich mein Nexus 7 fast immer mit dabei. Die Tatsache, dass es problemlos ins Handschuhfach und fast jede Jacken- bzw. Hosentasche passt prädestiniert es geradezu dazu immer mitgeführt zu werden.

Doch nun genug des Lobgesangs. In diesem Artikel möchte ich ein paar Apps nennen, die ich auf meinem Tablet einsetze. Diese machen das Tablet für mich zu einem Gebrauchsgegenstand, der meinen Alltag in spürbaren Maße erleichtert. Die verwendeten Apps sind allesamt kostenlos.

Wie nützlich eine App für einen selbst ist, muss jeder für sich selbst entscheiden. Schließlich hängt dies auch vom persönlichen Einsatzzweck ab. Damit ihr eure Anforderungen besser mit den meinen vergleichen könnt schreibe ich kurz wer ich bin und was ich so mache.

Beruflich arbeite ich als IT-Systemadministrator und übernehme dabei Aufgaben eines Projektleiters. Neben dem Beruf studiere ich Angewandte Informatik, an der Wilhelm Büchner Hochschule. Privat versuche ich die meisten Einkäufe und Geschäfte online abzuwickeln, verfüge über einen weit zerstreuten Freundeskreis und daher auf Mittel zur Fernkommunikation angewiesen. Ich habe mich mittlerweile daran gewöhnt fast 24/7 online zu sein. Notebook, Smartphone und Tablet machen dies möglich.

Doch nun zu den Apps, die ich auf meinem Tablet so nützlich finde.

Nicht erwähnen werde ich dabei die unzähligen Social Media Apps wie Facebook, Twitter, Google+, Yammer und co. Hier mag sich jeder die Apps für die Netzwerke suchen, die er oder sie nutzt. Nur am Rande erwähnen möchte ich eBay und Leo. Mit erstem behält man Auktionen leicht und portabel im Blick während Leo bei bestehender Internetverbindung sehr gute Dienste leistet, wenn man mal auf ein Wort stößt, dessen Übersetzung man nicht kennt.

Nun kommen wir zu meinen Lieblingsapps:

  • TeamDrive und Dropbox: Mit beiden Apps kann man die Dateien auf seinem Notebook, PC und Tablet synchron halten und mit anderen teilen. Die Dateien werden dabei nicht alle sofort auf das Tablet heruntergeladen. Erst wenn man eine Datei aufruft wird diese heruntergeladen und auf dem Tablet geöffnet. Beide Apps bieten die Möglichkeit Dateien offline verfügbar zu machen. Diese werden dann dauerhaft auf dem Tablet gespeichert und man kann auch auf sie zugreifen wenn keine Internetverbindung besteht.
  • avast! Mobile Security: Android hat mittlerweile eine sehr große Verbreitung gefunden. Auch wenn viele Seiten im Web der Meinung sind, dass man keine Antivirussoftware auf seinem Tablet braucht, gehe ich lieber auf Nummer sicher. Die App ist kostenlos erhältlich und hält was sie verspricht. Die Akkulaufzeit hat sich nicht verringert.  Um zu testen ob der Scanner überhaupt etwas macht, habe ich mir zwei Apps aus eher zweifelhaften Quellen installiert, welche zuverlässig erkannt und gelöscht werden konnten.
  • KeePassDroid: KeePassDroid ist die Implementierung des „KeePass Password Manager“ für die Android Plattform. Danke TeamDrive kann ich meine KeePass Datenbank auf meinen Geräten synchron halten. Mit dieser App kann ich nun auch mobil auf die Datenbank zugreifen und habe meine Passwörter sicher verschlüsselt dabei.
  • Total Commander: Auch den beliebten Dateimanager gibt es für die Android Plattform.
  • Zip Viewer: Wer häufig E-Mails mit Zip-Anhängen erhält wird diese App zu schätzen wissen. Zip Viewer kann Zip-Archive öffnen und die darin enthaltenen Dateien können ebenfalls aufgerufen werden. Einzige Einschränkung bisher, es können noch keine Zips mit Passwortschutz geöffnet werden.
  • Ping & DNS: Nützliche App für jeden Netzwerkadministrator. Ermöglicht Ping, DNS, Reverse DNS, Whois, Traceroute und Check Port. Ist schon praktisch, da man das Tablet leichter in einem voll bestückten Netzwerkschrank unterbringen kann, als ein Notebook.
  • Fing: Network Toolkit und designierter Nachfolger von „Look@Lan“. Mit dieser App verschafft man sich schnell und einfach einen Überblick über die Geräte in einem Netzwerk.
  • ConnectBot: Schicker SSH Client und ein kostenloses Pendant zu Putty.
  • Wifi Analyzer: Mit diesem Wifi-Analyse-Tool lässt sich schnell prüfen, wie viele WLANs es in der Umgebung gibt. Darüber hinaus lassen sich Empfangsqualität und Kanalüberschreitungen sehr übersichtlich darstellen.
  • PocketCloud ist ein RDP/VNC Client für die Android Plattform. Mit dieser App lassen sich Windows Server gut per Remote steuern. Leider kann in der kostenlosen Variante nur eine RDP-Sitzung gespeichert werden. Die Pro Version kostet hingegen 12,24€. Hier bin ich noch auf der Suche nach einer anderen App, die mir mehr gespeicherte Verbindungen für deutlich kleineres Geld bietet.
  • IP-Netzwerk-Rechner: Diese App macht die Berechnung von Subnetzen zu einem Kinderspiel.
  • TeamViewer ist wohl eine der bekanntesten Fernsteuerungslösungen. Darum ist es kaum verwunderlich, dass TeamViewer auf dem Tablet genau so gute Dienste leistet, wie auf jeder anderen Plattform.
  • AndSMB ist ein SMB (Samba/CIFS) Client für Android. Er erlaubt den Zugriff auf Order-/Dateifreigaben über WLAN.

Mit dieser Auswahl an Apps komme ich schon ganz gut zurecht. Ich freue mich wenn für dein ein oder anderen unter euch eine neue App dabei ist. Des Weiteren freue ich mich auch über weitere Empfehlungen, denn auf meinem Nexus 7 ist noch jede Menge Platz.

 

Diese Artikel könnten euch auch interessieren:

TeamDrive Personal Server als Dienst konfigurieren

Dieses Tutorial beschreibt wie man den TeamDrive Personal Server als Benutzer ausführt und ein Startskript anlegt. Es baut dabei auf das Tutorial TeamDrive 3 Server auf NAS installieren auf.

Bisher wird der TeamDrive Server als Benutzer root ausgeführt. Dies birgt gewisse Risiken. So könnte ein Angreifer durch ausnutzen einer evtl. vorhandenen Schwachstelle in der TeamDrive Software Zugriff auf das System erlangen, auf dem der  Server läuft. Um dies zu verhindern soll TeamDrive mit den Berechtigungen eines normalen Benutzers ausgeführt werden. Dieser Benutzer wird nur zum Betrieb des Dienstes benötigt und verfügt deshalb weder über eine Shell noch über ein Home-Directory.

Auf einem Ubuntu-System sind die unten stehenden Befehle mit sudo auszuführen.

Und los geht’s mit dem Anlegen eines Benutzers:
useradd -s /bin/false -d /bin/null tdpsd

Nun vergeben wir ein Passwort für den Benutzer:
passwd tdpsd

Damit der Benutzer den TDPS auch starten kann geben wir ihm die Berechtigungen für das Programmverzeichnis:
chown -R tdpsd:tdpsd /opt/tdpsd/

Als nächstes braucht man das Startscript. Dieses kann unter https://www.my-it-brain.de/wordpress/wp-content/uploads/2012/10/tdpsd.tar.gz heruntergeladen werden. Oder direkt auf dem Server mit:
wget https://www.my-it-brain.de/wordpress/wp-content/uploads/2012/10/tdpsd.tar.gz

Das Script muss aus dem Archiv entpack, im Pfad /etc/init.d abgelegt und mit den notwendigen Dateirechten versehen werden.
chmod 755 /etc/init.d/tdpsd

Und schon können wir den Server mit dem Befehl
service tdpsd start
starten.

Damit der TDPS zukünftig automatisch startet ist noch folgender Befehl notwendig:
update-rc.d -f tdpsd defaults

Und fertig. :-)

Quelle:

Dieses Tutorial enstand aus der Vorlage des englischsprachigen Tutoraials aus dem TeamDrive Forum. Dieses wurde von dem Benutzer SFu erstellt.

TeamDrive 3 Server auf NAS installieren

In diesem Artikel beschreibe ich die Installation des TeamDrive 3 Server auf meiner Buffalo Linkstation HS-DH500GL.

TeamDrive ist ein Cloud-Dienst ähnlich wie Dropbox oder Wuala. Ein Vorteil von TeamDirve ist, dass man die Möglichkeit hat eigene Cloud-Server zur Speicherung der der Spaces nutzen zu können. So kann man besser die Kontrolle darüber behalten, wo die eigenen Daten gespeichert werden. Und einen solchen Server möchte ich heute auf meinem NAS installieren, welches bei mir daheim im Wohnzimmer steht.

Voraussetzung ist die Installation von Debian auf dem NAS. Ist diese Voraussetzung erfüllt und man kann sich mit SSH auf dem NAS einloggen kann es auch schon losgehen.

  1. Als erstes lädt man das aktuelle Installationpaket von der TeamDrive Downloadseite herunter. Dies geht in der Konsole mit dem Befehl:
    wget http://s3-eu-west-1.amazonaws.com/s3download.teamdrive.net/TeamDrivePersonalServerLinux_10044-ARM.tar.gz
  2. Ich möchte den TeamDrive Server unter /opt installieren. Daher wechsel ich mit cd /opt das Verzeichnis und entpacke das Archiv mit dem Befehl
    tar -xzvf /root/TeamDrivePersonalServerLinux_10044-ARM.tar.gz
  3. Wechselt in das Verzeichnis tdpsd.
  4. Nun vergibt man ein Passwort für den TD Server. Das Passwort soll als MD5-Hash verschlüsselt werden. Dazu bringt der TD Server bereits ein Programm mit, so dass man diesen Schritt mit dem Befehl ./tdps-md5pwd [meinPasswort] erledigt.
  5. Das Passwort und den dazugehörigen Hash sollte man an einem sicheren Ort speichern. Ich verwende dafür KeePassX.
  6. Der Hash wird als nächstes in die Konfigurationsdatei tdps.config hinter dem Parameter server-password= eingetragen.
  7. Hinter dem Parameter server-host= gibt man die IP-Adresse oder den DNS-Namen des Servers an. Z.B. server-host=meinServer.dyndns.org. Befindet sich der TD Server hinter einem Router oder einer Firewall ist eine entsprechende Portweiterleitung für den Port 37655 einzurichten. Die restlichen Einstellungen können wie voreingestellt übernommen werden.
  8. Der Server kann nun mit dem Befehl ./tdpsd gestartet werden. Möchte man den Status des Servers überprüfen startet man ihn mit dem Befehl ./watch-tdps. Der Status wird in der Konsole ausgegeben und in einer Log-Datei protokolliert.

Damit ist es auch schon vollbracht. Der TeamDrive Personal Server kann nun auf TeamDrive Clients eingerichtet und zur Synchronisation der Spaces benutzt werden.

Quellen:
TeamDrive Homepage
TeamDrive Handbücher und Tutorials

Studie – Sicherheitsmängel bei Cloud-Speicherdiensten

Gestern habe ich in einem Artikel auf Golem von einer Studie der Fraunhofer-Gesellschaft zu Sicherheitsmängeln bei Cloud-Speicherdiensten erfahren. Die Studie untersuchte die Cloud-Speicherdienste CloudMe, CrashPlan, Dropbox, Mozy, TeamDrive, Ubuntu One und Wuala.

Die Forscher betrachten die genannten Dienste dabei aus der Nutzer-, rechtlicher und technischer Sicht.

Wie schon im Artikel auf Golem zu lesen stellt keiner der betrachteten Dienste eine Out-of-the-Box Lösung dar. Wer seine Daten in der Cloud speichern möchte, sollte sich also vorher genau seine Anforderungen überlegen und danach einen entsprechenden Dienst auswählen.

Mögliche Kriterien können sein, ob die Daten verschlüsselt abgelegt werden, oder wo sie gespeichert werden. Werden Daten auf Servern in den USA gespeichert, so kann auf diese Daten im Rahmen des Patriot Act zugegriffen werden. Dies ist auch dann der Fall wenn es sich beim Diensteanbieter um ein US Unternehmen oder eine Tochter einer US Firma handelt. Auch in diesem Fall kann ein Zugriff auf die Daten erfolgen, selbst wenn diese ausschließlich auf Servern in der EU oder innerhalb Deutschlands gespeichert sind.

Die Studie gibt für jeden der oben genannten Dienste einen Überblick, der sich wie folgt gliedert. Es wird aufgeführt für welche Betriebssysteme der Dienst zur Verfügung steht und über welche Schnittstellen (Webinterface, API) darauf zugegriffen wird. Gefolgt wird dieses Kapitel von Informationen über Lizenz- und Preisinformationen, sowie der Informationen nach welchen Sicherheits-Standards ein Dienst zertifiziert wurde. Das sich anschließende Unterkapitel widmet sich den Features, welche pro Dienst beschrieben und zu den anderen betrachteten Diensten abgegrenzt werden. Abschließend wird pro Dienst die Sicherheit betrachtet. Hier wurden folgende Aspekte untersucht.

  • Registrierung und Login
  • Verschlüsselung
  • Übermittlung zwischen Client und Server
  • Sharing mit Teammitgliedern und Dritten
  • Update der Software

Insgesamt bietet die Studie einen detaillierten Blick auf die betrachteten Dienste. Darüber hinaus nennt sie generelle Anforderungen an Cloud-Speicherdienste und bietet Informationen, die bei der Auswahl eines Anbieters beachtet werden sollten.

Aus meiner Sicht sollte jeder Administrator, Projektleiter oder Geschäftsführer, welcher den Einsatz von Cloud-Speicherdiensten für sein Unternehmen oder seine Kunden in Erwägung zieht, diese Studie zur Kenntnis nehmen.

Die Studie kann auf der Seite sit.fraunhofer.de, in verschiedenen Formaten, heruntergeladen werden. Da sich der Link zur Studie in der Vergangenheit schon einmal geändert hat, habe ich die Studie am Ende dieses Artikels zum Download angehängt.

Wirklich jedem möchte ich anraten die Bedingungen eines Cloud-Speicheranbieters genau zu studieren, bevor er sich für einen Dienst entscheidet. Nur so lässt sich beurteilen, ob ein Dienst wirklich für den geplanten Einsatzzweck in Frage kommt. Hier stehen wichtige Details häufig erst auf der zweiten oder dritten Seite, oder sind tief in den FAQs versteckt.

Dateien zum Download

Mit TeamDrive Daten sicher austauschen und synchronisieren

TeamDrive ermöglicht den sicheren Austausch von Bildern, Musik, Videos und sonstigen Dateien über das Internet. So lassen sich Dateien auf mehreren Geräten synchron halten.

Dieser Artikel bietet eine kurze Beschreibung von TeamDrive. Für weitere Informationen besucht die Herstellerseite. Hier wird in deutscher Sprache ausführlich erklärt wie TeamDrive funktioniert und wie man es verwendet.

Vorteil von TeamDrive zu Diensten wie iCloud, Dropbox oder Ubuntu One ist, dass die zu synchronisieren Dateien bereits auf dem lokalen Rechner verschlüsselt werden, bevor sie in die Cloud hochgeladen werden.

Der TeamDrive Client ist für Windows, Mac und Linux verfügbar und bietet in der kostenlosen Variante 2GB Cloud Speicher.

Um Dateien nun über mehrere Rechner zu synchronisieren oder mit anderen Dateien zu tauschen erstellt man nach der Installation einen sogenannten Shared Space. Dateien, die man in diesem Shard Space abgelegt werden nun automatisch mit der Cloud synchronisiert. Nun kann man weitere TeamDrive Clients zu diesem Shared Space einladen. Diese können somit die Daten ebenfalls auf ihren Rechner laden.

Die Installation und Einrichtung gehen leicht von der Hand und sind auch von „nicht IT-Profis“ durchzuführen. Der Hersteller stellt auf seiner Homepage zur Unterstützung sehr schön gemachte Video-Tutorials zur Verfügung.

Link: https://teamdrive.com/tutorials/

Ich selbst bin nun schon seit einigen Jahren TeamDrive Nutzer und kann mich nicht beklagen. Vielleicht ist TeamDrive ja die Lösung, die ihr schon lange sucht. ;-)

Weitere Links:

Dateien auf mehreren Geräten synchron halten

Sie haben mehrere PCs oder Laptops? Arbeiten Sie daheim am PC und unterwegs am Notebook? Oder möchten sie im Team, mit Kollegen, an einem gemeinsamen Satz von Dokumenten arbeiten? Dann haben Sie sich bestimmt schon einmal Gedanken darüber gemacht, wie Sie diese Dateien auf den Geräten synchronisieren können ohne sie jedes Mal manuell kopieren zu müssen.

Für dieses Problem gibt es eine Lösung, die so einfach wie sicher ist. Die Lösung heißt TeamDrive. Mit dieser, in der Grundausführung kostenlosen, Software können Sie ihre Dateien mit anderen teilen oder Ihre Daten einfach auf ihren eigenen Geräten synchron halten. Dabei ist TeamDrive einfach und intuitiv zu bedienen.

Auf der Herstellerseite sind die Vorteile des Programms in den FAQs so gut festgehalten, dass ich sie hier nicht alle wiederholen möchte, sondern sie lieber direkt auf die FAQ des Herstellers verweise.

Dieser Artikel soll daher nur als kleiner Hinweis auf eine großartige Software Made in Germany dienen.