PDA

Bekijk de volledige versie : Hoe configureer ik FTP



nkamp
14-10-2007, 20:43
Hallo,

Ik heb de FTP server via de handleiding van "macsat" geïnstalleerd. Nu ben behoorlijk nieuw in dit land. Ik maak wel eens een FTP verbinding via Filezilla, maar nu wil ik dit ook naar mijn WL500g doen.
Ik dacht even het volgende:
Host: 192.168.1.1 of 192.168.1.1 en dir /opt/sbin/vsftpd.

Maar dit werkt niet. Op de router zelf heb ik niets aangepast. Moet ik daar nog zaken open zetten?

Alvast bedankt.

Nico

mistraller
14-10-2007, 20:54
Beetje karige hoeveelheid info zo he.

Draait je router als accesspoint? Anders gaat het zeker niet zonder meer werken.
Het wemelt op dit forum echter van de HOWTO's dus met een beetje zoeken moet je eruit kunnen komen, ftp is niet het moeilijkste om te configureren.

nkamp
14-10-2007, 21:01
Misschien wel. Maar daarom zeg ik heb alleen de handleiding gevolgd van macsat. Dus een vsftp file aangemaakt (of die was er reeds), de xinetd deamon gestart en gereboot. Verder niks. Vervolgens denk ik in mijn simpelheid ok, de FTP server draait op de router. Nu kan ik met mijn windows cliënt - filezilla de USB stick benaderen. Maar goed dit is waarschijnlijk te simpel gedacht. Samba en mijn webserver draaien al wel.

Ik geef toe dat ik de basale kennis mis hoe dit werkt FTP server-cliënt werkt. Indien iemand weet waar een goeie tutorial staat dan kijk ik die wel door. Maar eerlijk gezegd weet ik op dit moment niet waar ik moet beginnen.

Bedankt.

Nico

Jeroen van Omme
15-10-2007, 09:43
volgens mij moet je na een reboot van je WL500g de service opnieuw starten, dit gebeurt niet automatisch.

nkamp
15-10-2007, 10:22
Ik weet niet of ik helemaal begrijp wat jij bedoeld maar ik neem dat het opnieuw gestart wordt met S10xinetd <enter>. Dat heb ik gedaan. Maar ik heb ook met top gekeken en ik zie wel thttpd ed. maar ik zie geen proces vsftpd oid. Ik heb nu even de indruk dat de FTP server niet draait. Is mijn conclusie terecht?

Nico

DrChair
16-10-2007, 13:49
xinetd start een service pas, op het moment dat ie nodig is.
Dus pas als je via ftp connect naar je router, wordt vsftpd opgestart.

host zou gewoon 192.168.1.1 moeten zijn, dir moet zijn /

vsftpd is default zo ingesteld, dat iedere user via ftp in zijn home-directory terecht komt.

De home-directory van admin is /tmp/local/root of /tmp/local/admin (weet niet zeker welke, aangezien mijn admin tegenwoordig weer root heet)

iig, als je via ftp op de USB-stick wilt komen, moet je dus een user toevoegen, die als home-dir de USB-stick heeft. (als je het veilig wilt doen, geef je hem /sbin/nologin als shell, dan kan ie niet via ssh op je systeem komen)

Een andere manier is, dat je usb-stick niet alleen op /opt mount, maar ook op de homedir van admin. Op die manier kan je dus met de user admin bij je data.

En als je er van "buiten" bij wilt komen, moet je poortjes 20 en 21 openzetten in de firewall van je asus.

nkamp
16-10-2007, 15:41
Ja, volgens mij doe ik dit. Er is idd geen dir /tmp/local/admin maar wel root. De dir admin heb ik voor de zekerheid aangemaakt.

Ik log idd in met host: 192.168.1.1 ; gebruiker admin en het gebruikelijke password. Volgens mij is het niet nodig om mijn cliënt pc de poorten nog open te zetten. Ik heb bij de windows firewall uitzonderingen de filezilla FTP cliënt staan.

