1

Temat: Zacinający się vsftpd?

Chłopaki mam taki problem z serwerem ftp mianowicie niby wszystko działa jak należy, uprawnienia, zapis i odczyt jest ok. Problem pojawia się przy usuwaniu, jak usuwam plik czy kilka plików to jest ok a jak chcę usunąć katalog z plikiem czy plikami to serwer jak by się wiesza. W totalcmd pisze, że połączenie utracone. Na routerze patrzyłem na ps i mam coś takiego:

7705 nobody    1056 S    vsftpd
7707 www       1084 D    vsftpdp

www to nazwa użytkownika i na tego uzytkownika nie da się zalogować już, chyba, że nastąpi restart serwera. Na innego natomiast się da dopóki nie spróbuję czegoś usunąć. Gdzie może być przyczyna?
Router TP-Link 1043ND, Gargoyle 1.5.x (r28226).
Konfiguracja vsftpd.conf:

dirmessage_enable=yes
download_enable=yes
dirlist_enable=yes
hide_ids=yes
syslog_enable=yes
local_umask=022
chmod_enable=no
chroot_local_user=yes
check_shell=no
user_config_dir=/tmp/vsftpd/users
listen=yes
listen_port=21
background=yes
use_sendfile=no
userlist_file=/tmp/vsftpd/userlist
userlist_enable=yes
userlist_deny=no
ftpd_banner=ftp server ready
anonymous_enable=no
local_enable=yes

2

Odp: Zacinający się vsftpd?

Proces masz ubity. Musiał byś przez strace go puścić i zobaczyć co się dzieje.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Zacinający się vsftpd?

Jako, iż Linux'em się mało zajmuję to może jakaś podpowiedź? Mam zamieścić wynik polecenia "strace vsftpd"?

4

Odp: Zacinający się vsftpd?

W sumie tak, tylko tego dużo będzie wink

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Zacinający się vsftpd?

Przed zalogowaniem i próbą usunięcia jakiegoś katalogu mam tak:

execve("/usr/sbin/vsftpd", ["vsftpd"], [/* 11 vars */]) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaad000
stat("/etc/ld.so.cache", 0x7febf310)    = -1 ENOENT (No such file or directory)
open("/lib/libcrypt.so.0", O_RDONLY)    = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=10100, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\4p\0\0\0004"..., 4096) = 4096
old_mmap(NULL, 147456, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aabe000
old_mmap(0x2aabe000, 10020, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aabe000
old_mmap(0x2aad0000, 1908, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x2aad0000
old_mmap(0x2aad1000, 68176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aad1000
close(3)                                = 0
munmap(0x2aaae000, 4096)                = 0
open("/lib/libnsl.so.0", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=869, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\0030\0\0\0004"..., 4096) = 869
old_mmap(NULL, 69632, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aae2000
old_mmap(0x2aae2000, 852, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aae2000
old_mmap(0x2aaf2000, 869, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aaf2000
close(3)                                = 0
munmap(0x2aaae000, 4096)                = 0
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=64300, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\33\340\0\0\0004"..., 4096) = 4096
old_mmap(NULL, 131072, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaf3000
old_mmap(0x2aaf3000, 62236, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aaf3000
old_mmap(0x2ab12000, 2860, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xf000) = 0x2ab12000
close(3)                                = 0
munmap(0x2aaae000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=405464, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\253 \0\0\0004"..., 4096) = 4096
old_mmap(NULL, 491520, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ab13000
old_mmap(0x2ab13000, 396960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2ab13000
old_mmap(0x2ab84000, 8152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x61000) = 0x2ab84000
old_mmap(0x2ab86000, 19456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ab86000
close(3)                                = 0
munmap(0x2aaae000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=405464, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=405464, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=405464, ...}) = 0
close(3)                                = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=20708, ...}) = 0
mprotect(0x2ab84000, 4096, PROT_READ)   = 0
mprotect(0x2aabc000, 4096, PROT_READ)   = 0
ioctl(0, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
brk(0)                                  = 0x42b000
brk(0x42c000)                           = 0x42c000
stat64(0x415668, 0x7febf488)            = 0
open("/etc/vsftpd.conf", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=390, ...}) = 0
old_mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
mprotect(0x2aab0000, 4096, PROT_NONE)   = 0
mprotect(0x2aaae000, 4096, PROT_NONE)   = 0
read(3, "dirmessage_enable=yes\ndownload_e"..., 390) = 390
mprotect(0x2aaae000, 4096, PROT_READ)   = 0
munmap(0x2aaae000, 12288)               = 0
close(3)                                = 0
stat64(0x415668, 0x7febf430)            = 0
getuid()                                = 0
getuid()                                = 0
fork()                                  = 4583
exit(0)                                 = ?

Natomiast po usunięciu jakiegoś katalogu i zawieszeniu procesu mam tak:

execve("/usr/sbin/vsftpd", ["vsftpd"], [/* 11 vars */]) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaad000
stat("/etc/ld.so.cache", 0x7fe4b560)    = -1 ENOENT (No such file or directory)
open("/lib/libcrypt.so.0", O_RDONLY)    = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=10100, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\4p\0\0\0004"..., 4096) = 4096
old_mmap(NULL, 147456, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aabe000
old_mmap(0x2aabe000, 10020, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aabe000
old_mmap(0x2aad0000, 1908, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x2aad0000
old_mmap(0x2aad1000, 68176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aad1000
close(3)                                = 0
munmap(0x2aaae000, 4096)                = 0
open("/lib/libnsl.so.0", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=869, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\0030\0\0\0004"..., 4096) = 869
old_mmap(NULL, 69632, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aae2000
old_mmap(0x2aae2000, 852, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aae2000
old_mmap(0x2aaf2000, 869, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aaf2000
close(3)                                = 0
munmap(0x2aaae000, 4096)                = 0
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=64300, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\33\340\0\0\0004"..., 4096) = 4096
old_mmap(NULL, 131072, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaf3000
old_mmap(0x2aaf3000, 62236, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aaf3000
old_mmap(0x2ab12000, 2860, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xf000) = 0x2ab12000
close(3)                                = 0
munmap(0x2aaae000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=405464, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\253 \0\0\0004"..., 4096) = 4096
old_mmap(NULL, 491520, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ab13000
old_mmap(0x2ab13000, 396960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2ab13000
old_mmap(0x2ab84000, 8152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x61000) = 0x2ab84000
old_mmap(0x2ab86000, 19456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ab86000
close(3)                                = 0
munmap(0x2aaae000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=405464, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=405464, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=405464, ...}) = 0
close(3)                                = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=20708, ...}) = 0
mprotect(0x2ab84000, 4096, PROT_READ)   = 0
mprotect(0x2aabc000, 4096, PROT_READ)   = 0
ioctl(0, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
brk(0)                                  = 0x42b000
brk(0x42c000)                           = 0x42c000
stat64(0x415668, 0x7fe4b6d8)            = 0
open("/etc/vsftpd.conf", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=390, ...}) = 0
old_mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
mprotect(0x2aab0000, 4096, PROT_NONE)   = 0
mprotect(0x2aaae000, 4096, PROT_NONE)   = 0
read(3, "dirmessage_enable=yes\ndownload_e"..., 390) = 390
mprotect(0x2aaae000, 4096, PROT_READ)   = 0
munmap(0x2aaae000, 12288)               = 0
close(3)                                = 0
stat64(0x415668, 0x7fe4b680)            = 0
getuid()                                = 0
getuid()                                = 0
fork()                                  = 4638
exit(0)                                 = ?

Widać coś w tym "matrix'ie"? smile

6

Odp: Zacinający się vsftpd?

W sumie nie, nic ciekawego do czego mógłbym się przyczepić.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Zacinający się vsftpd?

No to kicha, a jak usunąć vsftpd wraz z konfiguracjami i wszystkimi plikami powiązanymi tak, żeby zainstalować od nowa? Bo standardowo jak usuwam vsftpd poleceniem: opkg remove to konfiguracja zostaje...

8

Odp: Zacinający się vsftpd?

Bo ją zmodyfikowałeś, dlatego zostaje. /etc/vsftpd.conf usuń.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.