[gelöst] Wie kann man spez. User-Rechte für VSFTP setzen ?

gismotro

Mitglied
Mitglied seit
5 Sep 2007
Beiträge
525
Punkte für Reaktionen
128
Punkte
43
Hallo Freetzer,

ich teste gerade an dem FTP von einem Kumpel rum, aber ich komme nicht auf die Lösung !

Ich möchte das Standardmäßig kein User Dateien oder Ordner per FTP löschen kann, deshalb habe ich folgendes unter Zusätzliche Konfigurationsoptionen (für Experten) im VSFTP eingetragen:
cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,EPR T,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS ,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR, RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE, USER

Sprich ich habe DELE,RMD aus der Liste gelöscht.

Das funzt auch Super, aber wie bringe ich dem VSFTP bei das der FTP-User Paul doch löschen darf ?

Ich wollte das ganze über die User-Datei im Ordner vsftp_user_conf lösen, aber das geht bis jetzt nicht oder ich weiß nicht was ich dort reinschreiben muß.

Bis jetzt steht dort nur normalerweise nur:


drin, sobald ich jedoch etwas anderes dazu schreibe geht der FTP-User nicht mehr.

Hat einer vielleicht eine Idee ?
 
Zuletzt bearbeitet:
kann jetzt nicht testen, aber ich würde erwarten, dass wenn ich in der User-Configdatei ein cmds_allowed mit eben DEL und RMD drin habe, es dann funktioniert...

Was heißt FTP-User geht nicht, startet vsftpd gar nicht, startet schon, der User kann sich aber nicht einloggen (wenn Du den vsftpd im inetd-Modus betreibst, kannst Du wahrscheinlich das gar nicht unterscheiden, starte den vsftpd im daemon-Modus). Steht was in syslog?
 
kann jetzt nicht testen, aber ich würde erwarten, dass wenn ich in der User-Configdatei ein cmds_allowed mit eben DEL und RMD drin habe, es dann funktioniert...

Danke ! Das war die Lösung ! :blonk:

Man ersetze:
durch:
cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER
in der User-Datei
 
In neueren vsftpd Versionen kann man auch Befehle verbieten. Da wäre deine Liste vielleicht etwas kürzer... ;-)

MfG Oliver
 
Problem ist das ich den FTP den ich für meinen Kumpel eingerichtet habe so abgesetzt habe das alle User die er erzeugt nicht per ftp löschen dürfen, sondern nur er Dateien löschen darf und es ist leichter zu erklären: schreibe write_enable=yes oder no als jedes mal den ganzen Salmon in die userconf-Datei zu schreiben, oder verstehe ich gerade wieder was nicht ?
 
Was Oliver meint, ist denke ich, daß es in neueren vsftpd-Versionen einen Befehl wie
Code:
cmds_denied=xxxxx
oder so ähnlich gibt.
Hier warst du doch damals auch dabei !?
 
Schon, aber was soll denn dann wo drin stehen ?

Ich fahre z.Z. nach dem Prinzip: erst einmal löschen generell über die Option Konfigurationsoptionen (für Experten) im VSFTP zu verbieten, damit keiner aus versehen was löschen darf und mein Kumpel nur noch entscheiden muß ob der neue User Schreibrechte hat oder nicht.

Wie soll ich das denn über cmds_denied=xxxxx und cmds_allowed=xxxxx realiesieren ? So das er später auch keine Fehler machen kann ?

Ich finde es für Ihn einfacher mit zwei Configs zu arbeiten die er nur kopieren und umbenennen muß

a.) write_enable=no
b.) write_enable=yes
 
Zuletzt bearbeitet:
Aus manpage vsftpd.conf:
cmds_allowed
This options specifies a comma separated list of allowed FTP commands (post login. USER, PASS and QUIT and others are always allowed pre-login). Other commands are rejected. This is a powerful method of really locking down an FTP server. Example: cmds_allowed=PASV,RETR,QUIT
Default: (none)

cmds_denied
This options specifies a comma separated list of denied FTP commands (post login. USER, PASS, QUIT and others are always allowed pre-login). If a command appears on both this and cmds_allowed then the denial takes precedence. (Added in v2.1.0).
Default: (none)

EDIT:
Ich finde es für Ihn einfacher mit zwei Configs zu arbeiten die er nur kopieren und umbenennen muß
Zwei Configs für was? Den einzelnen user oder den vsftpd-server? Was kannst Du mit "write_enable" konfigurieren? Den einzelnen (ftp)-user oder den vsftpd-server? Sind zwei Configs für den vsftpd-server zulässig?
 
Zuletzt bearbeitet:
...und sofern du den trunk nutzt, ist deine Version die 2.2.2 und somit gibts diesen Befehl.
 
Zwei Configs für was?

Wie ich in Post #1 geschrieben habe !

Hier kommt mein Befehl für cmds_allowed= rein:
126


und dann nur noch die beiden unterschiedlichen Einträge für die User-Dateien:
/var/media/ftp/uStor01/vsftp_user_conf/user1


/var/media/ftp/uStor01/vsftp_user_conf/user2


/var/media/ftp/uStor01/vsftp_user_conf/gast

 
Hallo!
Dazu muss ich mal was fragen...
Kommt da in deine Userconf Datei proUser ein Eintrag rein oder wie oben in deinem Beispiel gennant pro User eine Datei mit dem Usernamen?
Ist etwas missverständlich dargestellt...
Kannst den Inhalt deiner User_conf mal posten?
 
Ich halte mich bis jetzt an das was hier geschrieben wurde: http://trac.freetz.org/wiki/help/howtos/common/newbie_start#RechtevergabefürFTP-User
Ob ein Neuer FTP-User Schreibrechte erhalten soll oder nur lesen können soll wird wie folgt geregelt:
Jeder Benutzer erhält eine Datei mit seinem Dateinamen im Ordner /var/media/ftp/uStor01/vsftp_user_conf/, die festlegt, ob er Schreibrechte hat oder nicht.

Inhalt der Datei :
write_enable=yes(User hat Schreibrechte / siehe Paul und Mary)
write_enable=no(User hat keine Schreibrechte / siehe Gast)

Mit einem einzigen Unterschied das ich folgendes im WebIF von VSFTP ergänzt habe:

126

user_config_dir=/var/media/ftp/uStor01/vsftp_user_conf
banner_file=/var/media/ftp/uStor01/ftp-startbild
cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER
Diese Ergänzung soll verhindern das FTP-User die Schreibrechte haben mir zwar Dateien schicken dürfen, diese aber nicht wieder von ihnen selber gelöscht werden können. Ich möchte nicht das mein FTP als Tauschbörse missbraucht wird und wenn will ich zu mindestens auch wissen was getauscht wird !



Sorry wenn ich mich etwas unverständlich Ausdrücke, aber ich habe von Linux nicht so viel Plan. Ich baue eigentlich nur das nach was hier so zum Thema VSFTP und Freetz geschrieben wird........ ;)
 
Zuletzt bearbeitet:
Ok...anhand des Wiki habe ich es jetzt geblickt...
Also nen Ordner vsftpd_user_conf und einzelene Dateien mit den Namen der User, in denen das entsprechende write_enabled ja oder nein steht
 
Ja, oder gibt es einen besseren Weg ?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.