Ik heb ook al een keer mijn USB stick eraf gehaald en er weer opnieuw op geplaatst, wat volgens mij bij de tutorial van macsat aangegeven wordt, maar het helpt allemaal niet. Ik wil uiteindelijk mijn website gegevens uploaden naar de www dir.

Maar ik wil ook gewoon via de FTP verbinding files over zetten.

Ik snap het niet en ik weet nu helaas te weinig van Linux en FTP om staps gewijs het probleem te kunnen achterhalen.

Kijk de FTP cliënt komt met:
Status: Verbinden met 192.168.1.1:21...
Status: Verbinding wordt gemaakt, wachten op welkomstbericht...
Fout: Kan niet verbinden met server

Ik heb ook nog met port 20 en 22 geprobeerd maar het helpt niet.

Nico

mistraller
16-10-2007, 20:48
Ik ken filezilla niet, maar ik ben nog geen ftp proggies tegengekomen waarbij je de poort moet opgeven. Poort 21 is immers zooo standaard.
Heb je dat :21 al eens weggelaten?
Maar nogmaals, zonder info geen goede hulp. Veel info hebben we nog niet gekregen.

Post de output van top, en de inhoud van de bestanden:
/opt/etc/vsftpd.conf
/opt/etc/xinetd.d/vsftp
/usr/local/sbin/post-boot (als je die hebt)

Dit doe je met het commando cat, en dan de filename.

als je

cat /etc/passwd
doet, dan zie je je userlist. Daar werkt vsftpd mee. Alleen users die daarin staan, kunnen inloggen met vsftpd. Het aanmaken van admin heeft geen zin als je homedir in passwd gewoon naar root staat te wijzen. (En dat zal waarschijnlijk zo zijn, mijn home directory is ook gewoon root, terwijl mijn root user heel anders heet)

nkamp
16-10-2007, 22:12
Dit doet filezilla zelf de poort achter het IP adres plaatsen. Indien ik zelf een poort aangeef komt dat achter het ip adres te staan. Maar standaard is dit dus poort 21. Lijkt mij niets fout mee toch......
Ik heb ook de post-firewall erbij gedaan. Moet daar soms ook nog poort 21 bij in? Poort 22 voor de SSH zit hier wel in maar 21 niet. Overigens als ik poort 22 via filezilla probeer lukt het ook niet. Ik heb inmiddels even de post-firewall uitgebreid door de 4 regels van poort 22 te kopiëren en 22 gewijzigd in 21 maar het geeft niet het gewenste resultaat. (ik heb ook flashfs save, commit en enable + reboot gedaan).

De output van top


Mem: 12232K used, 1676K free, 0K shrd, 988K buff, 5672K cached
Load average: 0.00, 0.00, 0.00 (State: S=sleeping R=running, W=waiting)

PID USER STATUS RSS PPID %CPU %MEM COMMAND
704 admin R 444 700 2.1 3.1 top
698 admin S 496 1 0.3 3.5 upnp
43 admin S 292 1 0.1 2.0 telnetd
139 nobody S 1684 1 0.0 12.1 thttpd
700 admin S 556 43 0.0 3.9 sh
48 admin S 524 1 0.0 3.7 httpd
55 nobody S 480 1 0.0 3.4 dnsmasq
122 admin S 396 1 0.0 2.8 udhcpc
92 admin S 380 1 0.0 2.7 watchdog
1 admin S 356 0 0.0 2.5 init
145 admin S 336 1 0.0 2.4 dropbear
54 admin S 328 1 0.0 2.3 syslogd
89 admin S 288 1 0.0 2.0 infosvr
56 admin S 284 1 0.0 2.0 klogd
141 admin S 284 1 0.0 2.0 smbd
71 admin S 276 1 0.0 1.9 lpd
94 admin S 244 92 0.0 1.7 ntp
58 admin S 236 1 0.0 1.6 nas
80 admin S 212 1 0.0 1.5 rcamdmain
78 admin S 212 1 0.0 1.5 waveservermain


/opt/etc/vsftpd.conf:


