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 |

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

Ich würde gerne vsftpd 2.3.5ext1 in die binaries übertragen. Ich hab auf meinem Testrechner vsftpd installiert und mir die Dateien von vsftpd durchgelesen. Ich bin mit meinen Script-kenntnissen leider am Ende, da ich die Bedeutung diverser Zeilen in der

/etc/init.d/vsftpd

nicht annähernd verstehe...

Du könntest vsftpd umbennenen, ein symlink auf das vsftpd-2.3.5ext1-binary machen und mit "sudo sh -x /etc/init.d/vsftpd start" (oder restart) das neue binary starten/testen.

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

micky 🤓

Jetzt versteh ich gleich viel wie vorher 😀 😢

Ich muss mir ein paar workshops und bücher zu gemüte führen, damit ich das versteh ❗

Ich würd gern die binaries ersetzen wie du dies beschrieben hast.

mickydoutza schrieb:

duesentriebchen schrieb:

Die conf mit

cp vsftpd.conf /etc

brav kopiert und geändert.

...läuft trotzdem nicht...

Wenn ich sage

vsftpd start

kommt

500 OOPS: cannot read config file: start

Wenn ich sage

sudo vsftpd start

kommt dasselbe.

Wenn ich sage

sudo /etc/init.d/vsftpd start

kommt

sudo: /etc/init.d/vsftpd: Befehl nicht gefunden

Mit

rcvsftpd start

isses auch nicht besser

langsam aber sicher verzweifel ich 😕

Jetzt hab ich vsftpd kurz installiert, funtzt. wieder deinstalliert. dann mach ich jetzt das ganze nochmal →

Wenn Du lediglich mit "make" ein binary für vsftpd kompilierst und auf deinem PC eine vsftpd.conf erstellt, hast Du noch keine "Infrastruktur" mit start-stop-Scripten & Co., wie wenn Du "sudo apt-get install vsftpd" machst. Deshalb kann "sudo start vsftpd" nicht funktionieren. Du musst "./vsftpd -?" beachten:

./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

ODER Du installierst vsftpd aus Ubuntu mit "sudo apt-get install vsftpd" und ersetzt das vsftpd-binary aus Ubuntu mit deinem vsftpd-binary oder mit einem symlink auf dein vsftpd-binary. Dann kannst Du "sudo restart vsftpd" benutzen.

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

Ich würd gern die binaries ersetzen wie du dies beschrieben hast.

Ja, versuch mal auf deinem Testrechner als root, mit umbennenen und symlink.

sudo find /usr -iname 'vsftpd'

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

DANKEEEEE!!!!

1.) Hier die Ausgabe von meinem Testrechner Ubuntu 10.04.04

vsftpd installiert über synaptic

user@rechner:~$ vsftpd -v
vsftpd: version 2.2.2 
user@rechner:~$ sudo find /usr -iname 'vsftpd'
[sudo] password for user: 
/usr/sbin/vsftpd
/usr/share/doc/vsftpd

2.) Hier die ausgabe von meinem Server UbuntuServer 12.04.01LTS

vsftpd installiert wie in diesem Thread beschrieben

user@server:~$ vsftpd -v
vsFTPd version 2.3.5+ (ext.1)
user@server:~$ sudo find /usr -iname 'vsftpd'
[sudo] password for user: 
/usr/local/sbin/vsftpd

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

user@rechner:~$ vsftpd -v
vsftpd: version 2.2.2 
user@rechner:~$ sudo find /usr -iname 'vsftpd'
[sudo] password for user: 
/usr/sbin/vsftpd
/usr/share/doc/vsftpd

"/usr/sbin/vsftpd" auf deinem Testrechner soll jetzt ein symlink sein, der auf ein "vsFTPd version 2.3.5+ (ext.1)"-binary (irgendwo auf deinem Testrechner), zeigt.

EDIT:

Wie startest Du "vsFTPd version 2.3.5+ (ext.1)" auf deinem Server?

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

mickydoutza schrieb:

duesentriebchen schrieb:

user@rechner:~$ vsftpd -v
vsftpd: version 2.2.2 
user@rechner:~$ sudo find /usr -iname 'vsftpd'
[sudo] password for user: 
/usr/sbin/vsftpd
/usr/share/doc/vsftpd

