Temat: Server FTP

Witam, chciałem udostępnić pliki zawarte na pendrivie, uruchomiłem server według poradnika, ale mam problem przy wejściu w zasoby, ponieważ nie wiem jakie są dane do logowania, te na które loguję się do routera nie pasują

2

Odp: Server FTP

Są takie jakie ustawiłeś jeżeli robiłeś wg poradnika.

Nic kompletnie nie napisałeś - jaki serwer postawiłeś, wg jakiego poradnika robiłeś, jak zasób udostępniłeś itd.

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

3 (edytowany przez darog69 2020-11-03 11:24:40)

Odp: Server FTP

Według tego: https://eko.one.pl/?p=openwrt-ftp

opkg update

opkg install vsftpd

chown root.root /mnt/usb/Feed

chmod 755 /mnt/usb/Feed

mkdir -p /etc/vsftpd_users

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

################################################################################################################

    Tryb tylko-do-odczytu

Do pliku konfiguracyjnego /etc/vsftpd.conf dodajemy

anonymous_enable=yes

Tworzymy plik /etc/vsftpd_users/ftp o zawartości:

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

################################################################################################################

    Tryb zapis-odczyt

W katalogu głównym ftp tworzymy podkatalog o nazwie upload do którego użytkownik anonimowy będzie miał możliwość zapisu i nadajemy do niego prawa:

mkdir -p /mnt/usb/upload
chmod 777 /mnt/usb/upload

Do pliku konfiguracyjnego /etc/vsftpd.conf dodajemy

anonymous_enable=yes

Tworzymy plik /etc/vsftpd_users/ftp o zawartości:

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

Jeżeli chcemy aby do plików i katalogów przesyłanych przez użytkownika anonymous mieli dostęp wszyscy inni (uprawnienia 555 na plikach), to dodajemy do pliku /etc/vsftpd_users/ftp kolejną linię

anon_umask=0000

##############################################################################################################

Uruchomienie serwera

Ostatecznie należy jeszcze uruchomić serwer poleceniem

/etc/init.d/vsftpd start

oraz spowodować, żeby uruchamiał się przy starcie systemu

/etc/init.d/vsftpd enable

Zakończenie
Jeżeli chcemy mieć dostęp do serwera ftp "z zewnątrz", należy odblokować port 21 na firewallu, czyli

uci add firewall rule
uci set firewall.@rule[-1]._name=FTP
uci set firewall.@rule[-1].src=wan
uci set firewall.@rule[-1].target=ACCEPT
uci set firewall.@rule[-1].proto=tcp
uci set firewall.@rule[-1].dest_port=21
uci commit firewall
/etc/init.d/firewall restart

To ma być dostęp dla tunerów sat opartych na Linux z wewnątrz sieci jak i z zewnątrz

4

Odp: Server FTP

Ale nie cytuj mi mojego poradnika tylko napisz co właściwie zrobiłeś. Bo jeżeli zrobiłeś to co napisałeś to pomieszałeś dwie konfiguracje - zasobu tylko do odczytu i zasobu w trybie  zapis odczyt.  Na dodatek zrobiłeś to źle - katalog domowy użytkownika zrobiłeś /mnt/usb/Feed, a katalog do zapisu zrobiłeś /mnt/usb/upload

Jeżeli tak zrobiłeś to masz tylko jednego użytkownika, anonymous bez hasła. Masz dostepny ftp bez żadnej autoryzacji.

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

5 (edytowany przez darog69 2020-11-03 11:44:47)

Odp: Server FTP

czyli katalog do zapisu ma być jak katalog domowy użytkownika: /mnt/usb/Feed
Inni użytkownicy mają mieć dostęp  tylko do odczytu

6

Odp: Server FTP

Nie, nie zrozumiałeś. Z powodu wydumanego systemu bezpieczeństwa vsftp katalog do zapisu NIE MOŻE być katalogiem domowym. Dlatego w poradniku jest robiony dodatkowy katalog upload w katalogu domowym uzytkownika ftp, czyli w twoim przypadku ma to być /mnt/usb/Feed/upload

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

7 (edytowany przez darog69 2020-11-03 12:03:17)

Odp: Server FTP

Bo ten Feed to nic innego jak opkg dla tunerów z Linux i te pliki znajdują sie w katalogu Feed a w nim sa jeszcze podkatalogi

Nie rozumiem jeszcze tego:
Jeżeli chcemy aby do plików i katalogów przesyłanych przez użytkownika anonymous mieli dostęp wszyscy inni (uprawnienia 555 na plikach), to dodajemy do pliku /etc/vsftpd_users/ftp kolejną linię

anon_umask=0000

nikt inny nie będzie tam przesyłał plików jedynie ja będę je co jakiś czas odświerzał

8

Odp: Server FTP