# Example config file /opt/etc/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
#
# You may override where the log file goes if you like. The default is shown
# below.
vsftpd_log_file=/opt/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format
#xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that turning on ascii_download_enable enables malicious remote parties
# to consume your I/O resources, by issuing the command "SIZE /big/file" in
# ASCII mode.
# These ASCII options are split into upload and download because you may wish
# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
# on the client anyway..
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
ftpd_banner=Welcome to the NSLU2 vsftp daemon.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/opt/etc/vsftpd.banned_emails
#
# You may specify an explicit list of local users to chroot() to their home
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/opt/etc/vsftpd.chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
ls_recurse_enable=YES
secure_chroot_dir=/opt/usr/share/empty


/opt/etc/xinetd.d/vsftp:


# description: The vsftpd FTP server serves FTP connections.
# it uses normal, unencrypted usernames and passwords for auth service ftp
{
disable = no
socket_type = stream
user = admin
server = /opt/sbin/vsftpd
server_args = /opt/etc/vsftpd.conf
wait = no
nice = 10
only_from = 0.0.0.0/0
}


/usr/local/sbin/post-boot


#!/bin/sh
# wait for /opt to mount
mount /dev/discs/disc0/part1 /opt
i=0
while [$i -le 30]
do
if [ -d /opt/etc ]
then
break
fi

sleep 1
i=`expr $i + 1`
done

# Activate swap
swapon /dev/discs/disc0/part2

#Run all active services - active means starts with S
/opt/etc/init.d/rc.unslung
#!/bin/sh
dropbear


post-firewall


#!/bin/sh
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 22 -j DNAT --to-destination $4:22
iptables -A INPUT -j DROP
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 81 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 80 -j DNAT --to-destination $4:81
iptables -A INPUT -j DROP


cat /etc/passwd


[admin@Samba root]$ cat /etc/passwd
admin:$1$$6bs8rz1sVsnIvlDD5R7b1/:0:0:root:/usr/local/root:/bin/sh
nobody:x:99:99:nobody:/:/sbin/nologin


Ik hoop dat dit meer inzicht in mijn situatie geeft al is het volgens mij allemaal zoals het in de tutorial staat. Ik weet niet of het verstandig is de inhoud van mijn passwd file te tonen maar ik heb de indruk dat dit geen kwaad kan.

Nico.

