ubuntuusers.de

12.04LTS Server - vsftpd 2.3.5 - 500 OOPS: vsftpd: refusing to run with writable root inside chroot

Status: Gelöst | Ubuntu-Version: Server 12.04 (Precise Pangolin)
Antworten |

duesentriebchen

Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

Hallo Ihr ☺

Ich habe ein -für euch- klitzekleines problem, wozu ich bitte eure hilfe brauche!

Tatbestand: Distupdate von 10.04 auf 12.04 → vsftpd update auf 2.3.5

Auswirkung: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Lösung: Patch 2.3.5+ EXT build 1 → Option in der vsftpd.conf allow_writabel_root=YES

https://bbs.archlinux.org/viewtopic.php?pid=1061957#p1061957

http://askubuntu.com/questions/128180/vsftpd-stopped-working-after-update

http://vsftpd.devnet.ru/eng/

Ich bin kein Profi, und ich wäre euch für eine Insatallationsanleitung sehr sehr dankbar!!! Ich benutze 12.04LTS Server nur mit Konsole also ohne GUI, und ich möcht nicht irgendetwas verbocken das ich dann nicht mehr gerichtet bekomme...bin etwas grün hinter den Ohren... 🙄

Ich bedanke mich ganz herzlich bei euch im Vorhinein!!! Liebe Grüße, Düse.

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

... für eine Insatallationsanleitung sehr ...

Was ist betr. vsftpd, z. Zt. bei deinem 12.04 installiert?

EDIT:

Oder geht es dir lediglich darum, die Zeile:

allow_writabel_root=YES

in die vsftpd.conf einzufügen?

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

Hallo mickydoutza 😀

Der Ubuntuusers.de.server.robin-hood unter den Forenmitgliedern 😎 👍

Ja, es geht mir darum diese Zeile.

allow_writabel_root=YES

Ich vertraue meinen Usern und möchte ihnen die Freiheit bieten, sowie ich mir auch die Sicherheit als Admin bieten möchte, dass sich keiner im Filezilla "verdrückt" → daher das chroot_jail.

Die Workarounds mit

chmod a-w /user

entkräften meiner bescheidenen Meinung nach den Sinn eines FTPS mit chroot_jail...

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

Ja, es geht mir darum diese Zeile.

allow_writabel_root=YES

Mit einem Linux-/Unix-Editor, z. B. nano:

sudo nano /etc/vsftpd.conf

die Zeile eintragen. Mit "strg+o" speichern und mit "strg+x" nano verlassen. Den vsftpd neu starten:

sudo restart vsftpd

und danach testen ob der vsftpd entsprechend deinen Vorstellungen funktioniert.

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

genau das ist ja das Problem...

vsftpd 2.3.5 kennt diese option nicht. Dazu muss man das Patch 2.3.5+ EXT 1 compilieren, und das kann ich nicht.

Daher bitte ich um Anleitung wie das auf 12.04 in der Konsole geht mickydoutza.

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

vsftpd 2.3.5 kennt diese option nicht. Dazu muss man das Patch 2.3.5+ EXT 1 compilieren, und das kann ich nicht.

Ich kenne diesen Patch nicht und weiß auch nicht wo man diesen Patch zum testen, downloaden kann. An deiner Stelle würde ich wie folgt vorgehen. vsftpd aus 12.04 mit den Ubuntu-"tools" removen. Den source code für vsftpd 2.3.5 downloaden und mit "tar xzvf vsftpd-2.3.5.tar.gz" entpacken. Mit "patch -p0 < /Pfad/zum/patch" den source code patchen. Je nach Verzeichnisse kann "-p0" falsch sein und muss angepasst/geändert werden. Nach dem Patchen schauen ob der source code eine Makefile hat oder ob diese mit "./configure" erstellt werden muss. Falls keine Makefile, kann/muss evtl. noch konfiguriert werden (siehe dann "./configure --help"). Wenn die Makefile-datei vorhanden, dann mit "make" das binary kompilieren. Mit den üblichen tools (ldd, file, etc.) das binary testen. Wenn alles OK, dann das binary verwenden.

EDIT:

Makefile ist vorhanden (ftp://vsftpd.beasts.org/users/cevans/untar/vsftpd-2.3.5/Makefile), d. h. "./configure" ist nicht erforderlich (nur vorher patchen).

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

... ja, und genau das kann ich nicht mickydoutza ... zumindest nicht in der konsole ...

Wie geht das was der Herr beschreibt

Download sources of vsftpd-ext, compile and overwrite exist vsftpd binaries or take it from repositories and add to configuration file option allow_writable_root=yes.

hier das problem welches auch mehrere betrifft

http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/

das ist der gemeinte patch

http://vsftpd.devnet.ru/files/2.3.5/ext.1/

auf dieser seite http://vsftpd.devnet.ru/eng/

Frage 1: Wie kann ich in der Konsole diesen Patch herunterladen? Frage 2: Wie kompilier ich das?

Bitte mir erklären wie das funtzt... 😬

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

Frage 1: Wie kann ich in der Konsole diesen Patch herunterladen? Frage 2: Wie kompilier ich das?

Bitte mir erklären wie das funtzt... 😬

Das Problem ist, dass Du nicht genau weißt welcher source code mit welchem Patch verändert werden soll. Der von dir möglicherweise verlinkte Patch, funktioniert nicht mit der Version 2.3.5 von vsftpd:

xx@YYYYY:~> cd vsftpd-2.3.5


xx@YYYYY:~/vsftpd-2.3.5> patch -p0 < 1_ssl_userlist.patch
patching file twoprocess.c
patching file tunables.c
Hunk #1 succeeded at 36 (offset -1 lines).
Hunk #2 succeeded at 122 (offset -21 lines).
Hunk #3 succeeded at 176 (offset -32 lines).
Hunk #4 FAILED at 318.
1 out of 4 hunks FAILED -- saving rejects to file tunables.c.rej
patching file tunables.h
Hunk #2 succeeded at 125 (offset -20 lines).
patching file parseconf.c
Hunk #2 succeeded at 159 (offset -18 lines).
patching file vsftpd.conf.5
Hunk #1 succeeded at 499 (offset -136 lines).
Hunk #2 succeeded at 992 with fuzz 2 (offset -228 lines).
patching file prelogin.c
Hunk #1 FAILED at 235.
1 out of 1 hunk FAILED -- saving rejects to file prelogin.c.rej
patching file main.c
Hunk #1 succeeded at 52 with fuzz 2 (offset -4 lines).
patching file session.h
Hunk #1 succeeded at 60 (offset -5 lines).

D. h., um welchen source code und um welchen Patch geht es hier?

EDIT:

Es gibt einen source code (Archiv aus RU http://vsftpd.devnet.ru/files/2.3.5/ext.1/vsFTPd-2.3.5-ext1.tgz) mit dem der Patch funktioniert:

wget http://vsftpd.devnet.ru/files/2.3.5/ext.1/vsFTPd-2.3.5-ext1.tgz
tar xzvf vsFTPd-2.3.5-ext1.tgz
cd vsFTPd-2.3.5-ext.1
wget http://vsftpd.devnet.ru/files/2.3.5/ext.1/patch/1.%20ssl_userlist.patch
patch -p0 < "1. ssl_userlist.patch"
patching file twoprocess.c
patching file tunables.c
patching file tunables.h
patching file parseconf.c
patching file vsftpd.conf.5
patching file prelogin.c
patching file main.c
patching file session.h
make
...
...
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o charconv.o pasvrules.o usersip.o http.o http_msg.o http_str.o -Wl,-s -lcap -ldl -lcrypt    -lwrap -lnsl    -lssl -lcrypto
file ./vsftpd
./vsftpd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, stripped
xx@YYYYY:~/vsFTPd-2.3.5-ext.1> ldd ./vsftpd
        linux-vdso.so.1 =>  (0x00007fff3cfff000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007ffe3992b000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007ffe39727000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007ffe394ed000)
        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007ffe392e2000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007ffe390ca000)
        libssl.so.1.0.0 => /lib64/libssl.so.1.0.0 (0x00007ffe38e6e000)
        libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007ffe38abf000)
        libc.so.6 => /lib64/libc.so.6 (0x00007ffe3875f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ffe39b30000)
        libz.so.1 => /lib64/libz.so.1 (0x00007ffe38549000)
