PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP einrichten (User hinzufügen)



visionmaster
30.09.04, 14:57
Hallo,

Ich möchte auf einem Webserver einem User das hochladen von Dateien in einem spezifischen Ordner zulassen.

Im Ordner /etc befinden sich Dateien wie z.B. vsftpd.conf. Ich habe aber keine Ahnung wo ich was machen muss damit ein User X per FTP auf einen bestimmten Ordner zugreifen kann.

Muss dieser User auch als Unix Benutzer vorhanden sein? Wenn ja, wie richte ich einen neuen Linux-Benutzer ein? (alles auf Kommandozeile per putty)

Ich wäre dankbar wenn Antworten kommen die ich als Linux Newbie auch verstehe... ;-)

Red Hat Linux 8.0 ist installiert.

Besten Dank!

jake
30.09.04, 15:15
huhu :)
ich weiss nicht wie vsftpd das regelt.
aber ich kann dir sagen wie du ein user anlegen kannst ;)
z.B. für user test

useradd test
passwd test <- dann kommt eine passwordaufforderung
mkdir /home/test
chown test:users /home/test
alles mit root natürlich ;)


Aber hier haste noch ne beschreibung für die config:
http://vsftpd.beasts.org/vsftpd_conf.html

gruss Jake

visionmaster
30.09.04, 18:10
Hallo,



useradd test
passwd test <- dann kommt eine passwordaufforderung
mkdir /home/test
chown test:users /home/test
alles mit root natürlich ;)


Ich habe einen User angelegt, das hat geklappt. Nun kann der User sich über FTP auch erfolgreich einloggen. Nur kann er mit WinCP hoch wechseln, d.h. er kommt in Verzeichnisse rein in der er garnicht wechseln dürfte.

Was mache ich falsch?

Der Ordner gehört dem User XY und der Gruppe users.

Danke!

foolish
30.09.04, 21:54
hallo,

die funktionen unter vsftp wie chroot_local_user (ftp-user im verzeichnis festhalten) gilt nur für reine Ftp-Verbindungen.
Wenn Du Winscp nutzt, dann geht das nicht über ftp sondern über sftp oder scp (sshd) dann gelten die normalen Rechte der Verzeichnisse wie sonst auch..
(wenn sich einer besser auskennt bitte um Korrektur).
Wenn Du das ganze über winscp realisieren willst kann ich Dir scponly nahe legen, allerdings bedarf einer Einlesungszeit die nicht ohne ist ! hier der link ->
http://www.scponly.org

edit: also nach einem erneuten überfliegen der postings hier, bist Du noch sehr in den Anfängen, deswegen ist mein Tip doch wahrscheinlich sehr heavy
sry,

foolish
01.10.04, 14:26
hi,

Da ich nun damit angefangen habe hier mal ein quick+dirty Schnellinstallation von scponly :

1. also von der Seite scponly.org scponly-3.11.tgz downloaden
Ziel ist der Server, dort in den Verzeichnis /usr/src/ oder halt ein Verzeichnis deiner Wahl -- so das Du es wiederfindest... (ich nehme halt /usr/src/packages/SOURCES hierfür, Übersicht undso)

2. zu dem Ordner wechseln cd /xx/xx . Hier ein " tar xvfz scponly-3.11.tgz.tar (die TAB Taste ist dein Freund)
das entpackt Dir das Paket und erzeugt ein neuen Ordner scponly-3.11

3. jetzt wechseln nach cd scponly-3.11 . hier mal INSTALL README und so gut durchlesen... dann folgt mein quick+dirty halt:
./configure --enable-chrooted-binary --> enter -->abwarten
make --> enter --> warten
make install --> enter --> warten
damit hätten wir scponly erledigt ...

4. Nun ist da netterweise ein script (setup_chroot.sh) mit make jail aufgerufen was alles automatisch für Dich anlegt :
make jail --> enter

Username to install [scponly] test (Beispiel)
home directory ...... (hier kannst Du HomeVerzeichnis angeben)
oder enter für /home/test
name of .... (ein Verzeichnis wo der User was schreiben kann) default incoming
set password ... (password für User)
Re-enter ... (pasword Kontrolle)

Fertig.

jetzt probier mal mit winscp ;) (( als root die Schritte ausführen ))
-- natürlich angenommen alles läuft bei Compilation bei den Schritten 1-3 glatt

cu

visionmaster
01.10.04, 16:31
hallo,

die funktionen unter vsftp wie chroot_local_user (ftp-user im verzeichnis festhalten) gilt nur für reine Ftp-Verbindungen.
Wenn Du Winscp nutzt, dann geht das nicht über ftp sondern über sftp oder scp (sshd) dann gelten die normalen Rechte der Verzeichnisse wie sonst auch..


Achso, das war mir überhaupt nicht klar.
Habe ich das richtig verstanden vsftp ist ftp und nicht sftp?

Ich habe unter /etc/ eine Datei vsftpd.chroot_list angelegt und dort root eingefügt. D.h. root darf nicht nur im eigenen Home-Verzeichnis agieren. Hmm, was ist eigentlich das Homeverzeichnis des roots?

Mit /etc/rc.d/init.d/xinetd restart habe ich den vsftp-Daemon neu gestartet.

Wo mache ich die sftp Konfiguration?

Ich komme ja mit WinSCP rein, kann aber aus meinem Homeverzeichnis hochgehen.

Muss mit ps aux nicht die Dienste angezeigt werden, wie z.B. sftp, etc...

Ich blicke gerade überhaupt nicht durch...

Mit Deiner scponly Lösung kann mein root aber dann trotzdem ales machen, oder wie? Wie gesagt ich komme momentan mit WinSCP als root rein, da möchte ich nicht rumpfuschen.

Besten Dank.

foolish
01.10.04, 20:00
hi,

was man einmal anfängt .... ;)

1. vsftpd is a GPL licensed FTP server for UNIX systems (vsftpd.beasts.org)

2. hört sich alles gut an für vsftpd, auf deinem System rennt wahrscheinlich noch sshd :
über diesen läuft sftp, scp, ssh (secure shell) irgendwas mit verschlüsselter Verbindung (bitte selber infos ranholen).

3. Bei winscp ist Verbindungsaufbau Standardmaessig auf Port 22 gesetzt --> dort horcht der sshd Prozess auf dem Server, bei Ftp sind es Port 20,21 (aber hier bitte auch selber Informieren).

4. Ich weiss es nicht ganz genau, aber wenn Du bei Winscp auf Port 21 stellst dann müsste theoretisch das Verhalten so sein wie Du es möchtest,
allerdings läuft wahrscheinlich ein sshd Daemon (Prozess,Serverdienst) auf deinem Red Hat, mit einem ps -ef | grep sshd ueberpruefbar
bringt dann als ausgabe ungefaehr sowas :
root 8987 660 0 19:26 ? 00:00:00 /usr/sbin/sshd --<
root 9035 8998 0 19:44 pts/0 00:00:00 grep sshd

5. Also entweder sshd nicht laufen lassen, oder winscp Verbindung mit Port 21 aufbauen, oder einen anderen ftp-klienten nehmen...

6. sftp hat soweit ich weiss kein config-file, deswegen scponly ...
und nein dein root wäre nicht betroffen, mit dem Script legt der erst chrooted User an, heisst der führt alle erforderlichen Schritte durch wie kopieren von wichtigen Befehlen die der (gefangen gehaltene User braucht) wie ls, usw. in dessen Verzeichnis.

7. Da ich selber mehr lerne wenn ich es beschreiben kann, hab ich das mal hier ausgekostet, danke..

8. Aber bitte alles selber mit Recherchen überprüfen und am besten testen.


gruß
fool

edit : /root --< home von

visionmaster
04.10.04, 22:32
Hallo foolish,

Vielen Dank für Deine ausführlichen und vor allen Dingen verständlichen Antworten! Du hat mir sehr weitergeholfen, nun verstehe ich viel mehr. Deine Installationanleitung von scponly ist echt super, hat alles sofort geklappt! Mein angelegter User kommt nicht über ftp rein, über sftp kommt er rein. Das "rausgehen" aus seinem Homeverzeichnis geht nicht, genau was ich wollte.

Also, nochmal vielen, vielen Dank!

visionmaster

CP Sol
03.07.08, 23:06
Hmm...
Bissl veraltet das Thema, aber trotzdem hab icks mal probiert.

weiß keinen Rat mehr ^^

Hab OS: Linux Debian 4.0 32Bit

hatte user erstellt, hatte keinen ftp zugang(richtig) hatte keinen winscp und putty zugang(FALSCH, wollt ich net) dh. gar nix. fehlermeldung:


Cannot initialize SFTP protocol. Is the host running a SFTP server?


Wohlgemerkt nur bei dem testuser den ich extra dafür gemacht hab... alle anderen user gehen :-/

mfg,
Sol