FTP-Server lukemftpd 1.1 konfigurieren ...

Hairfeti

Mitglied
Thread Starter
Dabei seit
08.11.2003
Beiträge
464
Reaktionspunkte
0
Teil 1 ...

Wie dieser FTP-Server An - und Abgeschaltet wird wissen wir alle, das muß ich also nicht erklären. Was allerdings interessant ist und jeder wissen sollte:

Mac OS X, als Unix-System enthält mehrere Sicherheits - und Abwehr-Mechanismen welche vor einem Arbeitsprozeß wie eine Schutzmauer fungieren. Das ist auch für den FTP-Server der Fall, da er für das System an sich genommen ein Risikofaktor darstellt. Man ist nicht nur mit dem Netzwerk Internet direkt verbunden, sondern es werden Programme und Prozesse dabei ausgeführt die bei Unachtsamkeit zu Verwüstung und Zerstörung führen können.

Dafür gibt es die Tools "xinetd" und "inetd" welche den Betrieb eines FTP-Server ausreichend absichern und Angriffe auf unser internes Betriebssystem abwehren.

Wenn wir also unseren FTP-Server jetzt starten werden, wird er nicht direkt gestartet, sondern mit Hilfe von "xinetd", welches die TCP und UDP-Ports nach Störungen und Fehlerquellen ablauscht.

Bei Verwendung der in Mac OS X internen FireWall werden automatisch die notwendigen Ports geöffnet, darum muß man sich also nicht kümmern.

Nun öffnen wir zwei Fenster im Programm Terminal und geben ein:

Fenster 1:

tail -f /var/log/ftp.log

Fenster 2:

ftp Euer Domainname

Eure Dynamische IP-Adresse sollte dazu beim Anbieter http://www.dyndns.org/ bereits geupdatet sein.

Schauen wir uns also an was passiert, "tail" schreibt dazu die Log-Datei mit.

Wir geben unseren Usernamen ein, unser Kennwort und erhalten promt Zugriff.

Bis hierhin alles gut. Nun geben wir mal diesen Befehl ein, damit wird erwirkt daß der FTP-Server uns in unser Homeverzeichnis schickt:


Dann geben wir ein daß wir die Daten aufgelistet erhalten:


Doch was ist das? Das ist ja gar nicht unser Homeverzeichnis. Wir sind ja im Root-Verzeichnis des Systems. Wie kommt das denn und kann das jeder User der sich per Name und Kennwort anmeldet?

Die Antwort: Ja das kann jeder und wenn man dabei geschickt ist, läßt sich so auch komfortabel der Mach-Kernel des Systems löschen ... (Angst ist mein zweiter Vorname)

Bis hierhin zunächst, ich hoffe die Aufmerksamkeit erregt zu haben.

... Kaffe-Pause ...

Ist das nun wirklich ein zweites Sicherheitsproblem was sich da auftut? Ist das von Apple so gewollt oder eine Lücke im Sicherheits-Netz?

Ich würde sagen keines von beiden. Denn:

Erstens benötigt man für einen Zugriff Name und Passwort, zweitens muß der FTP-Server aktiviert sein. Drittens muß der Computer eingeschaltet sein ...

Jetzt mal im Ernst:

Die Firma Apple nimmt wahrscheinlich an, daß man als stinknormaler End-Anwender einen FTP-Server sowieso nicht benutzt. Hiermit ist aber das Gegenteil bewiesen. Weiterhin denkt sich Apple daß jeder der ihn doch benutzt, so schlau sein müßte um ihn auch hundertprozentig sicherheitstechnisch konfigurieren zu können. (Danke für das Vertrauen) Daß das nicht der Fall ist, stellen wir heute auch fest. Eine Erklärung des FTP-Server ist in den Man-Pages über das Terminal abrufbar. Damit ist der FTP-Server jedoch nicht eindeutig beschrieben, zumal noch auf Englisch.

Also ich spreche da jetzt nur für mich, aber mir gefällt einfach der Gedanke nicht daß ein anderer Nutzer meines Computers mir Dateien in meinem Root-Verzeichnis auf diesem Wege löschen oder verändern könnte. Das muß doch nicht sein, dieses Problem werden wir hier ein für alle Mal beseitigen.

Mein FTP-Server hat die kleine Tour bereits hinter sich und ist für jeden erreichbar unter ftp://treff.homeip.net// wohlbemerkt wenn mein iMac online ist.

Was können wir also tun?

Wir werden allen gewünschten Benutzern einen Zugang auf den FTP-Server gewähren so wie gehabt, mit dem einzigen Unterschied jedoch: Jeder Besucher wird auf sein Home-Verzeichnis beschränkt, sprich: dort eingesperrt. Das Home-Verzeichnis wird das Root-Verzeichnis sein, eine höhere Hirarchie zu erreichen ist damit ausgeschlossen.

Dann werden wir einen Anonymous-Zugang einrichten für einen User mit beschränkten Zugriffsmöglichkeiten. Dieser kann sich ebenfalls nur im Rahmen seiner Verzeichnis-Struktur bewegen und wird nur Daten lesen können sowie in ein dafür angelegtes Verzeichnis Daten uploaden dürfen, welche aber eine bestimmte Größe (KB) nicht überschreiten werden.

Zuletzt werden wir dann noch einen Test durchführen und darüber entscheiden welche Clients (FTP-Programme) zur Zeit in Frage kommen um diesen Service FTP auch effizient nutzen zu können. Ich benutze z.B. Captain FTP, ein sehr schönes Programm. Noch in der Entwicklungsphase aber es enthält jetzt schon wesentliche Features die ich heute nicht mehr missen möchte. Version 3.1 liegt seit gestern vor. Ich habe das Programm bereits schon gekauft weil ich meine, daß es große Zukunft hat. Das nur nebenbei ...

Was brauchen wir dazu?

Einige Text-Dateien die zum größten Teil im System fehlen, da Apple wie schon erwähnt diesen Bereich nicht ausreichend supportet.
Drei Verzeichnisse die wir später noch anlegen werden. Ein User den wir mit Hilfe des Programms "Netinfo-Manager" erstellen, nicht im Terminal. Und Einrichten von erforderlichen Benutzer - und Zugriffsrechten, mit dem Terminal. Alle Dateien gehören in das Verzeichnis "/etc/", dafür benötigen wir Root-Rechte oder die eines "sudo".

Als da wären:

ftpusers (Diese Datei, auch wenn sie vom Namen her etwas anderes vermuten läßt, enthält die Namen der Benutzer des Systems die nicht auf den FTP-Server zugreifen dürfen. Das wären root, www und andere die bereits auch schon vorhanden und eingetragen sind. Ihr selbst müßt euren Namen dort entfernen, ansonsten könnt ihr den FTP-Server nicht verwenden.)

ftpchroot (Diese Datei wird die Namen der System-User enthalten die auf ihr Home-Verzeichnis beschränkt werden, außer der Anonymous der nicht)

ftpd.conf (Das ist die eigentliche Konfigurations-Datei des Servers, dort werden wir die nötigen Anweisungen an den FTP-Server eintragen.)

ftpwelcome (Diese Datei ist optional und von jedem Nutzer nach seinen Wünschen zu bestücken, sie wird beim Start des Servers als Information oder Begrüßung an den Client gesendet)

motd (Mit dieser Datei kann man dem Client eine Nachricht anzeigen wenn er ein Verzeichnis besucht in dem bestimmte Voraussetzungen gelten, die Datei muß dazu in jenem Verzeichnis liegen wo sie angezeigt werden soll. Vorgesehen vorallem für den Anonymous-Zugriff.)

Es gibt noch weitaus mehr Dateien die den Betrieb des FTP-Server beinflussen können, diese benötigen wir jedoch für unser Vorhaben nicht.

Fortsetzung folgt ...
 
Zuletzt bearbeitet:
Teil 2 ...

Wir legen also die von mir genannten Dateien der Reihe nach im Verzeichnis "/etc/" mit dem Terminal und dem Texteditor "pico" an, ausgenommen die Datei "ftpusers" die schon vorhanden ist und die Datei "motd" die zwar auch vorhanden ist aber nicht zum FTP-Server gehört. Sie gehört zum Terminal mit dem wir arbeiten. Bei Aufruf des Terminal werden wir damit begrüßt. ("Welcome to Darwin")

Nun bearbeiten wir die Datei "ftpusers" und tragen die User ein die eurer Meinung nach den FTP-Server nicht benutzen sollten.

Dann öffnen wir Datei "ftpchroot" und tragen dort die User untereinander ein die später den FTP-Server benutzen werden und auf ihr Home-Verzeichnis beschränkt werden sollen.

Jetzt folgt die Begrüßungs-Nachricht in der Datei "ftpwelcome" die ihr selbst bestimmen könnt. Die Nachricht kann so lang sein wie ihr wollt, darf aber nur Text enthalten und nicht etwa HTML-Code.

Nun öffnen wir die Datei "ftpd.conf" und tragen zunächst mal folgende Zeilen ein, Erklärungen gebe ich dazu später noch. Alle Eingaben einer Zeile müssen mindestens durch eine Leerzeile oder besser durch ein TAB voneinander getrennt sein. Auskommentiert werden Zeilen mit "#" am Anfang der Zeile. Damit werden diese Einstellungen vom FTP-Server ignoriert.

classtype chroot CHROOT
classtype guest GUEST
classtype real REAL

chroot guest /ftp
chroot real
chroot chroot
passive all
portrange all 49000 50000
upload guest off
checkportcmd all

display none
limit all -1 # unlimited connections
maxtimeout all 7200 # 2 hours
modify all
motd all motd
notify none
timeout all 900 # 15 minutes
umask all 027
modify guest CHMOD,DELE,MKD,RMD,RNFR
umask guest 0707

In der Standardeinstellung des FTP-Server und ohne Datei "ftpd.conf" sind grundsätzlich alle erweiterten Funktionen verboten und untersagt. Wenn wir also eine Funktion aktivieren wollen, so müssen wir das in der Einstellungsdatei erst erlauben.

Wir speichern nun ab und legen im Root-Verzeichnis ein neues Verzeichnis mit Namen "ftp" an:


Nun gehen wir in dieses Verzeichnis hinein und legen dort zwei weitere Vezeichnisse an "incoming" und "pub":




Dann vergeben wir den Verzeichnissen erforderliche Rechte:

chown ftp:staff /ftp/incoming /ftp/pub

chown root:admin /ftp

Nun legen wir noch die Datei "motd" ins Verzeichnis "/ftp" und tragen dort ein was wir wollen:


Jetzt verlassen wir kurz das Terminal und öffnen das Programm "Netinfo-Manager" und melden uns dort mit Kennwort als Administrator an.

Wir suchen uns die Bezeichnung "users" heraus und wählen diese aus. Im Bereich "users" markieren wir den User "www" und betätigen oben im Menü den Befehl "Duplizieren". Der User "www" sollte nun zweimal da sein. Wir markieren die Kopie und verändern dort die Einträge so:





realname Anonymous User

_writers_passwd ftp

Die anderen Einstellungen sind OK und bleiben so wie sie sind. Nun schließen wir den Manager und müssen unsere Änderungen noch bestätigen. Wer allzu lange für den Vorgang gebraucht hat, muß nun auch wieder sein Kennwort eingeben.

Im System gibt es nun einen neuen User namens "ftp". Dieser kann sich jedoch nicht am System anmelden und ist auch im Anmelde-Dialog nicht vorhanden.
Es ist der Benutzer "Anonymous". Dieser steht nun dafür daß sich Besucher per FTP mit unserem System verbinden können. Jeder kann nun mit einem FTP-Programm, einem Webbrowser mit FTP-Unterstützung oder einem Terminal auf den Anonymous-Bereich zugreifen. Es ist dafür kein Kennwort erforderlich, die Anmeldung erfolgt mit Username "ftp" oder "anonymous" und als Kennwort ist die E-Mailadresse des Clients oder einfach nur ein Punkt "." einzugeben. FTP-Programme tun das automatisch.

Das wollen wir jetzt mal testen. Zunächst beenden wir den FTP-Server und starten ihn neu daß auch alle neuen Einstellungen eingelesen werden.

Nun geben wir im Terminal den Befehl ein:

ftp Euer Domainname

Name


Passwort

. oder eure E-Mail

Und schon befinden wir uns im erforderlichen FTP-Verzeichnis welches wir erstellt haben. Mit den Befehlen:


oder


lassen wir uns nun den Inhalt des Verzeichnisses anzeigen und erhalten die Übersicht über zwei weitere Verzeichnisse "incoming" und "pub"

Soweit so gut. Ihr könnt nun euer FTP-Verzeichnis "pub" mit euren Daten füllen welche Besucher vorfinden sollen.

Jetzt noch einige Erklärungen zur Datei "ftpd.conf":

Die Eingaben für die Einstellungen verstehen sich ja fast von selbst wenn man sie denn erst einmal weiß und zuordnen kann. Der FTP-Server unterteilt seine Clients in so genannte Classes. So ist es auch verständlich daß in einer Standardkonfiguration weder ein Anonymous-Zugriff möglich ist noch ein User in ein Home-Verzeichnis gechrootet werden kann. Denn dem FTP-Server sind die Classes "CHROOT" und "GUEST" noch gar nicht bekannt. Erst in der Einstellungsdatei kann man ihm mitteilen welche Funktionen er aktivieren soll.

Nun will ich mal kurz und knapp übersetzen was wir unserem Server mitgeteilt haben. Dazu nehmen wir die "ftpd.conf" mal etwas genauer in Augenschein.
Also der Reihe nach werde ich jede Funktion kommentieren. Die Eingabe der Funktionen ist so zu verstehen:

Name der Funktion---Name der Classes für die der Befehl gilt---Der Befehl ansich

und

Name der Funktion---Funktion an oder aus---Funktionswert

Beispiel:

HASSO---HUND---WAU WAU WAU

classtype:

Das sind die Classes die ein FTP-Server unterstützt, unser kennt nun die Standard-Classes "REAL", "CHROOT" und "GUEST". Man kann auch selbst noch eigene Classes hinzufügen wenn erforderlich.

chroot:

Das ist der Befehl zum Chrooten einer Classes. Damit weiß der Server nun welche Classes auf ein Verzeichnis beschränkt werden. Wenn kein Verzeichnis als Funktionswert eingegeben ist, wird das Verzeichnis benutzt welches in der netinfo-Datenbank auf den User zutrifft.

passive:

Das ist der Modus der zwischen Server und Client verwendet wird. Es gibt passiven und aktiven FTP-Mode.

portrange:

Das sind die Ports die der FTP-Server im passiven Mode im System für eine Kommunikation mit den Clients nutzen soll.

upload:

Ist die Upload-Funktion, man kann diese für eine Classes erlauben oder verbieten und gibt dazu das Verzeichnis und eine Größenbeschränkung an.

checkportcmd:

Damit wird die Kommunikation der Classes über die Ports kontrolliert.

display:

Damit kann man Einstellungen über die Eingabemaske vornehmen.

limit:

Bezeichnet die Anzahl der Verbindungen die eine IP-Adresse allein ausführen darf.

maxtimeout:

Die Verbindung wird automatisch nach dieser Zeit vom Server unterbrochen, auch wenn der Client noch Daten abruft.

modify:

Unter diesem Punkt erlaubt oder verbietet man einem Client die ausführbaren Programme wie zum Beispiel Kopieren, Löschen, Lesen oder Schreiben.

