Temat: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Dzień dobry,

Po kilku dniach czajenia się, zainstalowałem wreszcie OpenWRT. Wybrałem oczywiście kompilację Cezarego ze względu na bardzo dobrą dokumentację.

Mam zrobionego extroota, postawiłem minidlna, w systemie porządek, dziś od nowa wszystko stawiałem wink To działa pięknie.

Problem polega na tym, że vsftpd nie pokazuje klientom plików w katalogach. Mogę przemieszczać się między folderami na FTP, mogę tam nawet coś skopiować (widzę wszystko z poziomu SSH).

Cała instalacja była przeprowadzona na podstawie przewodnika Cezarego z http://eko.one.pl/?p=openwrt-ftp

Kolejny problem to wolny transfer po FTP. Upload Total Commanderem waha się między 5,0 a 5,8 MB/s, choć dysk to szybki Seagate na USB 3.0 (wiem, wiem - marnotrawstwo sprzętu). Download nieznany, ponieważ jak już mówiłem, klienci nie widzą plików. HDParm pokazuje:

root@OpenWrt:~# hdparm -t -T /dev/sda3

/dev/sda3:
 Timing cached reads:   188 MB in  2.01 seconds =  93.74 MB/sec
 Timing buffered disk reads:  76 MB in  3.01 seconds =  25.29 MB/sec

Transfer przez gigabitowy ethernet. Oczywiście na czas pomiaru prędkości FTP wyłączyłem minidlna, aby nie zaburzał wyników skanowaniem. System plików to ext4

Moje pliki konfiguracyjne:

/etc/vsftpd.conf:

background=yes
listen=yes
local_umask=022
check_shell=no
session_support=no
chroot_local_user=yes
user_config_dir=/etc/vsftpd_users
anonymous_enable=yes

Zawartość /etc/vsftpd_users/ftp

dirlist_enable=yes
download_enable=yes
write_enable=yes
anon_upload_enable=yes
anon_other_write_enable=yes
anon_mkdir_write_enable=yes

Byłbym bardzo rad, gdyby udało się znaleźć rozwiązanie tych problemów.

2

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Użytkownik na którego się logujesz przez ftp nie ma praw odczytu o tych plików?

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

3 (edytowany przez Łukasz Ś 2013-04-12 21:32:40)

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Logowanie anonimowe, skonfigurowane wg Twojego poradnika.

Zastosowałem

# sed -i 's!55:ftp:\(.*\):!55:ftp:/mnt/sda3:!' /etc/passwd

Zrobiłem też

# mkdir -p /mnt/sda3/upload
# chmod 777 /mnt/sda3/upload

Wydaje mi się, że jest wszystko, co powinno być...

Zauważyłem też, że w Total Commanderze nie mogę kolejkować uploadu na FTP - nigdy to nie było problemem (mowa o innych serwerach, np. moim hostingowym), niezależnie od ustawienia połączenia - aktywne, czy pasywne.

4

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Ale ty zrobiłeś na katalogu. Ja mówię o plików które tam są.

Czym jest kolejkowanie z TC?

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

5

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Nie no, mogę wykonać chmod -R 777 na tych katalogach, ale wydaje mi się, że nowo dodane pliki nie nabędą tych praw.

Zresztą - zrobiłem to teraz i tak nie widać ich na ftp...

A kolejkowanie w TC - gdy kopiuję coś na FTP, to program umożliwia mi dodatnie tego do kolejki transferu. Gdy chcę wysłać kolejne pliki, program proponuje dodanie ich do tej kolejki. Tak jakby serwer FTP za każdym razem wymagał odrębnej sesji transferu. To w sumie mniej ważne od problemu widoczności katalogów i prędkości transferów.

6

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Pytanie tylko co ma wspólnego to kolejkowanie w programie windosowym  z samą usługą która może być na drugim końcu świata.

Co jest katalogiem domowym dla użytkownika? /mnt/sda3? Uruchamiasz ftpa po zamontowaniu nośnika dopiero? Widzisz katalog upload po zalogowaniu się przez ftp?

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

7

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

OK, zapomnijmy o kolejkowaniu wink

Tak, za pomocą polecenia sed wskazałem katalog domowy na /mnt/sda3 (post nr 3)

FTP jest uruchomiony po zamontowaniu dysku. Serwer FTP działa na pewno, po zalogowaniu się do niego widzę katalog Upload, mogę do niego kopiować wszystko, po zakończeniu transferu nie widzę tego z poziomu klienta, widzę za to chociażby w mc uruchomionym via SSH. Mogę takie pliki wtedy przenosić, usuwać, kopiować.

8

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Zaloguj się przez ftp zwykłego, konsolowego i zobacz.

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

9

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Konsolowy windowsowy ftp.exe widzi katalogi, nie widzi plików. Tak samo FileZilla. Do wysyłania plików na serwer loguję się jako anonymous, jako hasła używam maila.

Co ciekawe - Filezilla osiąga transfer średni 9,7 MiB/s. To już jestem w stanie zaakceptować.

10

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Pokaż wynik  ls -al /mnt/sda3

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

11 (edytowany przez Łukasz Ś 2013-04-13 08:48:35)

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

root@OpenWrt:~# ls -al /mnt/sda3
drwxrwxr-x    8 root     root          4096 Apr 12 19:19 .
drwxr-xr-x    1 root     root          4096 Jan  1  1970 ..
drwxr-xr-x    3 root     root          4096 Apr 11 11:38 backup
drwxr-xr-x    6 root     root          4096 Apr 12 21:43 biblioteka
drwx------    2 root     root         16384 Apr  7 10:30 lost+found
drwxr-xr-x    5 root     root          4096 Apr 12 16:50 pobrane
drwxr-xr-x    2 root     root          4096 Apr 12 19:19 systemowe
drwxrwxrwx    6 root     root          4096 Apr 12 23:59 upload
root@OpenWrt:~# ls -al /mnt/sda3/upload/
drwxrwxrwx    6 root     root          4096 Apr 12 23:59 .
drwxrwxr-x    8 root     root          4096 Apr 12 19:19 ..
drwxrwxrwx    2 ftp      ftp           4096 Apr 12 23:44 Filmy
drwxrwxrwx    2 ftp      ftp          20480 Apr 12 23:09 Muzyka
drwx------    4 ftp      ftp           4096 Apr 13 09:45 Programy
drwxrwxrwx    2 ftp      ftp           4096 Apr 12 20:50 Seriale

12

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Ustawiłem uprawnienia następująco:

root@OpenWrt:~# ls -al /mnt/sda3/upload/
drwxrwxrwx    6 root     root          4096 Apr 13 09:48 .
drwxrwxr-x    8 root     root          4096 Apr 12 19:19 ..
drwxrwxrwx    2 ftp      ftp           4096 Apr 12 23:44 Filmy
drwxrwxrwx    2 ftp      ftp          20480 Apr 12 23:09 Muzyka
drwxrwxrwx    4 ftp      ftp           4096 Apr 13 09:45 Programy
drwxrwxrwx    2 ftp      ftp           4096 Apr 13 09:49 Seriale

Wygląda na to, że mogę widzieć wszystkie katalogi i pliki w nich, jednak o ile pliki mogę usunąć, to katalogi są nie do ruszenia, chyba że im zmienię chmod na 777.

Natomiast jeżeli przez FTP wyślę jakiś katalog, to zawsze dostaje on uprawnienia drwx------, a pliki wewnątrz niego mają -rwxrwxrwx.

Jedyna możliwość, aby usunąć taki katalog, to zdalna sesja SSH.

