Samodzielnie hostowany menedżer plików: porównanie
Porównanie FileBrowser, Filestash, SFTPGo oraz Cloud Commander pod kątem udostępniania plików i autoryzacji. Dowiedz się, jak bezpiecznie wdrożyć te narzędzia na własnym serwerze.
Czym jest, a czym nie jest samodzielnie hostowany menedżer plików
Samodzielnie hostowany menedżer plików to strona internetowa nałożona na drzewo katalogów, które już istnieje na Twoim VPS (wirtualnym serwerze prywatnym). Logujesz się, widzisz /srv/files dokładnie w takiej formie, w jakiej znajduje się na dysku, a następnie przesyłasz, zmieniasz nazwy, pobierasz pliki lub udostępniasz komuś link. Nic nie jest kopiowane do drugiego systemu, więc plik upuszczony w przeglądarce jest plikiem, który ls pokazuje sekundę później.
Wyniki wyszukiwania zacierają różnicę między tym rozwiązaniem a oprogramowaniem wykonującym inne zadania. Narzędzia synchronizacji przechowują kopię każdego pliku na każdym urządzeniu, do czego służy samodzielnie hostowana alternatywa dla Dropbox. Pamięć obiektowa w ogóle nie posiada drzewa katalogów; korzysta z kubełków (buckets) i API, więc uruchomienie MinIO dla pamięci obiektowej zgodnej z S3 odpowiada na inne zapotrzebowanie. Panele administracyjne serwera zarządzają maszyną, a nie plikami, co stanowi przedmiot porównania Cockpit i Webmin.
Menedżer plików jest potrzebny, gdy współpracownik musi pobrać z serwera jedno archiwum o rozmiarze 300 MB lub gdy chcesz poprawić literówkę w pliku konfiguracyjnym z poziomu telefonu. Zadanie jest niewielkie, podobnie jak narzędzia do jego obsługi.
Podczas lektury miej na uwadze jeden fakt. Jest to aplikacja internetowa z dostępem do odczytu i zapisu w systemie plików, nasłuchująca na określonym porcie. Każdy z poniższych wyborów jest w rzeczywistości decyzją o tym, do jakiej części dysku dany proces może uzyskać dostęp.
Projekt FileBrowser został zarchiwizowany – przeczytaj to przed instalacją
FileBrowser, projekt filebrowser/filebrowser, jest rozwiązaniem najczęściej polecanym w poradnikach. Jego plik README rozpoczyna się teraz komunikatem:
Projekt File Browser został zarchiwizowany w dniu 2026-09-01. Ostatnie planowane wydanie zostało już opublikowane. Nie będą udostępniane kolejne wersje, poprawki błędów ani aktualizacje bezpieczeństwa.
Kod na licencji Apache 2.0 nadal działa. Aktualizacje bezpieczeństwa jednak ustały. W tej kategorii oprogramowania ma to większe znaczenie niż w innych, ponieważ głównym celem narzędzia jest zapewnienie zapisu w systemie plików przez HTTP.
Autorzy projektu opisali sposób dalszego korzystania z narzędzia, a te zalecenia warto stosować niezależnie od wybranego oprogramowania: nie należy wystawiać go bezpośrednio do Internetu, należy umieścić je za reverse proxy, które wykonuje terminację TLS (transport layer security) i realizuje własne uwierzytelnianie, należy wyłączyć funkcję wykonywania poleceń oraz uruchamiać narzędzie z ograniczonymi uprawnieniami w kontenerze, montując w nim wyłącznie katalog przeznaczony do udostępnienia.
Jedno zdanie w tym pliku README jest ważniejsze od pozostałych. Sesje są oparte na samodzielnych tokenach JWT (JSON web tokens), a nie na identyfikatorach po stronie serwera, dlatego nie można ich unieważnić. Wyciekły token sesji pozostaje ważny do momentu wygaśnięcia, a zmiana hasła nie powoduje jego unieważnienia. Jeśli korzystasz z FileBrowser, to warstwa uwierzytelniania znajdująca się przed nim wykonuje faktyczną pracę zabezpieczającą.
FileBrowser Quantum: fork, który nadal się rozwija
Aktywny rozwój przeniósł się do forka o nazwie FileBrowser Quantum (gtsteffaniak/filebrowser), publikowanego jako obraz gtstef/filebrowser. Konfiguracja została przebudowana wokół pojedynczego pliku config.yaml, co zastępuje starsze połączenie flag wiersza poleceń i ustawień bazy danych. Udokumentowany sposób na szybkie przetestowanie:
docker run -d \
-v $(pwd):/srv \
-p 80:80 \
gtstef/filebrowser:betaPolecenie to udostępnia bieżący katalog pod adresem http://localhost, a pierwsze dane logowania to admin / admin. Należy je zmienić, zanim kontener stanie się dostępny z zewnątrz poza własną maszyną.
W przypadku instancji przeznaczonej do stałego użytku należy użyć Compose, zamontować katalog z danymi zamiast pojedynczego pliku bazy danych i powiązać port z localhost:
services:
filebrowser:
image: gtstef/filebrowser:beta
user: "1000:1000"
volumes:
- /srv/files:/folder
- ./data:/home/filebrowser/data
ports:
- 127.0.0.1:8080:80
restart: unless-stoppedKonfiguracja znajduje się w /home/filebrowser/data/config.yaml, a baza danych w /home/filebrowser/data/filebrowser.sqlite. Wersja 2.0.0 zmieniła format bazy danych i przeprowadza jednorazową migrację, dlatego dokumentacja zaleca montowanie katalogu: montowanie pojedynczego pliku uniemożliwia zapisanie nowego pliku podczas migracji. Ścieżki wewnątrz config.yaml to ścieżki kontenerowe, więc źródło w konfiguracji odczytywane jest jako /folder, a nie /srv/files. Odwrotne ustawienie spowoduje wyświetlenie pustej listy plików bez komunikatu o błędzie, ponieważ katalog faktycznie nie istnieje wewnątrz kontenera.
Projekt publikuje obrazy latest oraz stable o rozmiarze około 60 MB z dołączonym FFmpeg do generowania miniatur wideo, oraz stable-slim o rozmiarze około 15 MB zawierający tylko podstawowe funkcje. Są to wartości ze strony instalacyjnej z sierpnia 2026 roku. Należy przypiąć wybraną wersję (tag). latest zmienia się bez powiadomienia, a menedżer plików, który zmienia format konfiguracji w działającym kontenerze, może być przyczyną poważnych problemów.
Do tego zadania jest to najsilniejsze z małych narzędzi. Obsługuje wiele źródeł z regułami uwzględniania i wykluczania, dzięki czemu jedna instancja może udostępniać /srv/media oraz /srv/docs z różnym zakresem uprawnień. Udostępnione zasoby posiadają czas wygaśnięcia i mogą być anonimowe lub ograniczone do konkretnego użytkownika. Uwierzytelnianie obejmuje OIDC (OpenID Connect), LDAP (lightweight directory access protocol), hasło z dwuskładnikową weryfikacją oraz tryb nagłówka proxy. Tryb proxy pozwala na umieszczenie narzędzia za mechanizmem jednokrotnego logowania (SSO) z własnego serwera Authentik, co eliminuje konieczność utrzymywania drugiej listy użytkowników.
Filestash: jeden interfejs dla posiadanych zasobów pamięci
Filestash ma inną charakterystykę. Jest to interfejs typu front-end łączący się z backendem, a lista obsługiwanych backendów jest długa: FTP, SFTP (SSH file transfer protocol), S3, SMB, WebDAV, IPFS i około dwadzieścia innych. Rozwiązanie to sprawdza się, gdy pliki nie znajdują się na serwerze obsługującym interfejs.
mkdir -p /srv/filestash && cd /srv/filestash
curl -O https://downloads.filestash.app/latest/docker-compose.yml
docker compose up -dObraz to machines/filestash:latest. Otwórz http://your_domain:8334; pierwszy ekran służy do ustawienia hasła administratora. Należy je ustawić niezwłocznie, ponieważ do tego momentu konsola administracyjna jest dostępna dla każdego, kto uzyska dostęp do portu.
Przed rozpoczęciem konfiguracji należy zrozumieć model tożsamości. Filestash nie przechowuje bazy danych użytkowników w tradycyjnym sensie. Dane uwierzytelniające są przechowywane w przeglądarce za pomocą plików cookie, które są szyfrowane, uwierzytelniane i oznaczone jako HTTP only. Po stronie serwera nie są przechowywane żadne dane, chyba że używana jest funkcja udostępniania; w takim przypadku Filestash przechowuje trwałą, zaszyfrowaną wersję danych uwierzytelniających. „Użytkownicy” to konta pamięci masowej: tożsamość istnieje w backendzie, w ramach konta SFTP lub klucza S3, a nie w samym Filestash.
Ten projekt jest przejrzysty, ale wiąże się z kosztami. Strona z cennikiem określa darmową wersję self-hosted jako licencję AGPL v3 (GNU Affero General Public License) z limitem do 3 użytkowników. Funkcje SSO (SAML, OIDC i LDAP) wraz z kontrolą dostępu opartą na rolach (RBAC) znajdują się w płatnej wersji self-hosted, której koszt, według stanu na sierpień 2026 roku, zaczyna się od 50 USD miesięcznie. Jeśli plan zakładał darmowe wykorzystanie Filestash w połączeniu z firmowym SSO, należy sprawdzić tę stronę przed rozpoczęciem projektowania architektury.
SFTPGo: serwer protokołów z interfejsem WWW
SFTPGo to najbardziej rozbudowane oprogramowanie w tym zestawieniu, często polecane z niewłaściwych powodów. Obsługuje SFTP, HTTP/S, FTP/S oraz WebDAV, korzystając z lokalnego systemu plików, zaszyfrowanego systemu plików, pamięci obiektowej zgodnej z S3, Google Cloud Storage, Azure Blob Storage lub innego serwera SFTP.
Dostępne są pliki binarne, pakiety dla Debian i Ubuntu oraz obraz kontenera. Aktualna linia repozytorium APT oraz klucz podpisu znajdują się na stronie instalacyjnej w dokumentacji SFTPGo. Uruchomienie kontenera jest najszybszą metodą instalacji; należy zastąpić tag wybraną wersją:
docker run --name some-sftpgo -p 8080:8080 -p 2022:2022 -d "drakkan/sftpgo:tag"SFTP nasłuchuje na porcie 2022, a interfejsy WWW na 8080. Należy zamontować /srv/sftpgo jako wolumen, w przeciwnym razie konta i pliki znikną po odtworzeniu kontenera, ponieważ domyślne katalogi domowe użytkowników znajdują się w /srv/sftpgo/data/<username>.
Dostępne są dwa interfejsy WWW, a różnica między nimi jest często pomijana w opisach. WebAdmin, dostępny pod /web/admin, służy do zarządzania: tutaj tworzy się użytkowników, grupy, foldery wirtualne i reguły zdarzeń, a także ustala limity przydziału (quotas), ograniczenia przepustowości oraz restrykcje czasowe dostępu. WebClient, dostępny pod /web/client, to widok dla użytkownika końcowego, gdzie przegląda on pliki, zmienia własne dane uwierzytelniające, konfiguruje uwierzytelnianie dwuskładnikowe i tworzy udostępnienia.
Wspomniane udostępnienia są najlepszym rozwiązaniem w tym porównaniu. Użytkownik może tworzyć linki HTTP/S do udostępniania plików i folderów, ograniczać liczbę pobrań i przesłań, zabezpieczać udostępnienie hasłem, ograniczać dostęp według źródłowego adresu IP oraz ustawiać datę automatycznego wygaśnięcia.
Dlaczego zatem należy zachować ostrożność? Punktem ciężkości jest model kont i serwer protokołów, a nie wygoda przeglądania plików. Wybierz SFTPGo, gdy inni użytkownicy potrzebują rzeczywistych kont z limitami, gdy pliki są przesyłane przez SFTP lub FTPS z systemu, nad którym nie masz kontroli, lub gdy jeden zasobnik (bucket) musi być widoczny w katalogach domowych wielu użytkowników. Foldery wirtualne realizują to ostatnie zadanie: folder wspierany przez dysk lokalny, S3, GCS, Azure Blob, SFTP lub HTTP, zamontowany w wielu kontach, z oddzielnym limitem dla każdego użytkownika na współdzielonym folderze. Jeśli jedynym celem była strona do przeglądania plików przez /srv/files, jest to zbyt złożone rozwiązanie.
Warto znać jeszcze dwa fakty. Wersja Community jest dostępna wyłącznie na licencji AGPL-3.0 z dodatkowymi warunkami, obok komercyjnej wersji Enterprise. Logowanie OIDC jest dostępne w wersji open source i mapuje użytkowników dostawcy tożsamości na administratorów i użytkowników SFTPGo dla obu interfejsów WWW. Można również globalnie wyłączyć interfejs klienta za pomocą enable_web_client w konfiguracji httpd lub dla poszczególnych użytkowników poprzez dodanie HTTP do listy zabronionych protokołów danego użytkownika, dzięki czemu menedżer plików może być dostępny dla jednej osoby, a nie dla wszystkich.
Cloud Commander: dwa panele i terminal dla jednego użytkownika
Cloud Commander to menedżer plików oparty na Node.js, udostępniany na licencji MIT, oferujący układ dwupanelowy, wbudowany edytor, konsolę oraz terminal. Zainstaluj go globalnie za pomocą npm i cloudcmd -g lub uruchom opublikowany kontener:
docker run -it --rm -v ~:/root -v /:/mnt/fs -w=/root -p 8000:8000 coderaiser/cloudcmdPrzed uruchomieniem zapoznaj się z treścią tego polecenia. -v /:/mnt/fs montuje cały system plików hosta wewnątrz kontenera, a przykładowe ~/.cloudcmd.json dostarcza "root": "/", "auth": false oraz "console": true. Takie połączenie oznacza, że każda osoba, która uzyska dostęp do portu 8000, otrzyma wgląd w cały dysk oraz konsolę poleceń na serwerze. Jest to rozsądne ustawienie domyślne dla laptopa, lecz niebezpieczne w przypadku VPS.
Ogranicz zakres uprawnień. Kontener odczytuje /root/.cloudcmd.json, co w opublikowanym poleceniu realizowane jest przez zamontowanie katalogu domowego. Zachowaj montowanie konfiguracji i usuń pozostałe elementy:
docker run -d --name cloudcmd \
-v ~/.cloudcmd.json:/root/.cloudcmd.json \
-v /srv/files:/srv/files \
-w=/srv/files \
-p 127.0.0.1:8000:8000 \
coderaiser/cloudcmdW tym pliku konfiguracyjnym ustaw "root" na /srv/files, "auth" na true wraz z "username" i "password", a "console" oraz "terminal" na false, chyba że faktycznie potrzebujesz dostępu do powłoki z poziomu przeglądarki. Dostępne są również odpowiedniki w wierszu poleceń, w tym --root, --auth, --username, --password oraz --prefix.
Oceń realne przeznaczenie narzędzia. Obsługuje ono jedną parę poświadczeń, nie posiada mechanizmów izolacji użytkowników, limitów ani udostępniania linków. Jest to narzędzie osobiste, dlatego należy powiązać je z localhost, jak pokazano powyżej, i uzyskiwać do niego dostęp przez tunel:
ssh -L 8000:127.0.0.1:8000 you@your-vpsNastępnie otwórz http://127.0.0.1:8000 na własnym komputerze. Menedżer plików nigdy nie jest wystawiony publicznie, a jedynym elementem widocznym w Internecie pozostaje demon SSH, który został już zabezpieczony na Twoim VPS.
Dlaczego Nextcloud nie jest odpowiednim narzędziem do tego zadania
Nextcloud to dobre oprogramowanie, ale nie służy do tego celu. Jest to platforma do współpracy: aplikacja PHP, baza danych, zadania w tle, klienci synchronizacji dla komputerów stacjonarnych oraz sklep z aplikacjami. Uruchamianie go tylko po to, aby uzyskać podgląd WWW dla /srv/files, oznacza zbyt wiele ruchomych elementów dla tak małego zadania i występuje tu wyraźny brak dopasowania. Nextcloud przechowuje metadane plików w tabeli bazy danych, zamiast odczytywać katalog przy każdym żądaniu, więc pliki zapisane przez rsync lub zadanie cron mogą pozostać niewidoczne w interfejsie, dopóki skanowanie ich nie wykryje, co wiąże się z sudo -u www-data php occ files:scan --all. Menedżer plików wyświetla zawartość katalogu w momencie ładowania strony, więc ten problem nie występuje.
Pozostaw Nextcloud do zadań, w których sprawdza się dobrze: kalendarzy, kontaktów, synchronizacji i udostępniania osobom, które oczekują klienta desktopowego. Nextcloud na VPS z Docker, TLS i kopiami zapasowymi opisuje taką konfigurację. Jeśli już go używasz i potrzebujesz jedynie przeglądać istniejący katalog, włącz aplikację External Storage i na tym poprzestań. Druga aplikacja internetowa z dostępem do zapisu na tym samym dysku to kolejny element wymagający aktualizacji zabezpieczeń.
Jak uruchomić usługę bez udostępniania całego serwera
Nigdy nie wskazuj jej na /. Proces może odczytywać i zapisywać wszystko, do czego ma dostęp jego konto użytkownika, więc skradziony token sesji oznacza dostęp do systemu plików w tym samym zakresie. Udostępniaj jeden katalog, /srv/files, i utwórz go specjalnie w tym celu.
Uruchamiaj usługę jako użytkownik niebędący rootem i montuj tylko to, co jest niezbędne. W Compose służy do tego user: "1000:1000" oraz jeden bind mount na katalog, z flagą :ro dla wszystkiego, co nie wymaga zapisu:
volumes:
- /srv/files:/folder
- /srv/media:/media:roTypowym skutkiem tej zmiany jest działające przeglądanie plików przy jednoczesnym niepowodzeniu przesyłania z błędem permission denied, ponieważ identyfikator użytkownika wewnątrz kontenera nie jest właścicielem katalogu na hoście. Porównaj oba: docker exec filebrowser id wyświetla użytkownika kontenera, a ls -ln /srv/files wyświetla numerycznego właściciela na hoście. Napraw to za pomocą sudo chown -R 1000:1000 /srv/files. Jest to ten sam problem z uprawnieniami, który rozwiązują PUID i PGID w obrazach Docker.
Powiąż opublikowany port z localhost, 127.0.0.1:8080:80 zamiast 8080:80. Docker zapisuje własne reguły netfilter przed regułami ufw, więc jawnie opublikowany port pozostaje dostępny z Internetu, nawet gdy ufw deny 8080 jest aktywny. Umieść reverse proxy przed usługą w celu obsługi TLS. W przypadku zwykłego HTTP ciasteczko sesji przesyłane jest w sieci otwartym tekstem, a to ciasteczko stanowi dostęp do systemu plików. Jeśli Compose jest dla Ciebie nowością, Docker Compose na VPS opisuje strukturę plików, na której opierają się te fragmenty.
Dodaj warstwę uwierzytelniania, gdy mechanizmy samej aplikacji są niewystarczające. HTTP basic auth na poziomie proxy jest wystarczające dla instancji obsługującej jednego użytkownika. Gdy korzysta z niej więcej osób, użyj OIDC lub forward auth z dostawcą tożsamości, aby unieważnienie jednego konta blokowało dostęp wszędzie.
Wyłącz zbędne dodatki. Każdy menedżer plików oferujący powłokę, uruchamianie poleceń lub terminal w przeglądarce zapewnia zdalne wykonanie kodu każdemu, kto posiada ważną sesję. Dokumentacja FileBrowser zaleca wyłączenie modułu uruchamiania poleceń, a przykładowa konfiguracja Cloud Commander włącza konsolę. Decyduj o funkcjach celowo, a nie domyślnie.
Co ulega awarii w pierwszej kolejności i napotykane błędy
listen tcp :80: bind: permission denied. System Linux rezerwuje porty poniżej 1024 dla procesów uprzywilejowanych. Dokumentacja FileBrowser Quantum zaleca użycie portu 80, co jest poprawne wewnątrz kontenera, ale kończy się niepowodzeniem w momencie uruchomienia pliku binarnego przez użytkownika bez uprawnień w systemie hosta. Należy ustawić port powyżej 1024 w config.yaml i pozwolić proxy na obsługę portu 443.
Przeglądanie działa, ale przesyłanie plików kończy się błędem. Wyświetlenie zawartości katalogu wymaga uprawnień r-x, natomiast zapis w nim wymaga w. Interfejs WWW zgłasza ogólny błąd, dlatego w pierwszej kolejności należy sprawdzić system plików, a nie dzienniki aplikacji.
413 Request Entity Too Large. Ten błąd pochodzi z Nginx, a nie z menedżera plików. Domyślna wartość client_max_body_size wynosi 1 MB, więc większy plik jest odrzucany przez proxy, zanim aplikacja go otrzyma. Należy ustawić client_max_body_size 4096m; w bloku server lub użyć 0, aby wyłączyć weryfikację.
Przesłane pliki mają niewłaściwą grupę. Nowe pliki stają się własnością użytkownika uruchamiającego proces, niezależnie od ustawień katalogu nadrzędnego, co uniemożliwia dostęp drugiej usłudze korzystającej z tego samego drzewa katalogów. Należy przypisać obie usługi do wspólnej grupy i ustawić bit setgid na katalogu za pomocą sudo chmod g+s /srv/files, aby nowe pliki dziedziczyły grupę katalogu.
Wszystko działa na porcie lokalnym, ale nie działa za proxy. Aplikacja serwowana w podkatalogu tworzy odnośniki na podstawie prefiksu, o którym musi zostać poinformowana. Cloud Commander posiada do tego celu opcję --prefix. Jeśli taka opcja nie istnieje, należy przypisać aplikacji własną subdomenę i przekierować ruch z głównej ścieżki (root path).
Który menedżer plików typu self-hosted wybrać?
- Jeden VPS, jeden lub dwa katalogi, udostępnianie linków z datą wygaśnięcia i opcjonalne SSO w przyszłości: FileBrowser Quantum.
- Pliki przechowywane w innej lokalizacji, w bucket S3, na hoście SFTP lub zasobie NAS przez SMB, z potrzebą ujednoliconego widoku webowego: Filestash, w ramach limitów darmowej wersji.
- Potrzeba tworzenia kont dla innych użytkowników, przydziały (quotas) oraz przesyłanie plików przez SFTP lub FTPS: SFTPGo, gdzie klient webowy stanowi użyteczny dodatek, a nie główny powód wyboru.
- Osobiste narzędzie z edytorem i terminalem, dostępne przez tunel SSH i nigdy niepublikowane w sieci: Cloud Commander.
- Działający już Nextcloud i istniejący katalog do udostępnienia: aplikacja External Storage, bez instalacji dodatkowego oprogramowania.
Niezależnie od wyboru, sposób wdrożenia jest ważniejszy niż samo narzędzie. Jeden katalog, użytkownik bez uprawnień root, port powiązany z localhost i uwierzytelnianie przed aplikacją. Tak skonfigurowany menedżer plików jest wygodnym narzędziem. To samo oprogramowanie wskazujące na / ze współdzielonym hasłem staje się zdalną powłoką z interfejsem graficznym.
FAQ
Czy uruchamianie FileBrowser w 2026 roku jest nadal bezpieczne?
Plik README projektu filebrowser/filebrowser informuje, że rozwój File Browser został zakończony 2026-09-01. Nie będą publikowane żadne nowe wersje, poprawki błędów ani aktualizacje bezpieczeństwa. Kod nadal działa, jednak niełatane oprogramowanie z uprawnieniami zapisu do systemu plików stanowi ryzyko, które rośnie wraz z upływem czasu. Jeśli zdecydujesz się na dalsze korzystanie z narzędzia, postępuj zgodnie z zaleceniami twórców: nie wystawiaj go bezpośrednio do Internetu, użyj reverse proxy do obsługi TLS i własnego uwierzytelniania, wyłącz funkcję uruchamiania poleceń (command runner) oraz uruchom aplikację w kontenerze bez uprawnień roota, montując tylko katalog z plikami. Pamiętaj również, że sesje oparte są na samodzielnych tokenach JWT, a nie na identyfikatorach po stronie serwera, więc nie można ich unieważnić, a zmiana hasła nie powoduje wygaśnięcia wydanego tokena. W przypadku nowej instalacji użyj forka FileBrowser Quantum, dostępnego jako obraz gtstef/filebrowser, w którym prace rozwojowe są kontynuowane.
Czy self-hosted menedżer plików może korzystać z istniejącego SSO?
FileBrowser Quantum obsługuje OIDC, LDAP oraz tryb proxy header, dzięki czemu może działać za istniejącym dostawcą tożsamości bez konieczności utrzymywania drugiej listy użytkowników. Integracja OpenID Connect w SFTPGo jest dostępna w wersji open source i mapuje użytkowników dostawcy tożsamości na administratorów oraz użytkowników SFTPGo zarówno w interfejsie WebAdmin, jak i WebClient. Wyjątkiem jest Filestash: zgodnie z cennikiem z sierpnia 2026 roku, obsługa SSO (SAML, OIDC i LDAP) znajduje się w płatnym planie self-hosted od 50 dolarów miesięcznie, podczas gdy darmowa wersja na licencji AGPL v3 jest ograniczona do 3 użytkowników. Gdy aplikacja nie posiada wbudowanej obsługi SSO, rozwiązaniem zastępczym jest uwierzytelnianie na poziomie reverse proxy (forward authentication), które chroni stronę logowania, ale nie zmienia wewnętrznych uprawnień aplikacji.
Które z tych narzędzi pozwala na tworzenie linków udostępniania z datą wygaśnięcia?
SFTPGo posiada najbardziej kompletną implementację. Użytkownik tworzy link HTTP/S z poziomu WebClient i może ograniczyć liczbę pobrań oraz przesłań, ustawić hasło, ograniczyć dostęp według adresu IP źródła oraz zdefiniować automatyczną datę wygaśnięcia. FileBrowser Quantum obsługuje udostępnianie z czasem wygaśnięcia, z dostępem anonimowym lub ograniczonym do konkretnego użytkownika, a także z uprawnieniami do przeglądania, edycji i przesyłania dla każdego udostępnienia. Filestash również posiada funkcję udostępniania i jest to przypadek, w którym serwer przechowuje trwałą, zaszyfrowaną kopię poświadczeń pamięci masowej, ponieważ link musi działać nawet po zakończeniu sesji przeglądarki. Cloud Commander nie posiada funkcji linków udostępniania.
Czy bezpieczne jest wskazanie menedżera plików na / jeśli jestem jedynym użytkownikiem?
Nie, a ryzyko nie wynika z braku zaufania do samego siebie. Proces posiada uprawnienia do odczytu i zapisu wszystkiego, do czego ma dostęp konto użytkownika, więc każda ścieżka do tej sesji, skradzione ciasteczko, niezałatana luka w obsłudze przesyłania plików czy użycie tego samego hasła staje się dostępem do /etc, Twoich kluczy SSH oraz katalogów danych każdej usługi. Ogranicz montowanie do jednego katalogu: /srv/files zamiast /. Problem ten jest najbardziej dotkliwy w przypadku Cloud Commander, ponieważ jego domyślna komenda Docker montuje główny katalog hosta w /mnt/fs, a przykładowa konfiguracja ustawia "root": "/" wraz z "auth": false. Zmień oba te ustawienia, zanim kontener zacznie nasłuchiwać na czymkolwiek innym niż localhost.