"/usr/sbin/vsftpd" auf deinem Testrechner soll jetzt ein symlink sein, der auf ein "vsFTPd version 2.3.5+ (ext.1)"-binary (irgendwo auf deinem Testrechner), zeigt. Verstehe ich jetzt nicht. Ich habe "vsFTPd version 2.3.5+ (ext.1)" auf meinem Testrechner noch nicht installiert....

EDIT:

Wie startest Du "vsFTPd version 2.3.5+ (ext.1)" auf deinem Server?

Mit

sudo vsftpd /etc/vsftpd/vsftpd.conf

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

Mit

sudo vsftpd /etc/vsftpd/vsftpd.conf

OK, und auf deinem Testrechner soll es jetzt mit dem vorhandenen start-stop-Script gemacht werden.

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

jope 😀

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

jope 😀

OK. Du weißt ja wie es geht. Wenn es geklappt hat, bitte hier melden. 😉

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

Also dann compilier ich jetzt mal den source-code von 2.3.5.ext-1 paralell zu 2.2.2 ❓

EDIT: → offensichtlich stimmt etwas mit den tcp_wrappers nicht...

Bin der Anleitung gefolgt und hab das orig vsftpd "gepurged"

Die buildef so angepasst, dass diese unter 2.2.2 passen würde

#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H

#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL

#define VSF_CONFIG_PATH "/etc/"
#define VSF_CONFIG_PREFIX "vsftpd."
//#define VSF_CONFIG_PATH "/etc/"
//#define VSF_CONFIG_PREFIX "vsftpd."

#endif /* VSF_BUILDDEFS_H */

→ bei

make

kommt folgende Meldung

user@rechner:~/vsftpd/vsFTPd-2.3.5-ext.1$ make
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
tcpwrap.c:16:20: error: tcpd.h: Datei oder Verzeichnis nicht gefunden
tcpwrap.c: In function ‘vsf_tcp_wrapper_ok’:
tcpwrap.c:29: error: storage size of ‘req’ isn’t known
tcpwrap.c:31: warning: implicit declaration of function ‘request_init’
tcpwrap.c:31: error: ‘RQ_DAEMON’ undeclared (first use in this function)
tcpwrap.c:31: error: (Each undeclared identifier is reported only once
tcpwrap.c:31: error: for each function it appears in.)
tcpwrap.c:31: error: ‘RQ_FILE’ undeclared (first use in this function)
tcpwrap.c:32: warning: implicit declaration of function ‘fromhost’
tcpwrap.c:33: warning: implicit declaration of function ‘hosts_access’
tcpwrap.c:29: warning: unused variable ‘req’
make: *** [tcpwrap.o] Fehler 1
user@rechner:~/vsftpd/vsFTPd-2.3.5-ext.1$ ls -l vsftpd
ls: Zugriff auf vsftpd nicht möglich: Datei oder Verzeichnis nicht gefunden

EDIT_2

Wenn ich in den builddefs die tcp_wrappers auf undef stelle, kommt das selbe bei SSL

