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ą
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → Server FTP
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
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ą
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.
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
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.
czyli katalog do zapisu ma być jak katalog domowy użytkownika: /mnt/usb/Feed
Inni użytkownicy mają mieć dostęp tylko do odczytu
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
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ł
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.
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?
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...
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
Pokaz:
cat /etc/vsftpd.conf
cat /etc/vsftpd_users/ftp
cat /etc/passwd
ls -al /mnt/usb
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:~#
drwxrwxrwx 7 root root 4096 Nov 3 12:00 FeedName (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.Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → Server FTP
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc