repairman (Guest)
Цитата
Если добавляли пользователя руками - проверьте что он и в /etc/shadow и в /etc/passwd
Хм... Вариант - "ядро набили в восьмеричных кодах с префокарт" рассматривать не будем ?
Всему есть предел... идиотские варианты, IMHO, рассматривать не стоит....
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Отредактированно repairman 07.01.2009 г. в 17:53:03
Strijar (Guest)
Цитата Все есть предел... идиотские варианты, IMHO, рассматривать не стоит....
Я описал обычную ошибку начинающих.
tvv (Guest)
пользавателя я добавлял adduser -h /usr/ftp ftp...я может и чайник но не врун!!!)))
спасибо за советы...буду копать!!! откопаю выложу чего было не так!!!
tvv (Guest)
по телнету я пользователем ftp захожу на плату...значит он создан нормально (ну конечно это я так думаю)...скорее всего проблема в моей компиляции vsftp...попробую как советовали взять готовый от федоры...
repairman (Guest)
В последнем логе я приводил самосборный от buildroot, как видишь, тоже работает..._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Отредактированно repairman 07.01.2009 г. в 20:18:10
Strijar (Guest)
Сейчас тоже завел из buildroot - без проблем заходит от root. Вот конфиг:
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=NO
connect_from_port_20=YES
#chroot_local_user=YES
ftp_username=nobody
secure_chroot_dir=/var/tmp
tvv (Guest)
Господа! А если не секрет...вы сами компилировали vsftpd или готовый ставите...если компилили то чем и с какими параметрами в makefile...???
repairman (Guest)
Есть и то и другое... в buildroot собирается из исходника так:
/usr/bin/make -j1 CC=$(STAGING_DIR)/usr/bin/arm-linux-uclibc-gcc CFLAGS="-O2 -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include --sysroot=$(STAGING_DIR) -isysroot $(STAGING_DIR) -mtune=arm9tdmi -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" LIBS="-lcrypt" -C /home/repman/Build/buildroot/build_arm/vsftpd-2.0.7
предварительно накладываются 2 патча, я так понял, что нужны они только для uclibc:
vsftpd-2.0.5-uclibc_lfs.patch
vsftpd-2.0.7-uclibc.patch_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Отредактированно repairman 07.01.2009 г. в 21:34:00
tvv (Guest)
я собераю в eclipse компилятор Sourcery G++ Lite for ARM GNU Linux...и как я понимаю библиотек всё же мне не хватает!!!! buildroot я не пробовал....
repairman (Guest)
В общем, взял я родной исходник 2.0.7, наложил патчи (у меня uclibc), собрал:
make CC=armv5l-gcc LIBS="-lcrypt"
Скопировал на плату - работает, проблем нет....
Кросс-компилятор этот:
http://www.uclibc.org/downloads/binaries/cross-compiler-armv5l.tar.bz2
Патчи (из buildroot):
Первый:
Код
diff -rdup vsftpd-2.0.5.orig/sysutil.c vsftpd-2.0.5/sysutil.c
--- vsftpd-2.0.5.orig/sysutil.c 2006-07-03 18:26:40.000000000 +0200
+++ vsftpd-2.0.5/sysutil.c 2006-12-14 15:13:15.000000000 +0100
@@ -16,11 +16,15 @@
#include "utility.h"
#include "tunables.h"
+#include "builddefs.h"
+
+#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__)
/* Activate 64-bit file support on Linux/32bit plus others */
#define _FILE_OFFSET_BITS 64
#define _LARGEFILE_SOURCE 1
#define _LARGEFILE64_SOURCE 1
#define _LARGE_FILES 1
+#endif
/* For Linux, this adds nothing :-) */
#include "port/porting_junk.h"
Второй:
Код
--- vsftpd-2.0.5/sysdeputil.c.orig 2008-10-06 15:24:42.000000000 -0600
+++ vsftpd-2.0.5/sysdeputil.c 2008-10-06 15:35:35.000000000 -0600
@@ -159,7 +159,12 @@
#include <linux/capability.h>
#include <errno.h>
#include <syscall.h>
+/* try to handle kernel header versions correctly (2.4 and >= 2.6.18) */
+#ifndef capset
+#define capset(head,data) syscall(__NR_capset,head,data)
+#else
_syscall2(int, capset, cap_user_header_t, header, const cap_user_data_t, data)
+#endif /* capset */
/* Gross HACK to avoid warnings - linux headers overlap glibc headers */
#undef __NFDBITS
#undef __FDMASK
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Отредактированно repairman 07.01.2009 г. в 22:58:34