mistraller
17-10-2007, 22:09
Ik bedoelde eigenlijk de output van ps ipv top maar goed.
Ik draai mijn router in AP mode, dus ik heb geen firewall. Nooit geconfigureerd ook, dus daar kan ik je niet mee helpen. Ik neem echter aan dat je je pc aan de LAN zijde hebt hangen, dus dat zou het volgens mij niets met firewall te maken hebben. (Correct me if i'm wrong)
Als ik een top geef, zie ik in elk geval bij mij WEL de xinetd deamon. Maar je kan de running processes beter met "ps" bepalen. Als daar geen xinetd bij staat, gaat vsftpd zeker niet werken.
Misschien is er iets niet in orde met je startupscript. Je kan xinetd ook gewoon starten met /opt/sbin/xinetd.
Als je dan geen xinetd ziet draaien met ps, dan is er iets niet lekker met je xinetd. Je config files zijn voor zover ik zie gewoon in orde. (Alleen firewall weet ik dus niet)
Heb je al in je logfiles gekeken onder /opt/var/log of je daar iets kan vinden?

nkamp
18-10-2007, 07:56
Dat doe ik, althans ik dacht dat ik het deed de deamon opstarten met:
/opt/etc/init.d/S10xinetd <enter> (zie tutorial). De deamon staat stond niet in de ps lijst. Is dit een nieuw probleem(pje) omdat de webserver wel auto opstart via post-boot. Post-boot start volgens mij alles op indien het script met een "S" begint. Waarschijnlijk wordt het wel opgestart zie de volgende alinea.

Goed nu heb ik het cmd. /opt/sbin/xinetd uitgevoerd en nu komt het wel in de proces lijst voor.
Echter nu doe ik x-tijd later opnieuw ps en staat het proces er niet meer in de lijst!!? Maar is het dan niet zo dat als ik het bovenstaande commando uitvoer het proces opstart en na x-tijd gaat "slapen". Indien er dan een FTP-cliënt connectie probeert te maken deze weer tot leven komt?

Ik had al eerder naar de log file gezocht maar er staat wel een log file van samba en de webserver maar geen één van de FTP server.

ps


[admin@Samba root]$ ps
PID Uid VmSize Stat Command
1 admin 360 S /sbin/init
2 admin SW [keventd]
3 admin RWN [ksoftirqd_CPU0]
4 admin SW [kswapd]
5 admin SW
6 admin SW [kupdated]
7 admin SW [mtdblockd]
43 admin 292 S telnetd
48 admin 324 S httpd eth1
54 admin 328 S syslogd -m 0 -O /tmp/syslog.log -S -l 7
55 nobody 480 S dnsmasq
56 admin 288 S klogd
58 admin 240 S nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan
61 admin SW [khubd]
71 admin 188 S lpd
73 admin 192 S p9100d -f /dev/usb/lp0 0
75 admin 192 S p9101d -f /dev/printers/0 1
78 admin 228 S waveservermain
80 admin 228 S rcamdmain
84 admin SW [usb-storage-0]
85 admin SW [scsi_eh_0]
89 admin 220 S infosvr br0
90 admin 408 S watchdog
93 admin 264 S ntp
119 admin SW [kjournald]
127 admin 300 S udhcpc -i eth1 -p /var/run/udhcpc0.pid -s /tmp/udhcpc -H oslo-xp
145 admin 288 S /usr/sbin/smbd -D -l /opt/var/log/smbd.log -s /opt/etc/samba/smb.conf
152 admin 324 S dropbear
361 admin 496 S upnp -D -L br0 -W eth1
364 admin 556 S -sh
[B]369 admin 488 S /opt/sbin/xinetd
370 admin 404 R ps


ps (x-tijd later, 1 min later?)


[admin@Samba log]$ ps
PID Uid VmSize Stat Command
1 admin 360 S /sbin/init
2 admin SW [keventd]
3 admin SWN [ksoftirqd_CPU0]
4 admin SW [kswapd]
5 admin SW [bdflush]
6 admin SW [kupdated]
7 admin SW [mtdblockd]
43 admin 292 S telnetd
48 admin 324 S httpd eth1
54 admin 328 S syslogd -m 0 -O /tmp/syslog.log -S -l 7
55 nobody 480 S dnsmasq
56 admin 288 S klogd
58 admin 240 S nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan
61 admin SW [khubd]
71 admin 188 S lpd
73 admin 192 S p9100d -f /dev/usb/lp0 0
75 admin 192 S p9101d -f /dev/printers/0 1
78 admin 228 S waveservermain
80 admin 228 S rcamdmain
84 admin SW [usb-storage-0]
85 admin SW [scsi_eh_0]
89 admin 220 S infosvr br0
90 admin 408 S watchdog
93 admin 264 S ntp
119 admin SW [kjournald]
127 admin 300 S udhcpc -i eth1 -p /var/run/udhcpc0.pid -s /tmp/udhcpc -H oslo-xp
145 admin 288 S /usr/sbin/smbd -D -l /opt/var/log/smbd.log -s /opt/etc/samba/smb.conf
152 admin 324 S dropbear
361 admin 496 S upnp -D -L br0 -W eth1
364 admin 564 S -sh
377 admin 404 R ps

mistraller
19-10-2007, 00:36
Xinetd hoort gewoon actief te blijven. Alleen de services die eronder hangen niet, maar die zie je ook niet al proces.

Webserver heeft een eigen proces, die hangt niet onder xinetd.

xinetd sluit normaliter alleen vanzelf af als ie geen services ziet.

cat /opt/etc/xinetd.conf geeft bij mij:

# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Sample configuration file for xinetd

defaults
{
only_from = localhost 10.0.0.0/24
instances = 60
log_type = SYSLOG authpriv info
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}

includedir /opt/etc/xinetd.d

Laatste regel is een verwijzing naar de services.

nkamp
19-10-2007, 07:46
Die van mij ziet er bijna precies eender uit behalve de regel van only from. Op dit moment zegt het mij verder niets.
Dat ssh kan dit ook niet in het vaarwater zitten. Ik snap het niet het is toch een soort standaard iets. Waarom draait het bij mij dan niet? Het wil ook al niet standalone draaien. Hiervoor moet toch alleen in de vsftpd.cpnf listen=yes opgenomen worden. Vervolgens kun je met /opt/sbin/vsftpd & trachten om het standalone te starten. Maar dan krijg ik de error "500 OOPS:.... Het is wel een beetje om wanhopig van te worden.



# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Sample configuration file for xinetd

defaults
{
only_from = localhost 192.168.1.0/24
instances = 60
log_type = SYSLOG authpriv info
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}

includedir /opt/etc/xinetd.d


Nico

mistraller
19-10-2007, 18:07
welke repository gebruik je om je packages te installeren? Maw, wat is je inhoud van /opt/etc/ipkg.conf?

nkamp
19-10-2007, 18:44
Hierbij de inhoud van /opt/etc/ipkg.conf:



src wl500g http://wl500g.dyndns.org/ipkg
src unslung http://ipkg.nslu2-linux.org/feeds/unslung/wl500g
dest root /


Oké hier wordt dus alles weggehaald. Echter ik kan niet beoordelen of dit goed of fout is! Ik moet wel zeggen dit is WL500g van 1,5 jr terug. Ik weet niet of dit wat uit maakt.

Alvast weer bedankt.

Nico

mistraller
19-10-2007, 23:27
hmm da's dus gewoon de originele. Er is een verbeterde uclibc tov die in de oleg firmware zit. In een andere repository wordt gebruik gemaakt van deze uclibc. Als je daar dan een package uit hebt geinstalleerd, terwijl je uclibc nog niet hebt geupdate, dan loop je soms ook tegen gekke dingen aan. Maar dat is in jou geval niet.
Raar hoor. xinetd en vsftp eraf gooien en opnieuw beginnen al geprobeerd?

nkamp
20-10-2007, 18:57
Hallo Mistraller,

Ik wil je allereerst bedanken voor de moeite die je neemt om mij te helpen. Ontzettend bedankt!

Nee, dat nog niet. Al wel een keer de zaak opnieuw geïnstalleerd volgens de Macsat tutorial. Wat ik mij dan afvraag wat moet ik er precies afgooien? alleen vsftpd.conf, vsftp en xinetd? Is dat voldoende of moet er nog meer af?

By the way. Nu schiet mij opeens te binnen dat ik problemen had met de webserver. Deze wou ook niet draaien. Daar kreeg ik de foutmelding "Starting thttpd... /opt/sbin/thttpd: can't load library 'libiconv.so.2". Vervolgens gegoogled en naar aanleiding hiervan het commando "ipkg install libiconv". Vervolgens werkt mijn webserver wel! Dit is waarschijnlijk niet helemaal hetzelfde als uclibc of....

Ik heb inmiddels dit op eigen initiatief gedaan omdat ik dacht dat naar aanleiding van het probleem met de webserver misschien al iets van uclibc geïnstalleerd is. Indien ik nu xinetd of S10xinetd ingeef, en vervolgens ps geef zie ik xinetd of /opt/sbin/xinetd in de proces lijst staan. Dan enkele seconden later is deze weer weg???? In de dir /opt/var/log zie ik alleen maar een samba en een webserver logging. Helaas..
Of moet er ook nog iets met de NAT settings gedaan worden???



Now get the beter ipkg an uClibc. The ipkg.sh below will complaining about missing /opt/lib/ipkg/lists/wl500g, but that is no problem since we are installing straight from the ipk files.

# get the better ipkg
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-9_mipsel.ipk
#install it (ignore tne missing lists/wl500g error)
ipkg.sh install ipkg-opt_0.99.163-9_mipsel.ipk

# get the better uclibc
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-12_mipsel.ipk
# install it (ignore tne missing lists/wl500g error)
ipkg.sh install uclibc-opt_0.9.28-12_mipsel.ipk

# update the list using the improved ipkg
ipkg update



Nico.

mistraller
22-10-2007, 19:29
Nee, het feit dat de ftp server bereikbaar is heeft niets te maken met het feit of de service draait.
Iets verwijderen doe je met ipkg remove packagename