motd:

Damit bestimmt man die Datei welche Mitteilungen an den Client enthält wenn dieser ein Verzeichnis mit Besonderheiten besucht.

notify:

Damit wird festgelegt ob der FTP-Server unter bestimmten Umständen Einträge in einer anderen Log-Datei notiert.

timeout:

Mit der Angabe wird der Client vom Server nach einer angegebenen Zeit getrennt wenn dieser keine Antwort mehr gibt oder nichts mehr tut.

Ihr solltet nun die Konfigurationsdatei euren Bedürfnissen anpassen. Die Einstellungen die ihr von mir übernommen habt sind für euch vielleicht nicht zutreffend.

Nun wären wir eigentlich fertig mit der Theorie, es folgt nun die Praxis wo ihr euren FTP-Server ausgiebig testen könnt. Solltet ihr noch Fragen zum Thema haben, werden diese von anderen Mitgliedern und mir hier beantwortet.

MfG Rüdiger

Nachtrag Wichtig:

Ich bin heute von einem netten Teilnehmer auf einen Fehler in meinen Ausführungen hingewiesen worden. Vielen Dank dafür. Um den Fehler zu vermeiden, ist einfach nur die Reihenfolge einer meiner Anweisungen zu ändern. Man muß zuerst User und Gruppen im Netinfo-Manager anlegen und kann natürlich dann erst die betreffenden Rechte von den Verzeichnissen mit den Befehlen "chmod" und "chown" ändern. User die dem System noch gar nicht bekannt sind, können von diesen Programmen natürlich noch nicht verwendet werden.
 
Zuletzt bearbeitet:
Vielen, vielen Dank. Hat wunderbar funktioniert. clap
Das sollte allerdnigs erst später kommen, nachdem man den Benutzer ftp angelegt hat.

chown ftp:staff /ftp/incoming /ftp/pub

Man kann keine Rechte an einen Benutzer geben den es gar nicht gibt :p
Für alle die diese Anleitung später befolgen wollen: Diese Zeile erst NACH dem erstellen des Benutzters ftp eingeben.
 
Erstmal danke für die gute Anleitung, allerdings habe ich ein Problem.
Wenn ich mich als ftp einlogge kann ich nichts hochladen, auch nicht in den Ordner incoming. Wie kann ich das ändern, habe alles genau so gemacht wie hier beschrieben?
Als ich allerdings die Zugriffsrechte für die Ordner pub und incoming per Terminal ändern wollte, bekam ich immer die Fehlermeldung: Operation not Permited. Obwohl ich den FTP-User vorher angelegt hatte. Vielleicht hängt das damit zusammen?
 
vielleicht gehören die Verzeichnisse noch nicht dem ftp user:

sudo chown ftp:staff /incoming
sudo chown ftp:staff /pub

und dann:

sudo chmod ... usw.

wenn die verzeichnisse dem user ftp gehören, dar nur er oder root die Berechtigingen ändern.
 
super

das is ja alles schon sehr gut beschrieben, auch für anfänger,
doch geht das nich einfacher und schneller, ich würde nur ein paar dateien mit Freunden austauschen, über ftp?
 
dann richte denen doch ein Konto (ein konto für alle) auf deinem Mac ein.
mit der Kennung melden sie sich an.
Bei der Anmeldung landen die in Ihrem Homedirectory. Von dort aus können Sie auf alle Dateien zugreifen, auf die Sie auch lokal Zugriff hätten (mit den selben Rechten).
 
Besser, einfacher, schneller und komfortabler ist es mit Apache WEBDAV. Hätte ich damals schon die aktuelle Version dieser Software gehabt, könnte ich das Thema FTP-Server getrost ausgelassen haben. Man spart sich mit WEBDAV die User, die Ports und eine nicht einfach zu erstellende ftpd.conf. Darüber hinaus kann man gleichzeitig iCal, einen Web-Kalender veröffentlichen und abbonieren lassen und online bearbeiten.