xx@YYYYY:~/vsFTPd-2.3.5-ext.1> ./vsftpd -?
vsFTPd version 2.3.5+ (ext.1)
Type 'vsftpd -v' to see the program version
Usage: vsftpd <config> [options]
  <config> - full path to configuration file
Options:
  -o<parameter>=<value>
  parameter and value you can look in vsftpd configuration file manual

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

Sofern ich das richtig verstanden habe...

replacing vsftpd with vsftpd-ext and adding
allow_writable_root=YES
should help

...wird mit dieser Datei https://aur.archlinux.org/packages/vs/vsftpd-ext/vsftpd-ext.tar.gz vsftpd neu installiert. Ich weiss aber nicht wie das funktioniert mickydoutza.

Daher bitte ich um eine Anleitung. Ich hab mich durchgelesen und weiss dass ich vorher die vsftpd.conf sichere und dann

sudo aptitude remove --purge vsftpd

machen muss und dann

wget https://aur.archlinux.org/packages/vs/vsftpd-ext/vsftpd-ext.tar.gz

mache. Somit ist die Datei in meinem home ordner am rechner

Dann weiss ich nicht weiter. Daher mein Hilferuf...

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

Dann weiss ich nicht weiter. Daher mein Hilferuf...

Siehe EDIT in meinem vorletzten Beitrag vom 1. Juli 2012 16:44 in diesem (deinem) Thread.

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

...bin grad dabei... mir fehlen nur die halben main pakete 😢 ...

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

mir fehlen nur die halben main pakete 😢 ...

Du meinst gcc & Co. ?

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

jope 🤓

oops

user@server500gb:~/vsFTPd-2.3.5-ext.1$ sudo make
[sudo] password for user: 
gcc -c main.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c utility.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c prelogin.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ftpcmdio.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c postlogin.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c privsock.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c tunables.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ftpdataio.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c secbuf.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ls.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c postprivparent.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c logging.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c str.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c netstr.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c sysstr.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c strlist.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c banner.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c filestr.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c parseconf.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c secutil.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ascii.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c oneprocess.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c twoprocess.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c privops.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c standalone.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c hash.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c tcpwrap.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ipaddrparse.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c access.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c features.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c readwrite.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c opts.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ssl.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c sslslave.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ptracesandbox.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ftppolicy.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c sysutil.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c sysdeputil.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c charconv.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c pasvrules.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c usersip.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c http.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c http_msg.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c http_str.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o charconv.o pasvrules.o usersip.o http.o http_msg.o http_str.o -Wl,-s -lcap -ldl -lcrypt    -lpam    -lwrap -lnsl    -lssl -lcrypto 
/usr/bin/ld: cannot find -lcap
/usr/bin/ld: cannot find -lpam
/usr/bin/ld: cannot find -lwrap
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
collect2: ld gab 1 als Ende-Status zurück
make: *** [vsftpd] Fehler 1

HILFE 😳

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

jope 🤓

Hier eine kleine Auswahl an Werkzeug für Entwickler, ohne Anspruch auf Vollständigkeit: 😉

sudo apt-get -y install imagemagick subversion gcc g++ bzip2 binutils automake patch autoconf libtool pkg-config make libncurses5-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libglib2.0-dev xz-utils git-core libc6-dev-i386 lib32ncurses5-dev gcc-multilib

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

😀 der war gut...

Ist am installieren... zwei pakete sind nicht mehr verfügbar... mal schaun wie lang das dauert....

Das dauert noch ein paar stunden.... der server der TU Wien gibt mir im moment 6000B/s 😕 👿

1000B/s... MANNNNNN!!!!!

jetzt isser weg ... och komm ... → diese bits und bytes machen mich noch wahnsinnig 😲

wenn das zeug nicht so interessant wär 🤣 😀 😛

Antworten |