vsftpd - brauche hilfe um benutzerzugang einzurichten
R.S.
- webserver
0 Christoph Schnauß0 R.S.
HI,
versuche seit kurzem einen ftp-benutzerugang zur fernadministration des Servers (apache2) auf suse 9.0 einzurichten. Habe mich bereits bei google u. div. foren schon informiert konnte aber leider noch keine passende anrwort auf meine Fragen finden.
Was mal dabei rauskommen soll:
Der Benutzer den ich einrichte soll sich über ftp auf meinem Server einklinken können, und dabei alle rechte besitzten die auch ich als root habe um z.B. neue Software zu installieren u. konfigurieren.
Im Verzeichniss /home/xyz habe ich den neuen Benutzer bereits angelegt bzw. die Passwörter in /etc/passwd vergeben.
Das Verzeichniss /etc/vsftpd.conf sieht bislang so aus :
write_enable=YES
dirmessage_enable=YES
#nopriv_user=ftpsecure
#ftpd_banner="Welcome to FOOBAR FTP service."
#ls_recurse_enable=YES
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#hide_ids=YES
local_enable=YES
#local_umask=022
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
#local_max_rate=7200
anonymous_enable=YES
#anon_upload_enable=YES
#anon_umask=022
#anon_mkdir_write_enable=YES
#anon_other_write_enable=YES
#chown_uploads=YES
#chown_username=whoever
#anon_max_rate=7200
xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#log_ftp_protocol=YES
#setproctitle_enable=YES
connect_from_port_20=YES
#idle_session_timeout=600
#data_connection_timeout=120
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#pasv_enable=NO
pam_service_name=vsftpd
Das Verzeichniss /etc/xinetd.d sieht wie folgt aus:
# The vsftpd FTP server serves FTP connections. It uses
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/vsftpd
# server_args =
# log_on_success += DURATION USERID
# log_on_failure += USERID
# nice = 10
disable = yes
}
Das Verzeichniss /etc/pam.p/vsftpd so:
#%PAM-1.0
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
#auth sufficient pam_ftp.so
auth required pam_unix2.so
auth required pam_shells.so
account required pam_unix2.so
password required pam_unix2.so
session required pam_unix2.so
Jetzt meine Fragen:
Welche Einstellungen muss ich noch ändern, damit der neue Benutzer alle rechte wie ich als "root" bekommt und welches Verzeichniss muss ich dafür editieren ?
Wo kann ich die Adresse konfigurieren unter der mein Server per ftp im internet ereichbar ist?
Brauche ich um den Server übers Netz zu erreichen eine feste IP, oder geht das auch ohne ?
Wo kann ich einstellen, dass vsftpd beim bootvorgan bereits mitstartet.
Naja, wie ihr sichlich seht hab ich noch nicht all zu viel Plan von dem Ganzen.Hoffe ihr könnt mir bei meinen ersten Schritten behilflich sein.
Vielen Dank im Vorraus,
mfg R.S.
hallo,
versuche seit kurzem einen ftp-benutzerugang zur fernadministration des Servers (apache2) auf suse 9.0 einzurichten.
Da machst du bereits den ersten Fehler. Einen FTP-Server kannst du sehr wohl einrichten, aber mit deinem Apache hat der nichts zu tun, das sind völlig unterschiedliche Dinge. Was du unter "Fernadministration" deines Apache verstehst, müßtest du bitte erläutern.
Habe mich bereits bei google u. div. foren schon informiert konnte aber leider noch keine passende anrwort auf meine Fragen finden.
Mit ein bißchen Suchen bei google hättest du aber mindestens die Seite http://www.siliconvalleyccie.com/linux-hn/ftp-server.htm finden müssen (das ist ein knappes, aber für den Anfang völlig ausreichendes VSFTPD-HowTo), und sicherlich auch noch einiges mehr.
Was mal dabei rauskommen soll:
Der Benutzer den ich einrichte soll sich über ftp auf meinem Server einklinken können, und dabei alle rechte besitzten die auch ich als root habe um z.B. neue Software zu installieren u. konfigurieren.
Nein, das willst du auf gar keinen Fall. Und "Software installieren" soll bitteschön außer dir überhaupt niemand auf deinem Rechner dürfen, und schon gar nicht über irgendein Netzwerkprotokoll, das dafür übrigens auch gar nicht zuständig ist.
Im Verzeichniss /home/xyz habe ich den neuen Benutzer bereits angelegt bzw. die Passwörter in /etc/passwd vergeben.
Wie hast du ihn angelegt und warum hast du von Hand deine /etc/passwd bearbeitet ?
Das Verzeichniss /etc/vsftpd.conf sieht bislang so aus :
Das tut es gewiß nicht, weil es sich dabei nicht um ein Verzeichnis, sondern um eine Konfigurationsdatei handelt.
Das Verzeichniss /etc/xinetd.d sieht wie folgt aus:
Das tut es gewiß nicht, weil darin einige Scripts mit sehr unterschiedlichen Namen liegen. Gib bitte an, welches dieser Scripts du gemeint hast.
Das Verzeichniss /etc/pam.p/vsftpd so:
Auch das ist kein Verzeichnis, sondern ein Script.
Jetzt meine Fragen:
Welche Einstellungen muss ich noch ändern, damit der neue Benutzer alle rechte wie ich als "root" bekommt und welches Verzeichniss muss ich dafür editieren ?
Du solltest dich von "root"-Rechten für einen Benutzer verabschieden, mach das nicht. Diese Rechte hat als einziger eben "root" auf deinem Rechner, und das mit gutem Grund.
Verzeichnisse werden im übrigen nicht editiert. Du kannst allerdings Dateien editieren. Wenn du die Konfigurationsdatei korrekt behandelst, sollte das ausreichen.
Wo kann ich die Adresse konfigurieren unter der mein Server per ftp im internet ereichbar ist?
Diese Adresse ist die Adresse deines Rechners - normalerweise. Wenn du dich über einen Provider online angemeldet hast, kannst du dir mit ifconfig auf der Konsole zeigen lassen, welche IP-Adressen deinem Rechner für welche Geräte zur Verfügung stehen. Eine "eigene" IP-Adresse benötigt dein FTP-Server normalerweise nicht.
Brauche ich um den Server übers Netz zu erreichen eine feste IP, oder geht das auch ohne ?
Es geht auch ohne, also mit Hilfe der dir von deinem Provider zugewiesenen aktuellen IP. Wie man den persönlichen Rechner als "Server" im Internet verfügbar machen kann, liest du bitte in diversen Threads im Forums-Archiv nach (allerdings gehts da meistens um einen Webserver und nicht um einen FTP-Server, aber das Prinzip ist vergleichbar).
Wo kann ich einstellen, dass vsftpd beim bootvorgan bereits mitstartet.
Entweder im zuständigen Startskript direkt, oder aber mit Hilfe des Runlevel-Editors in YAST2.
Im übrigen müßtest du mit "man vsftp" etwas zu lesen angeboten bekommen, und im Verzeichnis /usr/share/doc/packages/vsftp hast du eine Menge Dokumentationsmaterial. Wenn dir das nicht genügt, kannst du in der Supportdatenbank bei SuSE (http://portal.suse.de/sdb/de/index.html) sicher noch einiges finden, und schließlich gibt es im SuSE-Handbuch ein ausführliches Kapitel zur Einrichtung eines FTP-Servers.
Grüße aus Berlin
Christoph S.
Hi Christoph,
danke das du dir die Zeit genommen hast meine Fragen so ausführlich zu beantworten.
Was du unter "Fernadministration" deines Apache verstehst, müßtest du bitte erläutern.
Vor ein paar Tagen habe ich mir eine Script,Software? (Lizenz dafür) bei einem Anbieter im Internet erstanden, dass ich auf meinem Apache verwenden bzw betreiben möchte. Da ich mich wie du sicherlich schon bemerkt hast noch nicht noch nicht all zu gut mit sowas auskenne möchte ich gerne das Angebot des Herstellers nutzen, der mir das Script kostenlos auf meinem Server in Betrieb nimmt. Dafür benötigt er allerdings einen Ftp Zugang. Die Software bekomme ich per E-Mail.
Aber wie ich den Ftp Zugang konfigurieren soll weis ich nicht :/
Wie hast du ihn angelegt und warum hast du von Hand deine /etc/passwd bearbeitet ?
Habe den Benutzer auch nicht wirklich in der Datei sondern ganz normal über Jast angelegt.
Das Verzeichniss /etc/xinetd.d sieht wie folgt aus:
Das tut es gewiß nicht, weil darin einige Scripts mit sehr unterschiedlichen Namen liegen. Gib bitte an, welches dieser Scripts du gemeint hast.
Hmm, etc/xinetd.d/vsftpd ?? bin grad auf dem Widows Rechner, werd dann gleich mal auf dem Linux nachsehn.
Brauche ich um den Server übers Netz zu erreichen eine feste IP, oder geht das auch ohne ?
Es geht auch ohne, also mit Hilfe der dir von deinem Provider zugewiesenen aktuellen IP. Wie man den persönlichen Rechner als "Server" im Internet verfügbar machen kann, liest du bitte in diversen Threads im Forums-Archiv nach (allerdings gehts da meistens um einen Webserver und nicht um einen FTP-Server, aber das Prinzip ist vergleichbar).
Ok, werds mal versuchen :)
Und wie sieht dann die Adresse aus http://momentane-IP-Adresse.localhost/user ?
Danke im Vorraus,
mfg R.S. :)
guten Abend,
Vor ein paar Tagen habe ich mir eine Script,Software? (Lizenz dafür) bei einem Anbieter im Internet erstanden, dass ich auf meinem Apache verwenden bzw betreiben möchte. Da ich mich wie du sicherlich schon bemerkt hast noch nicht noch nicht all zu gut mit sowas auskenne möchte ich gerne das Angebot des Herstellers nutzen, der mir das Script kostenlos auf meinem Server in Betrieb nimmt.
Das ist keine Antwort auf meine Nachfrage. _Was_ genau möchtest du tun? Was davon soll sich auf deinem Rechner zuhause, und was davon soll sich auf deinem bei einem Anbieter gemieteten Webspace abspielen?
Dafür benötigt er allerdings einen Ftp Zugang.
Oh. Da müßten doch alle Alarmglocken heftig schrillen. Wie soll das funktionieren: ein "Anbieter" möchte einen eigenen FTP-Zugang für deinen Webspace? Finger weg von solchen "Anbietern"! Der hält dich für so blöd, daß du ihm die Zugangsdaten gibst (was andres bedeutet das ja nicht) und wird dann wohl unter deinem Namen fleißig Spam-Mails mit Porno-Angeboten und Viren in alle Welt verschicken.
Die Software bekomme ich per E-Mail.
Das ist allerdings akzeptabel.
Aber wie ich den Ftp Zugang konfigurieren soll weis ich nicht :/
Du mußt schon noch erklären, um welchen Rechner es dir geht und was du nun konkret möchtest. Willst du, daß das Ganze auf deinem eigenen PC zuhause läuft? Oder willst du irgendwas einrichten/konfigurieren, was auf dem bei einem Provider gemieteten Webspace liegen soll? Wenn du bloß per FTP von deinem eigenen PC was auf einen öffentlichen Server (gemieteter Webspace bei deinem Anbieter) hochladen möchtest, brauchst du weder irgendwelche Scripts noch einen eigenen FTP-Server, und dafür brauchst du auch keinen Apache. Dafür brauchst du lediglich einen _FTP-Client_ und deine Zugangsdaten (Benutzername/Kennwort), die dir dein Provider mitgeteilt hat. Diese beiden "Daten", also deinen Benutzernamen und dein Paßwort, solltest du _niemals_ an irgendjemand anderes weitergeben. Und mit irgendwelchen "Rechten", und gar noch "root"-Rechten, hat das vorläufig absolut nix zu tun.
Hmm, etc/xinetd.d/vsftpd ?? bin grad auf dem Widows Rechner, werd dann gleich mal auf dem Linux nachsehn.
/etc/xinetd.d/vsftpd existiert, falls vsftpd installiert wurde. Das ist ein einfaches plain-text-File, das der Dämon zum Starten benötigt.
Und wie sieht dann die Adresse aus http://momentane-IP-Adresse.localhost/user ?
öhm, wie meinst du das? FTP hat, wie bereits erwähnt, nichts mit HTTP zu tun, das sind unterschiedliche Protokolle (und auch die default-ports sind unterschiedlich). Falls du dir einen lokalen FTP-Server einrichtest, erreichst du ihn über ftp://IP-Adresse.
Grüße aus Berlin
Christoph S.
guten Abend Christoph,
Das ist keine Antwort auf meine Nachfrage. _Was_ genau möchtest du tun? Was davon soll sich auf deinem Rechner zuhause, und was davon soll sich auf deinem bei einem Anbieter gemieteten Webspace abspielen?
Der Server von dem ich spreche ist mein alter Siemes PC den ich mit SuSE 9.0 ausgestattet habe, einen angemieteten Webspace habe ich nicht. Das Script soll somit auch darauf laufen, soweit ich weis Pearl.
Dafür benötigt er allerdings einen Ftp Zugang.
Oh. Da müßten doch alle Alarmglocken heftig schrillen. Wie soll das funktionieren: ein "Anbieter" möchte einen eigenen FTP-Zugang für deinen Webspace? Finger weg von solchen "Anbietern"! Der hält dich für so blöd, daß du ihm die Zugangsdaten gibst (was andres bedeutet das ja nicht) und wird dann wohl unter deinem Namen fleißig Spam-Mails mit Porno-Angeboten und Viren in alle Welt verschicken.
Ich kann dir versichern dass es sich dabei um einen loyalen Anbieter handelt, der auf dem Gebiet auch einen grossen Marktanteil hat.
Das Script installieren zu lassen ist optional und kostenlos und keine Vorraussetzung dafür es zu erwerben.
Du mußt schon noch erklären, um welchen Rechner es dir geht und was du nun konkret möchtest. Willst du, daß das Ganze auf deinem eigenen PC zuhause läuft?
Genau :)
öhm, wie meinst du das? FTP hat, wie bereits erwähnt, nichts mit HTTP zu tun, das sind unterschiedliche Protokolle (und auch die default-ports sind unterschiedlich). Falls du dir einen lokalen FTP-Server einrichtest, erreichst du ihn über ftp://IP-Adresse.
Ah ja, dann weis ich dass jetzt auch endlich :)
Grüße aus Bayern und danke im Vorraus,
Dominik
guten Abend nochmals,
Der Server von dem ich spreche ist mein alter Siemes PC den ich mit SuSE 9.0 ausgestattet habe
ok, dann herrscht jetzt wenigstens darüber tatsächlich Klarheit. Aber ehe wir über Software weiter diskutieren, würde ich gerne noch wissen, ob dein "alter" PC von der Hardwareausstattung (CPU, Speicher, Plattenplatz) denn den Anforderungen gewachsen ist, die ein im Internet erreichbarer FTP-Server bewältigen muß. Zum Vergleich: ich habe in meinem privaten kleinen LAN auf einem Pentium I mit 166 MHz und 64 MB RAM auch einen FTP-Server mit SuSE 9.0 laufen - nur zu Testzwecken und zur Überprüfung der Konfiguration. Sobald ich den aber "ins Netz" stelle, bricht er rettungslos wegen Überlastung zusammen.
einen angemieteten Webspace habe ich nicht. Das Script soll somit auch darauf laufen, soweit ich weis Pearl.
Wenn schon, dann PERL (mit ohne "a", du willst ja nicht dein privates Pearl Harbor erleben müssen).
Dafür benötigt er allerdings einen Ftp Zugang.
Nein, benötigt er immer noch nicht. Wenn das tatsächlich ein seriöser Anbieter ist, wird er dir eine ausführliche Bedienungsanleitung zu seinem Script mitliefern und dir für eventuell nötigen Support eine Telefonnummer (das kann dann was kosten) oder eine mail-Support-Adresse angeben. FTP-Zugang verlangt man einfach nicht. Punkt.
Willst du, daß das Ganze auf deinem eigenen PC zuhause läuft?
Genau :)
Oh. Sowas ist prinzipiell durchaus machbar. Aber verzeih mir den Hinweis: solange du auf deiner SuSE noch nicht zwischen Scripts und Verzeichnissen unterscheiden kannst, würde ich dir von solchen Versuchen, internettaugliche FTP- und HTTP-Server einzurichten, dringend abraten. Probiere das erstmal gewissermaßen "auf dem Trockenen" ohne Interneterreichbarkeit durch, studiere deine logs, wenn irgendwas schiefläuft ... Beschäftige dich erstmal noch vier Wochen lang grundsätzlich mit deinem System und versuche, zu verstehen, was ein LINUX dir für Möglichkeiten bietet - versuche auch mal, außer SuSE ein anderes LINUX kennenzulernen.
Falls du dir einen lokalen FTP-Server einrichtest, erreichst du ihn über ftp://IP-Adresse.
Ah ja, dann weis ich dass jetzt auch endlich :)
Das steht auch im Handbuch, in Dutzenden man-pages und an etlichen hunderttausend anderen Stellen im Internet, beispielsweise in SELFHTML.
Ich meine ernsthaft, daß du dir erst noch ein paar Grundlagen wirklich erarbeiten mußt. Es hilft dir nix, wenn ich dir jetzt gewissermaßen eine "Installationsanleitung" herschreibe. Du würdest sie wahrscheinlich befolgen und sogar ein Erfolgerlebnis haben, aber du hättest damit noch nix verstanden. Der SELF-Gedanke beruht aber gerade darauf, daß du das Selbermachen, und nicht das "Abschreiben", lernen sollst. Nur das, was du wirklich verstanden hast, kann dir auf Dauer auch weiterhelfen. Solange dir nicht wirklich klar ist, worin der grundlegende Unterschied zwischen einem HTTP-Server (z.B. Apache) und einem FTP-Server (z.B. VSFTP) besteht, macht es keinen Sinn, dir detailliertere Sachen zu Serverkonfigurationen erklären zu wollen.
Andrerseits bist du durchaus im richtigen Forum gelandet. Und ich bin bei weitem nicht der einzige, der dir ein paar Hinweise geben kann. Ein bissel mußt du aber auch noch lernen, deine Frage so zu formulieren, daß man nicht erst herumrätseln muß, was du nun eigentlich gemeint haben könntest.
Grüße aus Berlin
Christoph S.
guten Abend Christoph ,
Der Server von dem ich spreche ist mein alter Siemes PC den ich mit SuSE 9.0 ausgestattet habe
ok, dann herrscht jetzt wenigstens darüber tatsächlich Klarheit. Aber ehe wir über Software weiter diskutieren, würde ich gerne noch wissen, ob dein "alter" PC von der Hardwareausstattung (CPU, Speicher, Plattenplatz) denn den Anforderungen gewachsen ist, die ein im Internet erreichbarer FTP-Server bewältigen muß. Zum Vergleich: ich habe in meinem privaten kleinen LAN auf einem Pentium I mit 166 MHz und 64 MB RAM auch einen FTP-Server mit SuSE 9.0 laufen - nur zu Testzwecken und zur Überprüfung der Konfiguration. Sobald ich den aber "ins Netz" stelle, bricht er rettungslos wegen Überlastung zusammen.
Der alte PC von dem ich gesprochen habe ist ein Pentium III mit 800MHz und 256MB RAM ( 40GB HD ) was wie ich hoffe ausreichend ist.
Wenn schon, dann PERL (mit ohne "a", du willst ja nicht dein privates Pearl Harbor erleben müssen).
lol, da hast du wohl recht. ;)
Nein, benötigt er immer noch nicht. Wenn das tatsächlich ein seriöser Anbieter ist, wird er dir eine ausführliche Bedienungsanleitung zu seinem Script mitliefern und dir für eventuell nötigen Support eine Telefonnummer (das kann dann was kosten) oder eine mail-Support-Adresse angeben. FTP-Zugang verlangt man einfach nicht. Punkt.
Die Bedienungsanleitung hab ich ja und die Tel.Nr. auch, allerdings dachte ich mir dass ich mir nen haufen Arbeit und fragerei im Forum ersparen kann wenn ich das sozusagen von einem Profi, der ja mit seinen Scripts und Programmen am besten vertraut ist erledigen lasse.
Das Ergebniss kann ich ja dann immernoch genauestens studieren.
Den ftp zugang kann ich nach der Installation ja schliesslich wieder löschen oder einfach das passwort ändern, oder ist das diener Meinung nach schon zu riskannt.
Oh. Sowas ist prinzipiell durchaus machbar. Aber verzeih mir den Hinweis: solange du auf deiner SuSE noch nicht zwischen Scripts und Verzeichnissen unterscheiden kannst, würde ich dir von solchen Versuchen, internettaugliche FTP- und HTTP-Server einzurichten, dringend abraten. Probiere das erstmal gewissermaßen "auf dem Trockenen" ohne Interneterreichbarkeit durch, studiere deine logs, wenn irgendwas schiefläuft ... Beschäftige dich erstmal noch vier Wochen lang grundsätzlich mit deinem System und versuche, zu verstehen, was ein LINUX dir für Möglichkeiten bietet - versuche auch mal, außer SuSE ein anderes LINUX kennenzulernen.
Naja, ganz so schlimm is es dann auch wieder nicht.
Der Server liefert ja immerhin schon html seiten beim Aufruf meiner Internetadresse. :/ Dass ich noch lange nicht ausgelernt habe (sofern dass überhaupt möglich ist) ist mir durchaus bewust. Dennoch bin ich dir für deine gut gemeinten tipps sehr dankbar und werde narürlich auch versuchen sie zu befolgen :)
Andrerseits bist du durchaus im richtigen Forum gelandet. Und ich bin bei weitem nicht der einzige, der dir ein paar Hinweise geben kann. Ein bissel mußt du aber auch noch lernen, deine Frage so zu formulieren, daß man nicht erst herumrätseln muß, was du nun eigentlich gemeint haben könntest.
Werd's beim nächsten mal versuchen mich besser zu formuliern :)
Viele Grüsse,
Dominik