Dazu hier eine wunderbare Anleitung von einem anderen Benutzer:

http://www.powermaki.de/

Und FTP kann man getrost abschalten, denn je nach Einstellungen und Rechtevergabe kann man DAV als Virtuelle Disk auf jedem Desktop mounten lassen. Ob man nun diese "iDisk" an eine Gruppe oder an einen einzelnen Benutzer freigibt, das ist jedem selbst überlassen. Einstellungen lassen sich sogar mit einer .htaccess-Datei einzeln für jedes Verzeichnis ändern und erweitern. Viel Spaß.
 
danke fü den tip

danke, das mit apache hört sich sehr gut an...
nur noch kurze eine frage, die ich mir evtl. auch selbst beantworten kann, weil ich darüber nur wenig weiss:

zu apache webdav:
hab mir zwar die www.webdav.org faqs durchgelesen, aber so für
laien ist das trotzdem etwas schwierig:

was ist der wesentliche unterschied zw. einem apache dav server zu betreiben
oder einfach nur filesharing zu aktivieren bzw. kdx server?
nehme an das apache einfach mehr sicherheit und kontrolle bietet.

gruss
pepper
 
hallo hairfeti,

auch wieder mal da ;)

mit WebDAV das ist ne feine Sache.
Und wenn man eh nen Apachen hat, dann ist es ja auch fix eingerichtet.

-----
Ergänzung:
was ist der wesentliche unterschied zw. einem apache dav server zu betreiben
oder einfach nur filesharing zu aktivieren bzw. kdx server?

WebDAV geht über den Port 80 und verbraucht am Server keine zusätzlichen Resourcen.
Am Router (wenn man einen verwendet) braucht man keinen zusätzlichen Port freischalten und an der Firewall kann man sich die üblichen ftp-Krämpfe sparen.

FileSharing ist ein allgemeiner Begriff - Hier könnte man von "Filesharing über WebDAV sprechen".
wie kdx genau funktioniert weiss ich nicht - scheint aber mehr wie ein Board zu sein, das zudem Chatfunktionen und persönlichen fileAustausch und sowas anbietet.
 
Zuletzt bearbeitet:
Ja, auch mal wieder ...

Übrigens sehr schön deine Webseite. Inhaltlich und auch das Design kann sich sehen lassen. Stylesheet ist eine feine Sache mit unendlich vielen Möglichkeiten.

Weiter so und alles Gute ...
 
Danke für das Lob ;)
das schönste ist, dass der Space kostenlos und trotzdem ohne Werbung ist.
Und das ganze noch mit php, SSI (Perl) und mySQL - was will man mehr ?
 
Welcher Anbieter bitte? Freenet etwa? Ich habe das ja auch alles bei 300 MB Webspace für 4,25 € im Monat bei all-inkl.com.
 
Original geschrieben von Hairfeti
Welcher Anbieter bitte? Freenet etwa? Ich habe das ja auch alles bei 300 MB Webspace für 4,25 € im Monat bei all-inkl.com.
 

all-inclusive wäre meine Wahl für paid Space.
das ist bei shellmaster.de.
Da bekommt aber nicht jeder Space, sondern man muss sich bewerben
 
Hallo Hairfeti.
Ich habe ein Problem mit meinem ftp-server. Ich habe die Konfiguration 1:1 von Deiner Beschreibung übernommen. Er läuft für die zugelassenen user auch ohne Probleme was deren Verzeichnisse angeht. Probleme habe ich vielmehr mit dem Zugang für den annonymous user. Dieser kann wie angegeben nur auf die zwei Verzeicjhnisse /pub und /incoming zugreifen - das ist ja auch so gewollt. Dummerweise kann er auch Dateien löschen. Ich bin schon am verzweifeln und weiß nicht wirklich warum. Habe dein Listing mit meinem schon x-mal verglichen. Die Rechtevergabe ebenfalls. Ich habe keinen Schimmer, warum der anonymous Zugang Löschrechte hat. vielleicht hast Du eine Idee.
Danke, Andreas
 