Proste jak masz innych użytkowników i chcesz że widzieli to co anonymous przesłał to dodaj w/w linie. Jak nie to nie będą widzieć/nie będą mogli pobrać bo uprawnienia nie będą się zgadzać. Oczywiście dotyczy to sytuacji kiedy zwykły user w swoich zasobach widzi katalogi na których bawi się anonymous. Jak nie widzi to nie ma potrzeby.

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

9 (edytowany przez darog69 2020-11-03 12:57:58)

Odp: Server FTP

Wpisuję w sieci domowej  adres : ftp://192.168.1.1/mnt/usb/Feed i wyskakuje okienko z danymi do logowania, a nie nadawałem użytkownika i hasła, jakie zatem będą adresy z wewnątrz i zewnątrz sieci?

10

Odp: Server FTP

Nie. Masz wpisać ftp://192.168.1.1 użytkownik anonymous bez hasła. Zrozum że udostępniasz katalog /mnt/usb/Feed który jest głównym katalogiem użytkownika a nie katalog / gdzie później wchodzisz do mnt/usb/Feed
A z zewnątrz masz wpisać taki adres jaki masz, o ile masz publiczny. I nie, nie chcesz wystawiasz anonimowego ftpa na świat...

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

11 (edytowany przez darog69 2020-11-03 13:19:37)

Odp: Server FTP

Właśnie chodzi o to ze jak wpisuje tak jak podajesz to nic sie nie otwiera, nawet w domowej sieci
wcześniej miałem tak zrobione na FritzBox i działało

12

Odp: Server FTP

Pokaz:

cat /etc/vsftpd.conf
cat /etc/vsftpd_users/ftp
cat /etc/passwd
ls -al /mnt/usb

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

13

Odp: Server FTP

root@OpenWrt:~# cat /etc/vsftpd.conf
background=YES
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
check_shell=NO
#dirmessage_enable=YES
#ftpd_banner=Welcome to blah FTP service.
session_support=NO
#syslog_enable=YES
#userlist_enable=YES
#userlist_deny=NO
#userlist_file=/etc/vsftpd/vsftpd.users
#xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
###
### TLS/SSL options
### example key generation: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd_privkey.pem -out /etc/vsftpd/vsftpd_cert.pem -subj /C="DE"/ST="Saxony"/L="Leipzig"/CN="OpenWrt"
#ssl_enable=YES
#allow_anon_ssl=NO
#force_local_data_ssl=NO
#force_local_logins_ssl=NO
#ssl_tlsv1=YES
#ssl_sslv2=NO
#ssl_sslv3=NO
#rsa_cert_file=/etc/vsftpd/vsftpd_cert.pem
#rsa_private_key_file=/etc/vsftpd/vsftpd_privkey.pem

root@OpenWrt:~#

root@OpenWrt:~# cat /etc/vsftpd_users/ftp
dirlist_enable=yes
download_enable=yes
write_enable=no
anon_upload_enable=no
anon_other_write_enable=no
anon_mkdir_write_enable=no
anon_umask=0000root@OpenWrt:~#


root@OpenWrt:~# cat /etc/passwd
root:x:0:0:root:/root:/bin/ash
daemon:*:1:1:daemon:/var:/bin/false
ftp:*:55:55:ftp:/mnt/usb/Feed:/bin/false
network:*:101:101:network:/var:/bin/false
nobody:*:65534:65534:nobody:/var:/bin/false
dnsmasq:x:453:453:dnsmasq:/var/run/dnsmasq:/bin/false
p910nd:x:393:7:p910nd:/var/run/p910nd:/bin/false
root@OpenWrt:~#

root@OpenWrt:~# ls -al /mnt/usb
drwxrwxrwx    4 root     root          4096 Nov  3 11:39 .
drwxr-xr-x    1 root     root           360 Oct 27 19:12 ..
drwxrwxrwx    7 root     root          4096 Nov  3 12:00 Feed
drwxr-xr-x    4 root     root          4096 Oct 29 10:17 oscam
root@OpenWrt:~#

14

Odp: Server FTP

drwxrwxrwx    7 root     root          4096 Nov  3 12:00 Feed
Name (xxxxx:cezary): ftp
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.

W poradniku miałeś dokładnie napisane jak ustawić prawa dostępu do zasobów. Ty zrobiłeś 777 na katalogu, ale nie jest to poprawnie z punktu widzenia vsftpd. Ja wiem że w ogóle nie próbujesz zrozumieć to co jest w poradniku, to może przeczytaj choć to co jest w faq vsftpd: https://security.appspot.com/vsftpd/FAQ.txt

Q) Help! I'm getting the error message "refusing to run with writable root".
A) vsftpd is protecting against dangerous configurations. The cause of this
message is usually dodgy ownership of the ftp home directory. The home
directory should NOT be owned by the ftp user itself. Neither should it
be writable by the ftp user. A way to fix this is:
chown root ~ftp; chmod -w ~ftp
Another cause might be an attempt to use chroot_local_user without setting up
the directory ownership properly.
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.