user@rechner:~/vsftpd/vsFTPd-2.3.5-ext.1$ make
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
ssl.c:28:25: error: openssl/err.h: Datei oder Verzeichnis nicht gefunden
ssl.c:29:26: error: openssl/rand.h: Datei oder Verzeichnis nicht gefunden
ssl.c:30:25: error: openssl/bio.h: Datei oder Verzeichnis nicht gefunden
ssl.c:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
ssl.c:39: error: expected ‘)’ before ‘*’ token
ssl.c:40: error: expected declaration specifiers or ‘...’ before ‘X509_STORE_CTX’
ssl.c:42: error: expected ‘)’ before ‘*’ token
ssl.c:46: error: expected declaration specifiers or ‘...’ before ‘SSL’
ssl.c:49: error: expected ‘)’ before ‘*’ token
ssl.c: In function ‘ssl_init’:
ssl.c:59: error: ‘SSL_CTX’ undeclared (first use in this function)
ssl.c:59: error: (Each undeclared identifier is reported only once
ssl.c:59: error: for each function it appears in.)
ssl.c:59: error: ‘p_ctx’ undeclared (first use in this function)
ssl.c:62: warning: implicit declaration of function ‘SSL_library_init’
ssl.c:63: warning: implicit declaration of function ‘SSL_CTX_new’
ssl.c:63: warning: implicit declaration of function ‘SSLv23_server_method’
ssl.c:64: error: ‘NULL’ undeclared (first use in this function)
ssl.c:68: error: ‘SSL_OP_ALL’ undeclared (first use in this function)
ssl.c:71: error: ‘SSL_OP_NO_SSLv2’ undeclared (first use in this function)
ssl.c:75: error: ‘SSL_OP_NO_SSLv3’ undeclared (first use in this function)
ssl.c:79: error: ‘SSL_OP_NO_TLSv1’ undeclared (first use in this function)
ssl.c:81: warning: implicit declaration of function ‘SSL_CTX_set_options’
ssl.c:89: warning: implicit declaration of function ‘SSL_CTX_use_certificate_chain_file’
ssl.c:93: warning: implicit declaration of function ‘SSL_CTX_use_PrivateKey_file’
ssl.c:93: error: ‘X509_FILETYPE_PEM’ undeclared (first use in this function)
ssl.c:115: warning: implicit declaration of function ‘SSL_CTX_set_cipher_list’
ssl.c:119: warning: implicit declaration of function ‘RAND_status’
ssl.c:125: error: ‘SSL_VERIFY_PEER’ undeclared (first use in this function)
ssl.c:129: error: ‘SSL_VERIFY_FAIL_IF_NO_PEER_CERT’ undeclared (first use in this function)
ssl.c:133: warning: implicit declaration of function ‘SSL_CTX_set_verify’
ssl.c:136: warning: implicit declaration of function ‘STACK_OF’
ssl.c:136: error: ‘X509_NAME’ undeclared (first use in this function)
ssl.c:136: error: ‘p_names’ undeclared (first use in this function)
ssl.c:137: warning: implicit declaration of function ‘SSL_CTX_load_verify_locations’
ssl.c:141: warning: implicit declaration of function ‘SSL_load_client_CA_file’
ssl.c:146: warning: implicit declaration of function ‘SSL_CTX_set_client_CA_list’
ssl.c:151: warning: implicit declaration of function ‘SSL_CTX_set_session_id_context’
ssl.c:157: warning: implicit declaration of function ‘SSL_CTX_set_timeout’
ssl.c: In function ‘ssl_read’:
ssl.c:247: error: ‘SSL’ undeclared (first use in this function)
ssl.c:247: error: expected expression before ‘)’ token
ssl.c:247: error: too few arguments to function ‘ssl_read_common’
ssl.c:245: warning: unused parameter ‘p_ssl’
ssl.c:245: warning: unused parameter ‘p_buf’
ssl.c:245: warning: unused parameter ‘len’
ssl.c: In function ‘ssl_peek’:
ssl.c:253: error: ‘SSL’ undeclared (first use in this function)
ssl.c:253: error: expected expression before ‘)’ token
ssl.c:253: error: too few arguments to function ‘ssl_read_common’
ssl.c:251: warning: unused parameter ‘p_ssl’
ssl.c:251: warning: unused parameter ‘p_buf’
ssl.c:251: warning: unused parameter ‘len’
ssl.c: At top level:
ssl.c:258: error: expected declaration specifiers or ‘...’ before ‘SSL’
ssl.c:261: error: expected ‘)’ before ‘*’ token
ssl.c: In function ‘ssl_read_common’:
ssl.c:265: error: ‘SSL’ undeclared (first use in this function)
ssl.c:265: error: ‘p_ssl’ undeclared (first use in this function)
ssl.c:265: error: expected expression before ‘)’ token
ssl.c:268: error: ‘p_ssl_func’ undeclared (first use in this function)
ssl.c:269: warning: implicit declaration of function ‘SSL_get_error’
ssl.c:271: error: ‘SSL_ERROR_WANT_READ’ undeclared (first use in this function)
ssl.c:272: error: ‘SSL_ERROR_WANT_WRITE’ undeclared (first use in this function)
ssl.c:276: warning: implicit declaration of function ‘SSL_get_shutdown’
ssl.c:276: error: ‘SSL_RECEIVED_SHUTDOWN’ undeclared (first use in this function)
ssl.c: In function ‘ssl_write’:
ssl.c:296: warning: implicit declaration of function ‘SSL_write’
ssl.c:296: error: ‘SSL’ undeclared (first use in this function)
ssl.c:296: error: expected expression before ‘)’ token
ssl.c:297: error: expected expression before ‘)’ token
ssl.c:299: error: ‘SSL_ERROR_WANT_READ’ undeclared (first use in this function)
ssl.c:300: error: ‘SSL_ERROR_WANT_WRITE’ undeclared (first use in this function)
ssl.c:290: warning: unused parameter ‘p_ssl’
ssl.c:290: warning: unused parameter ‘p_buf’
ssl.c:290: warning: unused parameter ‘len’
ssl.c: In function ‘ssl_write_str’:
ssl.c:308: error: ‘SSL’ undeclared (first use in this function)
ssl.c:308: error: expected expression before ‘)’ token
ssl.c:305: warning: unused parameter ‘p_ssl’
ssl.c: In function ‘maybe_log_shutdown_state’:
ssl.c:343: error: ‘SSL_SENT_SHUTDOWN’ undeclared (first use in this function)
ssl.c:347: error: ‘SSL_RECEIVED_SHUTDOWN’ undeclared (first use in this function)
ssl.c: In function ‘ssl_data_close’:
ssl.c:378: error: ‘SSL’ undeclared (first use in this function)
ssl.c:378: error: ‘p_ssl’ undeclared (first use in this function)
ssl.c:392: warning: implicit declaration of function ‘SSL_shutdown’
ssl.c:416: warning: implicit declaration of function ‘SSL_free’
ssl.c:417: error: ‘NULL’ undeclared (first use in this function)
ssl.c: In function ‘ssl_accept’:
ssl.c:429: error: ‘SSL’ undeclared (first use in this function)
ssl.c:429: error: ‘p_ssl’ undeclared (first use in this function)
ssl.c:431: error: ‘NULL’ undeclared (first use in this function)
ssl.c:435: warning: implicit declaration of function ‘get_ssl’
ssl.c:442: warning: implicit declaration of function ‘SSL_session_reused’
ssl.c:453: warning: implicit declaration of function ‘ssl_cert_digest’
ssl.c: At top level:
ssl.c:515: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
ssl.c: In function ‘ssl_session_init’:
ssl.c:592: error: ‘SSL’ undeclared (first use in this function)
ssl.c:592: error: ‘p_ssl’ undeclared (first use in this function)
ssl.c:593: error: ‘NULL’ undeclared (first use in this function)
ssl.c: At top level:
ssl.c:604: error: expected ‘)’ before ‘*’ token
ssl.c: In function ‘get_ssl_error’:
ssl.c:640: warning: implicit declaration of function ‘SSL_load_error_strings’
ssl.c:641: warning: implicit declaration of function ‘ERR_error_string’
ssl.c:641: warning: implicit declaration of function ‘ERR_get_error’
ssl.c:641: error: ‘NULL’ undeclared (first use in this function)
ssl.c: At top level:
ssl.c:644: error: expected ‘)’ before ‘*’ token
ssl.c:654: error: expected ‘)’ before ‘*’ token
ssl.c:672: error: expected declaration specifiers or ‘...’ before ‘X509_STORE_CTX’
ssl.c: In function ‘ssl_verify_callback’:
ssl.c:674: error: ‘p_ctx’ undeclared (first use in this function)
ssl.c: In function ‘ssl_add_entropy’:
ssl.c:689: warning: implicit declaration of function ‘RAND_load_file’
make: *** [ssl.o] Fehler 1

EDIT_3

Wenn ich den buiddefs SSL auf undef stelle, kommt folgendes

user@rechner:~/vsftpd/vsFTPd-2.3.5-ext.1$ make
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
collect2: ld returned 1 exit status
make: *** [vsftpd] Fehler 1

Micky, unter ubu 10.04.04 -zumindest auf meinem- mit vsftpd 2.2.2 funtzt das glaub ich nicht... Ich weiss nur nicht ob mein 14 jahre alter acer ubu 12.04.1 verträgt. Grafisch mit Sicherheit nicht, der springt dann auf die alte Oberfläche zurück...

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

Die buildef so angepasst, dass diese unter 2.2.2 passen würde

Poste mal hier den kompletten Inhalt der original (d. h. unverändert) "builddefs.h"-Datei und den kompletten Inhalt der von dir gepatchten (d. h. veränderten) "builddefs.h"-Datei.

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

builddefs.h original

#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H

#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL

#define VSF_CONFIG_PATH "/etc/vsftpd/"
#define VSF_CONFIG_PREFIX ""
//#define VSF_CONFIG_PATH "/etc/"
//#define VSF_CONFIG_PREFIX "vsftpd."

#endif /* VSF_BUILDDEFS_H */

builddefs.h abgeändert → angepasst an vsftpd 2.2.2