Willkomen im Forum. Auf eine Meldung von Hairfeti kannst Du lange
warten, der ist gebannt. Aber es findet sich bestimmt jemand, der
sich deinem Problem widmet, keine Bange.
 
hallo a.geissler

Ich hab im Augenblick nicht die Zeit, die ganze Konfig durchzugehen.

Du musst darauf achten, dess der betreffende Benutzer im Verzeichnis kein Schreibrecht hat, dann sollte es eigentlich klappen.
Hast Du auch die Eigentumsverhältnisse geprüft (Benutzer und Gruppe, denen die betreffenden verzeichnisse gehören) ?

Vielleicht hilft Dir auch die Auswertung der ftp-Logfiles weiter.
Dazu musst Du allerdings in der entsprechenden Datei unter /etc/xinet.d beim Starten des Servers die Option -l oder -ll angeben.
Falls Du nicht klarkommst, alles Weiterere heute Abend oder morgen.
 
Spitze!

Super Beitrag! Genau das wonach ich gesucht hatte!
Eine einzige Frage bleibt mir jetzt noch...

Da ich keinen anonymen Log In haben will:
Wie kann ich einen User anlgen wie den FTP-User, der sich nicht am system anmelden darf, aber trotzdem ein Passwort hat?

Wenn ich im NetInfo Manager in der Zeile Passwort ein Passwort eintrage beim FTP-User funktioniert gar nichts mehr... :-(

Ich möchte aber nicht mit der "normalen" Benutzerverwaltung einen User anlegen müssen der dann auch ein "normales" Homeverzeichniss hat...

Kann mir dabie noch jemand helfen? Wäre super!
 
axellerator schrieb:
...
Ich möchte aber nicht mit der "normalen" Benutzerverwaltung einen User anlegen müssen der dann auch ein "normales" Homeverzeichniss hat...

Kann mir dabie noch jemand helfen? Wäre super!

Hier mein Vorschlag (getestet hab´ ich das nocht nicht)
Du könntest einen normalen User anlegen, dann in Netinfo bei home und bei shell "/dev/null" eintragen und dessen Homeverzeichnis (im Terminal mit sudo) löschen.
Damit ist ein remote-login nicht möglich, da keine Shell zur Verfügung steht und das Home-Verzeichnis wurde entfernt.
Ob der Benutzer sich dann lokal noch anmelden kann weiss ich nicht; vielleicht kannst Du das mal testen und das Ergebnis hier posten.
 
Klappt so nicht...

Also... das habe ich getestet:

vorweg: amidala (das ist mein User) steht natürlich nicht in /etc/ftpusers! ;-)

1) User angelegt und den wert für "home" auf das FTP-Verzeichniss gesetzt, den Wert für die "shell" auf /dev/null gesetzt -> 530 User amidala may not use FTP.

2) User angelegt und den wert für "home" auf das FTP-Verzeichniss gesetzt, den Wert für die "shell" auf /bin/false (wie im Tutorial) gesetzt -> 530 User amidala may not use FTP.

3) User angelegt und den wert für "home" auf das FTP-Verzeichniss gesetzt, den Wert für die "shell" auf den Originalwert gesetzt -> funktioniert, was zu erwarten war...

4) User angelegt und den wert für "home" auf das FTP-Verzeichniss gesetzt, den Wert für die "shell" auf den Originalwert gesetzt, aber jetzt das original home-Verzeichniss gelöscht, die UID auf 90 (wie Tutorial) und die GUID auf 20 gesetzt... -> funktioniert auch...

Einzig die shell scheint das Problem zu sein, und das steht auch schon in im man ... >> The user must have a standard shell returned by getusershell(3). <<
Aber warum kann dann der User ftp als shell /bin/false haben???
 
Zurück
Oben Unten