{"id":77,"date":"2010-07-30T16:15:03","date_gmt":"2010-07-30T14:15:03","guid":{"rendered":"https:\/\/caipirinha.spdns.org\/wp\/?p=77"},"modified":"2019-09-29T20:59:23","modified_gmt":"2019-09-29T18:59:23","slug":"ftp","status":"publish","type":"post","link":"https:\/\/caipirinha.spdns.org\/wp\/?p=77","title":{"rendered":"FTP"},"content":{"rendered":"\n<p>Als effizientes Protokoll zum Austausch von Bin\u00e4rdaten ist FTP noch  immer die beste L\u00f6sung. Deshalb l\u00e4uft auch auf dem Caipirinha-Server ein  FTP-Server. Aus Sicherheitsgr\u00fcnden wird allerdings nur <em>anonymous ftp<\/em>  angeboten, so dass kein Benutzer auf die Idee kommt, seinen Usernamen  und sein Passwort \u00fcber eine ungesch\u00fctzte Internet-Verbindung zu  schicken. Auf der anderen Seite muss nat\u00fcrlich auch vermieden werden,  dass durch Unachtsamkeit ein f\u00fcr alle offener Dateiaustausch-Server  entsteht, auf dem dann wildfremde Benutzer ihre Audio- und Videodateien  verteilen. <\/p>\n\n\n\n<p>Deshalb wird eine Dateistruktur erstellt, die folgende Vorgehensweisen erlaubt:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Anonyme Benutzer k\u00f6nnen beliebige Dateien auf <strong><a href=\"ftp:\/\/caipirinha.homelinux.org\/upload\/\">ftp:\/\/caipirinha.homelinux.org\/upload\/<\/a><\/strong> hochladen, aber sie k\u00f6nnen dieses Verzeichnis weder ansehen noch Dateien von diesem Verzeichnis herunter laden.<\/li><li>Anonyme Benutzer k\u00f6nnen eine dedizierte Datei mit dem Namen Datei von <strong><a href=\"ftp:\/\/caipirinha.homelinux.org\/download\/Dateiname\">ftp:\/\/caipirinha.homelinux.org\/download\/Dateiname<\/a><\/strong> herunter laden. Sie k\u00f6nnen aber nicht den Inhalt des Verzeichnisses <strong><a href=\"ftp:\/\/caipirinha.homelinux.org\/download\/\">ftp:\/\/caipirinha.homelinux.org\/download\/<\/a><\/strong> ansehen und auch nichts auf dieses Verzeichnis hochladen.<\/li><\/ul>\n\n\n\n<p>Um die Ordnerstruktur anzulegen, wird zun\u00e4chst in <strong>\/home<\/strong> ein Ordner <strong>ftp<\/strong> mit folgendem Eigent\u00fcmer und Berechtigung angelegt:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">drwxr-xr-x  root  root     ftp<\/pre>\n\n\n\n<p>Das Verzeichnis wird n\u00e4mlich das Home-Verzeichnis des Benutzers <em>ftp<\/em> werden. Es soll dennoch nicht dem Benutzer <em>ftp<\/em>, sondern <em>root<\/em> geh\u00f6ren, weil sonst jeder, der sich mit dem FTP-Server verbindet, eine x-beliebige Datei in diesem Verzeichnis ablegen kann.\n<\/p>\n\n\n\n<p>Danach wird in <strong>\/home\/ftp<\/strong> diese Struktur angelegt:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">-rw-r--r--  root  root     .banner\nd--xrwsrwx  ftp   users    download\n-rw-r--r--  root  root     readme.txt\nd-wxrwsr-x  ftp   users    upload<\/pre>\n\n\n\n<p><strong>.banner<\/strong> ist dabei eine Textdatei, welche Informationen \u00fcber \nden FTP-Server enth\u00e4lt, die dann angezeigt werden, wenn sich ein \nBenutzer \u00fcber ein Shell-basiertes FTP-Programm am Server anmeldet. <strong>readme.txt<\/strong> wird angezeigt, falls der Benutzer sich \u00fcber einen Browser mit <a href=\"ftp:\/\/caipirinha.homelinux.org\/\">ftp:\/\/caipirinha.homelinux.org\/<\/a> verbindet. Im Prinzip sollten <strong>.banner<\/strong> und <strong>readme.txt<\/strong> den gleichen Inhalt haben und die Funktionsweise des FTP-Servers erl\u00e4utern. Beide Dateien geh\u00f6ren dem Benutzer <em>root<\/em>, so dass sie nicht durch den FTP-Server selbst ver\u00e4ndert werden k\u00f6nnen.\n<\/p>\n\n\n\n<p>Der Ordner <strong>download<\/strong> ist f\u00fcr die Gruppe <em>users<\/em> und f\u00fcr <em>others<\/em> beschreibbar, so dass diese Gruppen dort Dateien ablegen k\u00f6nnen. Im Prinzip reicht es aus, wenn er f\u00fcr die Gruppe <em>users<\/em> zug\u00e4nglich ist. Hier beim Caipirinha-Server wurde er nur deswegen noch f\u00fcr die Gruppe <em>others<\/em> zug\u00e4nglich gemacht, damit <a href=\"http:\/\/localhost\/mediawiki\/index.php\/PHP\">PHP<\/a>-Skripte Dateien erzeugen und \u00fcber den FTP-Server zum Download anbieten k\u00f6nnen. Da aber im Allgemeinen <a href=\"http:\/\/localhost\/mediawiki\/index.php\/PHP\">PHP<\/a>-Skripte von <a href=\"http:\/\/localhost\/mediawiki\/index.php\/Apache\">Apache<\/a> ausgef\u00fchrt werden, laufen diese unter der Kennung <em>wwwrun:www<\/em>, und deswegen muss der Ordner <strong>download<\/strong> f\u00fcr <em>others<\/em> zug\u00e4nglich sein. Der Benutzer <em>ftp<\/em>\n darf lediglich in diesen Ordner verzweigen, nicht aber dessen Inhalt \nlesen. Damit erreicht man, dass der Dateinamen bekannt sein muss, damit \ndie Datei herunter geladen werden kann. Bei ausreichend kryptischen \nDateinamen stellt dies einen einfachen, wenn auch nicht sicheren Schutz \nvor einem unberechtigten Download dar.\n<\/p>\n\n\n\n<p>Der Ordner <strong>upload<\/strong> ist sowohl f\u00fcr den Benutzer <em>ftp<\/em> als auch f\u00fcr die Grupper <em>users<\/em> beschreibbar, f\u00fcr <em>others<\/em> lediglich lesbar. Der Benutzer <em>ftp<\/em>\n kann lediglich in den Ordner schreiben, aber nicht daraus lesen, weil \nsonst jemand unzul\u00e4ssigerweise einen Dateiaustausch-Server aufsetzen \nk\u00f6nnte. Die Gruppe <em>users<\/em> hat Schreibrechte, so dass ein Benutzer eine hochgeladene Datei nach der Verarbeitung l\u00f6schen kann. <em>others<\/em> haben Leserechte, so dass beispielsweise <a href=\"http:\/\/localhost\/mediawiki\/index.php\/PHP\">PHP<\/a>-Skripte \u00fcber FTP hochgeladene Dateien verarbeiten k\u00f6nnen.\n<\/p>\n\n\n\n<p>Auf dem Caipirinha-Server wird der FTP-Server <strong>pure-ftp<\/strong> \neingesetzt, weil dieser mit nur einer Konfigurationsdatei auskommt und \nwenige Sicherheitsprobleme bereitet. Zur Installation von pure-ftp wird \nso vorgegangen:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Das Paket pure-ftpd installieren.<\/li><li>Die Ordnerstruktur aufsetzen, so wie sie oben beschrieben worden ist.<\/li><li>Die Konfigurationsdatei <strong>\/etc\/pure-ftpd\/pure-ftpd.conf<\/strong> anpassen, so wie es im unten stehenden Listing dargestellt ist.<\/li><li>Nun muss f\u00fcr den Benutzer ftp noch das Home-Verzeichnis auf <strong>\/home\/ftp<\/strong> umgestellt werden. Die Login-Shell sollte aus Sicherheitsgr\u00fcnden deaktiviert werden, so dass f\u00fcr den Systembenutzer <strong>ftp<\/strong> letztendlich gilt:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">ftp:x:40:49:FTP account:\/home\/ftp:\/bin\/false<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>pure-ftp with <code>\/etc\/init.d\/pure-ftpd<\/code> starten.<\/li><\/ul>\n\n\n\n<p> Im Vergleich zur Original-Konfigurationsdatei <strong>\/etc\/pure-ftpd\/pure-ftpd.conf<\/strong> haben sich die folgenden, selbsterkl\u00e4renden Parameter ge\u00e4ndert: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">MaxClientsNumber            10\nMaxClientsPerIP             10\nAllowDotFiles               no\nDisplayDotFiles             no\nAnonymousOnly               yes\nNoAnonymous                 no\nSyslogFacility              none\nMaxIdleTime                 15\nLimitRecursion              2000 8\nAnonymousCanCreateDirs      no\nMaxLoad                     10\nAntiWarez                   yes\nProhibitDotFilesWrite       yes\nProhibitDotFilesRead        yes\nAutoRename                  yes\nAnonymousCantUpload         no\nAltLog                      clf:\/var\/log\/pureftpd.log\nNoChmod                     yes\nKeepAllFiles                yes\nMaxDiskUsage                90\nNoRename                    yes<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Als effizientes Protokoll zum Austausch von Bin\u00e4rdaten ist FTP noch immer die beste L\u00f6sung. Deshalb l\u00e4uft auch auf dem Caipirinha-Server ein FTP-Server. Aus Sicherheitsgr\u00fcnden wird allerdings nur anonymous ftp angeboten, so dass kein Benutzer auf die Idee kommt, seinen Usernamen und sein Passwort \u00fcber eine ungesch\u00fctzte Internet-Verbindung zu schicken.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[61],"class_list":["post-77","post","type-post","status-publish","format-standard","hentry","category-it","tag-ftp"],"_links":{"self":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/77","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=77"}],"version-history":[{"count":1,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/77\/revisions"}],"predecessor-version":[{"id":78,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/77\/revisions\/78"}],"wp:attachment":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=77"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=77"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=77"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}