#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H

#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL

#define VSF_CONFIG_PATH "/etc/"
#define VSF_CONFIG_PREFIX "vsftpd."
//#define VSF_CONFIG_PATH "/etc/"
//#define VSF_CONFIG_PREFIX "vsftpd."

#endif /* VSF_BUILDDEFS_H */

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL

Poste mal auch den Inhalt der "Makefile"-Datei. Evtl. muss diese gepatcht werden, so dass z. B.:

LIBS= -lcrypt -lnsl -lwrap
LDFLAGS= -lssl -lcrypto -ldl

duesentriebchen

(Themenstarter)
Avatar von duesentriebchen

Anmeldungsdatum:
10. Februar 2012

Beiträge: 713

Wohnort: Im Inntal

Hallo micky

Anbei die Makefile

LDFLAGS

find ich keine....

:~/vsftpd/vsFTPd-2.2.2-ext.7$ cat Makefile
# Makefile for systems with GNU tools
CC 	=	gcc
INSTALL	=	install
IFLAGS  = -idirafter dummyinc
#CFLAGS = -g

CFLAGS	=	-O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion


#LIBS	=	-ldl -lcrypt    -lpam    -lwrap -lnsl    -lssl -lcrypto
# For FreeBSD?  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LIBS	=	-lcap -ldl -lcrypt    -lpam    -lwrap -lnsl    -lssl -lcrypto
#                                      |        |               + VSF_BUILD_SSL
#                                      |        + VSF_BUILD_TCPWRAPPERS
#                                      + VSF_BUILD_PAM
LINK	=	-Wl,-s

OBJS	=	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


.c.o:
	$(CC) -c $*.c $(CFLAGS) $(IFLAGS)

vsftpd: $(OBJS) 
	$(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS) $(LDFLAGS)

install:
	if [ -x /usr/local/sbin ]; then \
		$(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
	else \
		$(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
	if [ -x /usr/local/man ]; then \
		$(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
		$(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
	elif [ -x /usr/share/man ]; then \
		$(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
		$(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
	else \
		$(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
		$(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
	if [ -x /etc/xinetd.d ]; then \
		$(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

clean:
	rm -f *.o *.swp vsftpd

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

duesentriebchen schrieb:

LDFLAGS

find ich keine....

Versuch mal mit dieser Makefile-Datei:

# Makefile for systems with GNU tools
CC 	=	gcc
INSTALL	=	install
IFLAGS  = -idirafter dummyinc
#CFLAGS = -g

CFLAGS	=	-O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion


LIBS = -lcap -lcrypt -lpam -lwrap -lnsl
VSFTPD_LDFLAGS = -lssl -lcrypto -ldl

LINK	=	-Wl,-s

OBJS	=	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


.c.o:
	$(CC) -c $*.c $(CFLAGS) $(IFLAGS)

vsftpd: $(OBJS) 
	$(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS) $(LDFLAGS) $(VSFTPD_LDFLAGS)

install:
	if [ -x /usr/local/sbin ]; then \
		$(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
	else \
		$(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
	if [ -x /usr/local/man ]; then \
		$(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
		$(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
	elif [ -x /usr/share/man ]; then \
		$(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
		$(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
	else \
		$(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
		$(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
	if [ -x /etc/xinetd.d ]; then \
		$(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

clean:
	rm -f *.o *.swp vsftpd

Sind die libraries libwrap*, libcap*, libssl* und libcrypto* bei dir installiert? Poste auch den Link zum source code.