Zapytam jeszcze - jakimi danymi powinienem się logować, jeżeli ustawiłem wszystko wg poradnika? Bo nie ma różnicy między użytkownikiem anonymous oraz użytkownikiem ftp (z pustym hasłem, jak i utworzonym dla niego haslem poprzez 'passwd ftp') - mogę kopiować na serwer do woli, nie da się kasować folderów, bo wszystkie dostają uprawnienia drwx------. I nic nie wynika z tego, że ich właścicielem jest użytkownik ftp - nawet jako ftp zalogowany do serwera mogę mu naskoczyć wink

Gdy próbowałem łączyć się użytkownikiem ftp z pustym hasłem, TC wyświetlił mi monit o hasło, zostawiłem puste i dałem Enter, zalogował się, ale sam wprowadził jakieś hasło, co widać w logu TC.

Connect to: (2013-04-13 19:52:03)
hostname=192.168.1.1
username=ftp
startdir=/upload
192.168.1.1=192.168.1.1
220 (vsFTPd 3.0.2)
USER ftp
331 Please specify the password.
PASS ***********
230 Login successful.

13

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Za uprawnienia odpowiadają odpowiednie maski w konfiguracji - zerknij do dokumentacji. Pamiętaj żeby podawać je zawsze z 0 na początku - jako liczbę ósemkową, bo inaczej potraktuje ją jako dziesiętną i zobi coś innego.

Użytkownik anonymous to alias do ftp zwykle. Ale możesz mieć użytkownika ... ftp (o takiej nazwie) który nie jest już anonymousem - ot nazwa jak każda inna.

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

14

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Szybkie googlanie - dokumentacja vsftpd mówi jedynie o maskach dla plików, a nie ma nic o maskach dla katalogów hmm

Dziwne, że Samba ma coś takiego jak dir_mask, a vsftpd już nie.

Ostro walczyłem przez ostatnich kilkadziesiąt minut, ale nie radzę sobie z tym. Co bym nie ustawił w pliku konfiguracyjnym, to jest źle, czyli dalej nie widzę wrzuconych przez siebie plików, nie mogę też usuwać katalogów.

Może mógłbyś uzupełnić poradnik o temat masek i przedstawić jakieś przykłady? Bo na tą chwilę nie ma tam o nich żadnej wzmianki, a jak widać domyślna konfiguracja, którą ma każdy po zastosowaniu się do poradnika powoduje objawy, które mam ja.

Tak w ogóle, to bardzo Ci dziękuję za dotychczasową pomoc wink Starasz się mnie naprowadzić, a mi wydaje się, że drepczę w miejscu.

15

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Pytanie: a tak w ogóle to jaki system plików masz na nośniku?

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

16

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Ext 4 oczywiście, pisałem w 1. poście.

/dev/sda3 on /mnt/sda3 type ext4

17

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Ok więc całość sprowadza się do dodania anon_umask=0000 do /etc/vsftpd_users/ftp dla anonymousa.

Przed jest:

ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-------    1 55       55           1194 Apr 13 19:37 mkextroot.sh
drwx------    2 55       55           4096 Apr 13 19:38 test_dir
226 Directory send OK.
ftp> 

po:

ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-rw-rw-    1 55       55           4914 Apr 13 19:42 Adafruit_DHT.c
-rw-------    1 55       55           1194 Apr 13 19:37 mkextroot.sh
drwx------    2 55       55           4096 Apr 13 19:38 test_dir
drwxrwxrwx    2 55       55           4096 Apr 13 19:42 test_dir1
226 Directory send OK.
ftp>
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: AA by Obsy, TL-WR1043ND - vsftpd nie listuje katalogów, wolny transfer

Działa!

Wielkie dzięki, Cezary. Cel został osiągnięty wink

Nie mogłem znaleźć tej opcji, bo zmylił mnie ten zapis w dokumentacji vsftpd.conf:

anon_umask
    The value that the umask for file creation is set to for anonymous users.

Teraz przystępuję do dalszego psucia OpenWRT big_smile