SSD Nodes Learn 🎉 VPS dari $5.50/bln
Panduan Matt ConnorOleh Matt Connor

Perbandingan Pengurus Fail Layan Diri Terbaik

Ketahui perbezaan antara FileBrowser, Filestash, SFTPGo dan Cloud Commander dari segi sokongan storan serta autentikasi. Kami tunjukkan cara mengendalikan fail tanpa risiko.

Apakah pengurus fail layan diri (self-hosted) itu, dan apakah ia bukan

Pengurus fail layan diri ialah halaman web yang berada di atas pepohon direktori yang sedia ada pada VPS (pelayan peribadi maya) anda. Anda log masuk, anda melihat /srv/files tepat seperti yang tersimpan pada cakera, dan anda memuat naik, menamakan semula, memuat turun atau memberikan pautan kepada seseorang. Tiada apa-apa yang disalin ke dalam sistem kedua, jadi fail yang anda jatuhkan dalam pelayar ialah fail yang ls paparkan satu saat kemudian.

Hasil carian mengaburkan perkara ini dengan perisian yang melakukan tugas lain. Alat penyelarasan (sync tools) menyimpan salinan setiap fail pada setiap peranti, itulah tujuan alternatif Dropbox layan diri. Storan objek tidak mempunyai pepohon direktori langsung, ia mempunyai baldi (buckets) dan API, jadi menjalankan MinIO untuk storan objek serasi S3 menjawab soalan yang berbeza. Panel pentadbir pelayan menguruskan mesin dan bukannya fail, dan itu adalah perbandingan Cockpit dan Webmin sebaliknya.

Anda memerlukan pengurus fail apabila rakan sekerja memerlukan satu arkib 300 MB daripada pelayan, atau apabila anda ingin membetulkan ralat taip dalam fail konfigurasi daripada telefon. Tugasnya kecil, begitu juga dengan alatnya.

Pastikan satu fakta dalam pandangan semasa anda membaca. Ini ialah aplikasi web dengan akses baca dan tulis ke sistem fail anda, yang mendengar pada satu port. Setiap pilihan di bawah sebenarnya adalah pilihan tentang berapa banyak cakera anda yang boleh dicapai oleh proses tersebut.

FileBrowser telah diarkibkan, jadi baca ini sebelum anda memasangnya

FileBrowser, iaitu projek filebrowser/filebrowser, merupakan jawapan yang masih diberikan oleh kebanyakan panduan. README projek tersebut kini dibuka dengan notis:

File Browser telah diarkibkan pada 2026-09-01. Keluaran terakhir yang dirancang telah pun dihantar. Tidak akan ada lagi keluaran, pembaikan pepijat, atau pembaikan keselamatan pada masa hadapan.

Kod Apache 2.0 akan terus berfungsi. Pembaikan keselamatan pula dihentikan. Perkara ini lebih penting bagi kategori ini berbanding kategori lain, kerana tujuan utama perisian ini adalah untuk memberikan akses tulis kepada sistem fail melalui HTTP.

Penyelenggara telah mencatatkan cara untuk terus menjalankannya, dan nasihat tersebut wajar diikuti tidak kira apa jua alat yang anda pilih: jangan dedahkannya secara terus kepada internet, letakkannya di belakang reverse proxy yang menamatkan TLS (transport layer security) serta melaksanakan pengesahannya sendiri, pastikan command runner dilumpuhkan, dan jalankannya tanpa keistimewaan (unprivileged) dalam bekas (container) dengan hanya direktori yang ingin anda hidangkan dimount ke dalamnya.

Satu baris dalam README tersebut lebih penting daripada yang lain. Sesi adalah JWT (JSON web tokens) yang terkandung sendiri dan bukannya pengecam sebelah pelayan, jadi ia tidak boleh dibatalkan. Token sesi yang bocor akan kekal sah sehingga ia tamat tempoh, dan menukar kata laluan tidak akan menamatkan sesi tersebut. Jika anda terus menggunakan FileBrowser, lapisan pengesahan di hadapannya adalah yang melakukan kerja sebenar.

FileBrowser Quantum: fork yang masih aktif

Pembangunan aktif telah beralih kepada fork, FileBrowser Quantum (gtsteffaniak/filebrowser), yang diterbitkan sebagai imej gtstef/filebrowser. Ia membina semula konfigurasi di sekitar satu config.yaml dan bukannya campuran lama antara flag baris perintah dan tetapan pangkalan data. Percubaan pantas yang didokumentasikan:

docker run -d \
  -v $(pwd):/srv \
  -p 80:80 \
  gtstef/filebrowser:beta

Perintah tersebut menghidangkan direktori semasa pada http://localhost, dan log masuk pertama ialah admin / admin. Tukar maklumat ini sebelum kontena boleh dicapai dari mana-mana lokasi selain mesin anda sendiri.

Untuk instans yang ingin dikekalkan, gunakan Compose, lekapkan direktori data dan bukannya satu fail pangkalan data, serta ikat port ke 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-stopped

Konfigurasi terletak di /home/filebrowser/data/config.yaml dan pangkalan data di /home/filebrowser/data/filebrowser.sqlite. Versi 2.0.0 menukar format pangkalan data dan melakukan migrasi sekali sahaja, itulah sebabnya dokumentasi meminta pelekapan direktori: pelekapan satu fail tidak memberikan ruang untuk migrasi meletakkan fail baharu. Laluan di dalam config.yaml adalah laluan kontena, jadi sumber dalam konfigurasi dibaca sebagai /folder, bukan /srv/files. Jika tertukar, ia akan menghasilkan senarai fail kosong tanpa ralat, kerana direktori tersebut memang tidak wujud di sana.

Projek ini menerbitkan latest dan stable pada saiz sekitar 60 MB dengan FFmpeg disertakan untuk lakaran kecil video, dan stable-slim pada saiz sekitar 15 MB dengan teras sahaja. Ini adalah angka pada halaman pemasangan pada Ogos 2026. Tetapkan tag yang anda pilih. latest berubah tanpa memberitahu anda, dan pengurus fail yang menukar format konfigurasinya semasa kontena sedang berjalan akan menyebabkan masalah besar.

Untuk tugas ini, ia adalah yang paling mantap antara alat-alat kecil. Ia menghidangkan berbilang sumber dengan peraturan include dan exclude, jadi satu instans boleh mendedahkan /srv/media dan /srv/docs dengan skop yang berbeza. Perkongsian membawa masa tamat tempoh dan boleh bersifat tanpa nama atau dihadkan kepada pengguna tertentu. Pengesahan merangkumi OIDC (OpenID Connect), LDAP (lightweight directory access protocol), kata laluan dengan dua faktor, dan mod proxy header. Mod proxy itulah yang membolehkannya berada di belakang single sign on (SSO) daripada pelayan Authentik yang dihoskan sendiri dan bukannya menyimpan senarai pengguna kedua.

Filestash: satu antara muka untuk storan sedia ada anda

Filestash mempunyai pendekatan yang berbeza. Ia merupakan bahagian hadapan (front end) yang bersambung dengan bahagian belakang (backend), dan senarai backend yang disokong adalah panjang: FTP, SFTP (SSH file transfer protocol), S3, SMB, WebDAV, IPFS dan kira-kira dua puluh lagi. Ia sesuai digunakan apabila fail tidak disimpan pada mesin yang menjalankan antara muka tersebut.

mkdir -p /srv/filestash && cd /srv/filestash
curl -O https://downloads.filestash.app/latest/docker-compose.yml
docker compose up -d

Imejnya ialah machines/filestash:latest. Buka http://your_domain:8334 dan skrin pertama akan menetapkan kata laluan pentadbir. Tetapkannya dengan segera, kerana selagi anda tidak berbuat demikian, konsol pentadbir terbuka kepada sesiapa sahaja yang menemui port tersebut.

Fahami model identiti sebelum anda membina sistem di atasnya. Filestash tidak menyimpan pangkalan data pengguna dalam erti kata biasa. Kredensial disimpan dalam pelayar anda melalui kuki yang disulitkan, disahkan dan hanya boleh diakses melalui HTTP, dan tiada apa-apa yang disimpan di bahagian pelayan kecuali jika anda menggunakan ciri perkongsian (share), di mana Filestash akan menyimpan versi kredensial anda yang disulitkan secara kekal. "Pengguna" di sini adalah akaun storan: identiti terletak pada backend, dalam akaun SFTP atau kunci S3, bukan dalam Filestash.

Reka bentuk itu kemas, namun ia mempunyai kos. Halaman harga menyenaraikan tier layan diri (self-hosted) percuma sebagai AGPL v3 (GNU Affero General Public License) dengan had sehingga 3 pengguna, dan meletakkan SSO (SAML, OIDC dan LDAP) dengan kawalan akses berasaskan peranan (RBAC) dalam tier layan diri berbayar bermula daripada $50 sebulan, setakat Ogos 2026. Jika rancangan anda adalah untuk "menggunakan Filestash bersama SSO syarikat secara percuma", semak halaman tersebut sebelum anda merancang sistem anda.

SFTPGo: pelayan protokol yang turut mempunyai antara muka web

SFTPGo ialah perisian paling berupaya dalam senarai ini, dan sering disyorkan atas sebab yang salah. Ia menyediakan perkhidmatan SFTP, HTTP/S, FTP/S dan WebDAV, melalui sistem fail tempatan, sistem fail tempatan yang disulitkan, storan objek serasi S3, Google Cloud Storage, Azure Blob Storage, atau pelayan SFTP lain.

Binari, pakej Debian dan Ubuntu serta imej kontena semuanya diterbitkan, dan baris repositori APT semasa serta kunci tandatangannya terdapat pada halaman pemasangan dalam dokumentasi SFTPGo. Laluan kontena ialah cara terpantas untuk menjalankannya, dengan menggantikan tag dengan versi yang anda mahukan:

docker run --name some-sftpgo -p 8080:8080 -p 2022:2022 -d "drakkan/sftpgo:tag"

SFTP mendengar pada port 2022 dan antara muka web pada 8080. Lekapkan /srv/sftpgo sebagai volum atau akaun dan failnya akan hilang apabila kontena dicipta semula, memandangkan direktori utama pengguna ditetapkan secara lalai kepada /srv/sftpgo/data/<username>.

Terdapat dua antara muka web, dan perbezaannya adalah bahagian yang sering tidak dinyatakan secara jelas dalam kebanyakan penulisan. WebAdmin, pada /web/admin, adalah untuk pentadbiran: di sinilah anda mencipta pengguna, kumpulan, folder maya dan peraturan acara, serta menetapkan kuota, had lebar jalur dan sekatan masa akses. WebClient, pada /web/client, ialah paparan pengguna akhir, tempat seseorang menyemak imbas fail, menukar kelayakan mereka sendiri, menyediakan pengesahan dua faktor dan mencipta perkongsian.

Perkongsian tersebut adalah yang terbaik dalam perbandingan ini. Pengguna boleh mencipta pautan HTTP/S untuk berkongsi fail dan folder, mengehadkan bilangan muat turun dan muat naik, melindungi perkongsian dengan kata laluan, mengehadkan akses mengikut alamat IP sumber, dan menetapkan tarikh luput automatik.

Jadi, mengapa perlu berhati-hati? Tumpuan utamanya ialah model akaun dan pelayan protokol, bukan pengalaman menyemak imbas. Pilih SFTPGo apabila orang lain memerlukan akaun sebenar dengan kuota, apabila muat naik tiba melalui SFTP atau FTPS daripada sistem yang tidak anda kawal, atau apabila satu bucket perlu muncul di dalam direktori utama beberapa pengguna. Folder maya melakukan fungsi terakhir itu: folder yang disokong oleh cakera tempatan, S3, GCS, Azure Blob, SFTP atau HTTP, yang dilekapkan ke dalam berbilang akaun, dengan kuota berasingan bagi setiap pengguna pada folder yang dikongsi. Jika anda hanya mahukan halaman yang boleh disemak imbas melalui /srv/files, ini adalah jumlah jentera yang terlalu besar untuk tujuan tersebut.

Dua lagi fakta yang perlu diketahui. Edisi Komuniti adalah AGPL-3.0-sahaja dengan syarat tambahan, di samping edisi Enterprise yang dilesenkan secara komersial. Log masuk OIDC terdapat dalam binaan sumber terbuka, dan ia memetakan pengguna penyedia identiti kepada pentadbir dan pengguna SFTPGo untuk kedua-dua antara muka web. Anda juga boleh mematikan antara muka pelanggan secara global dengan enable_web_client dalam konfigurasi httpd, atau bagi setiap pengguna dengan menambah HTTP pada protokol yang dinafikan untuk pengguna tersebut, supaya pengurus fail boleh wujud untuk seorang individu dan tidak untuk semua orang.

Cloud Commander: dua panel dan terminal, untuk kegunaan peribadi

Cloud Commander ialah pengurus berasaskan Node.js berlesen MIT dengan gaya dua panel, dilengkapi editor, konsol dan terminal terbina dalam. Pasang ia secara global dengan npm i cloudcmd -g, atau jalankan kontena yang diterbitkan:

docker run -it --rm -v ~:/root -v /:/mnt/fs -w=/root -p 8000:8000 coderaiser/cloudcmd

Baca arahan tersebut sebelum anda menjalankannya. -v /:/mnt/fs melekapkan keseluruhan sistem fail hos ke dalam kontena, dan contoh ~/.cloudcmd.json menghantar "root": "/", "auth": false serta "console": true. Gabungan tersebut bermakna sesiapa sahaja yang mencapai port 8000 akan mendapat akses kepada keseluruhan cakera anda dan konsol arahan pada pelayan. Ini merupakan tetapan lalai yang wajar untuk komputer riba tetapi tidak selamat untuk VPS.

Hadkan skopnya. Kontena tersebut membaca /root/.cloudcmd.json, yang dibekalkan oleh arahan yang diterbitkan dengan melekapkan direktori home anda, jadi kekalkan pelekapan konfigurasi dan buang yang lain:

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/cloudcmd

Dalam fail konfigurasi tersebut, tetapkan "root" kepada /srv/files, "auth" kepada true dengan "username" dan "password", serta "console" dan "terminal" kepada false melainkan anda benar-benar mahukan akses shell pelayar. Setara baris arahan juga wujud, termasuk --root, --auth, --username, --password dan --prefix.

Jujur tentang fungsinya. Hanya satu pasangan kelayakan, tiada skop bagi setiap pengguna, tiada kuota, dan tiada pautan perkongsian. Ia adalah alat peribadi, jadi ikat ia kepada localhost seperti di atas dan capai melalui terowong:

ssh -L 8000:127.0.0.1:8000 you@your-vps

Kemudian buka http://127.0.0.1:8000 pada mesin anda sendiri. Pengurus fail tidak pernah didedahkan secara awam, dan satu-satunya perkara yang menghadap internet ialah daemon SSH yang telah anda perkukuhkan pada VPS anda.

Mengapa Nextcloud bukan alat yang sesuai untuk tugasan ini

Nextcloud ialah perisian yang bagus, namun ia bukan untuk tujuan ini. Ia merupakan platform kolaborasi: aplikasi PHP, pangkalan data, tugasan latar belakang, klien penyelarasan desktop dan gedung aplikasi. Menjalankannya hanya untuk mendapatkan paparan web bagi /srv/files melibatkan terlalu banyak komponen untuk tugasan yang kecil, dan terdapat ketidakpadanan yang khusus. Nextcloud menyimpan metadata fail dalam jadual pangkalan data dan bukannya membaca direktori pada setiap permintaan. Oleh itu, fail yang ditulis melalui rsync atau cron job mungkin tidak kelihatan dalam antara muka sehingga imbasan selesai, dengan sudo -u www-data php occ files:scan --all. Pengurus fail akan menyenaraikan direktori setiap kali anda memuatkan halaman, jadi jurang tersebut tidak wujud.

Gunakan Nextcloud untuk fungsi yang ia lakukan dengan baik: kalendar, kenalan, penyelarasan dan perkongsian dengan pengguna yang memerlukan klien desktop. Nextcloud pada VPS dengan Docker, TLS dan sandaran merangkumi persediaan tersebut. Jika anda sudah menjalankannya dan hanya perlu melihat direktori sedia ada, aktifkan aplikasi External Storage dan berhenti di situ. Aplikasi web kedua yang mempunyai akses tulis ke cakera yang sama bermakna satu lagi perkara yang perlu ditampal (patch).

Cara menjalankannya tanpa mendedahkan keseluruhan pelayan

Jangan sekali-kali menghalakannya ke /. Proses tersebut boleh membaca dan menulis segala yang boleh dicapai oleh akaun penggunanya, jadi token sesi yang dicuri akan memberikan akses sistem fail sebanyak itu juga. Hidangkan satu direktori sahaja, /srv/files, dan cipta direktori tersebut khusus untuk tujuan itu.

Jalankannya sebagai pengguna bukan root dan lekapkan (mount) hanya apa yang perlu dihidangkan. Dalam Compose, ini bermakna user: "1000:1000" ditambah dengan satu bind mount bagi setiap direktori, dengan :ro pada mana-mana bahagian yang tidak perlu ditulis olehnya:

    volumes:
      - /srv/files:/folder
      - /srv/media:/media:ro

Hasil biasa daripada perubahan tersebut ialah pelayaran berfungsi tetapi muat naik gagal dengan permission denied, kerana ID pengguna di dalam kontena tidak memiliki direktori di luar kontena. Bandingkan kedua-duanya: docker exec filebrowser id mencetak pengguna kontena, ls -ln /srv/files mencetak pemilik berangka pada hos. Selesaikan dengan sudo chown -R 1000:1000 /srv/files. Ini adalah masalah pemilikan yang sama yang PUID dan PGID dalam imej Docker wujud untuk selesaikan.

Ikat port yang diterbitkan ke localhost, 127.0.0.1:8080:80 dan bukannya 8080:80. Docker menulis peraturan netfilter miliknya sendiri mendahului peraturan ufw, jadi port yang diterbitkan secara terbuka tetap boleh dicapai dari internet walaupun ufw deny 8080 aktif. Letakkan reverse proxy di hadapan untuk TLS. Melalui HTTP biasa, kuki sesi akan merentasi rangkaian dalam bentuk teks jelas, dan kuki itu adalah akses sistem fail. Jika Compose merupakan perkara baharu bagi anda, Docker Compose pada VPS merangkumi susun atur fail yang diandaikan oleh coretan ini.

Tambahkan lapisan pengesahan apabila pengesahan aplikasi itu sendiri lemah. HTTP basic auth pada proksi sudah memadai untuk contoh pengguna tunggal. Apabila melibatkan lebih daripada seorang, gunakan OIDC atau forward auth terhadap penyedia identiti supaya pembatalan satu akaun akan membatalkan akses di mana-mana sahaja.

Matikan ciri tambahan. Mana-mana pengurus fail yang menawarkan shell, pelaksana arahan atau terminal dalam pelayar sebenarnya menawarkan pelaksanaan kod jauh (remote code execution) kepada sesiapa sahaja yang memegang sesi yang sah. Panduan FileBrowser sendiri menyatakan untuk memastikan pelaksana arahan dinyahdayakan, dan konfigurasi contoh Cloud Commander mendayakan konsol. Tentukan berdasarkan tujuan dan bukannya berdasarkan tetapan lalai.

Perkara yang sering gagal, dan ralat yang akan anda lihat

listen tcp :80: bind: permission denied. Linux menempah port di bawah 1024 untuk proses yang mempunyai keistimewaan (privileged). Konfigurasi yang didokumentasikan untuk FileBrowser Quantum menggunakan port 80; ini berfungsi di dalam container tetapi akan gagal sebaik sahaja anda menjalankan binari tersebut sebagai pengguna tanpa keistimewaan pada host. Tetapkan port melebihi 1024 dalam config.yaml dan biarkan proksi mengurus port 443.

Muat naik gagal sedangkan pelayaran berfungsi. Menyenaraikan direktori memerlukan r-x, manakala menulis ke dalamnya memerlukan w. Antara muka web melaporkan ralat umum, jadi periksa sistem fail terlebih dahulu sebelum memeriksa log aplikasi.

413 Request Entity Too Large. Ralat tersebut datang daripada nginx, bukan daripada pengurus fail. Nilai lalai client_max_body_size ialah 1 MB, jadi muat naik yang lebih besar akan ditolak di peringkat proksi sebelum aplikasi sempat menerimanya. Tetapkan client_max_body_size 4096m; dalam blok server, atau 0 untuk menyahdayakan semakan tersebut.

Fail yang dimuat naik membawa kumpulan (group) yang salah. Fail baharu dimiliki oleh pengguna yang menjalankan proses, tidak kira apa pun tetapan direktori sekelilingnya; ini menyebabkan servis kedua yang membaca pokok direktori yang sama gagal berfungsi. Berikan kedua-dua servis kumpulan yang dikongsi dan tetapkan bit setgid pada direktori tersebut dengan sudo chmod g+s /srv/files, supaya fail baharu mewarisi kumpulan direktori berkenaan.

Semuanya berfungsi pada port asal tetapi gagal di sebalik proksi. Aplikasi yang dihidangkan di bawah subpath membina pautan daripada awalan (prefix) yang perlu dimaklumkan kepadanya. Cloud Commander mempunyai --prefix untuk tujuan ini. Jika pilihan sedemikian tidak wujud, berikan aplikasi tersebut subdomain sendiri dan proksikan laluan root.

Pengurus fail layan diri (self-hosted) yang manakah patut anda jalankan?

  • Satu VPS, satu atau dua direktori, kongsi pautan dengan tarikh luput, dan mungkin SSO kemudian: FileBrowser Quantum.
  • Fail yang disimpan di tempat lain, bucket S3, hos SFTP atau NAS melalui SMB, dan anda mahukan satu paparan web untuk kesemuanya: Filestash, dalam had pelan percuma.
  • Orang lain memerlukan akaun, kuota, dan muat naik melalui SFTP atau FTPS: SFTPGo, yang menganggap klien web sebagai tambahan berguna dan bukannya sebab utama anda memilihnya.
  • Alat peribadi dengan editor dan terminal, dicapai melalui tunnel SSH dan tidak pernah diterbitkan: Cloud Commander.
  • Nextcloud sudah berjalan dan terdapat direktori sedia ada untuk didedahkan: aplikasi External Storage, dan tiada perisian baharu diperlukan.

Apa sahaja yang anda pilih, cara penggunaan (deployment) lebih penting daripada pilihan perisian. Satu direktori, pengguna bukan root, port yang diikat pada localhost, dan pengesahan di hadapan. Pengurus fail yang disediakan dengan cara itu adalah satu kemudahan. Perisian yang sama yang dihalakan ke / dengan kata laluan yang dikongsi adalah shell jauh dengan antara muka yang menarik.

FAQ

Adakah FileBrowser masih selamat digunakan pada tahun 2026?

README filebrowser/filebrowser daripada hulu menyatakan bahawa File Browser telah diarkibkan pada 2026-09-01, tanpa sebarang releases, pembaikan pepijat atau tampalan keselamatan selanjutnya. Kod tersebut masih boleh dijalankan, namun perisian tanpa tampalan yang mempunyai akses tulis ke sistem fail anda merupakan risiko yang semakin meningkat dari semasa ke semasa. Jika anda terus menggunakannya, ikuti nasihat projek tersebut: tiada pendedahan terus ke internet, gunakan reverse proxy untuk TLS dan pengesahan kendiri, pastikan command runner dilumpuhkan, dan gunakan container tanpa keistimewaan (unprivileged) dengan hanya direktori yang dihidangkan sahaja yang dipasang (mounted). Perlu diingat juga bahawa sesi aplikasinya adalah JWT yang terkandung sendiri dan bukannya pengecam sebelah pelayan (server-side identifiers), jadi sesi tersebut tidak boleh dibatalkan, dan penukaran kata laluan tidak akan membatalkan token yang telah dikeluarkan. Untuk pemasangan baharu, gunakan fork FileBrowser Quantum yang diterbitkan sebagai imej gtstef/filebrowser, di mana pembangunan masih diteruskan.

Bolehkah pengurus fail yang dihoskan sendiri menggunakan SSO sedia ada saya?

FileBrowser Quantum menyokong OIDC, LDAP dan mod proxy header, jadi ia boleh diletakkan di belakang penyedia identiti sedia ada tanpa memerlukan senarai pengguna kedua. Integrasi OpenID Connect pada SFTPGo terdapat dalam binaan sumber terbuka dan memetakan pengguna penyedia identiti kepada pentadbir dan pengguna SFTPGo untuk kedua-dua antara muka WebAdmin dan WebClient. Filestash adalah pengecualian yang perlu diperhatikan: halaman harganya meletakkan SSO (SAML, OIDC dan LDAP) dalam tier berbayar untuk hos sendiri bermula dari $50 sebulan setakat Ogos 2026, manakala tier percuma disenaraikan sebagai AGPL v3 dengan had sehingga 3 pengguna. Apabila sesuatu aplikasi tidak mempunyai sokongan SSO langsung, pilihan terakhir ialah pengesahan hadapan (forward authentication) pada reverse proxy, yang melindungi halaman log masuk tetapi tidak mengubah kebenaran dalaman aplikasi tersebut.

Yang manakah antara ini menyediakan pautan perkongsian yang luput?

SFTPGo mempunyai pelaksanaan yang paling lengkap. Pengguna boleh mencipta pautan HTTP/S daripada WebClient dan mengehadkan bilangan muat turun dan muat naik, menetapkan kata laluan, menyekat akses mengikut alamat IP sumber, serta menetapkan tarikh luput automatik. FileBrowser Quantum menyokong perkongsian dengan masa luput, dengan akses sama ada tanpa nama atau terhad kepada pengguna, serta kebenaran bagi setiap perkongsian untuk melihat, menyunting dan memuat naik. Filestash juga mempunyai ciri perkongsian, dan ini merupakan satu-satunya kes di mana pelayan menyimpan salinan terenkripsi bagi kelayakan storan, kerana pautan tersebut perlu berfungsi walaupun sesi pelayar anda telah tamat. Cloud Commander tidak mempunyai sebarang pautan perkongsian.

Adakah selamat untuk menghalakan pengurus fail ke / jika saya adalah satu-satunya pengguna?

Tidak, dan risikonya bukan tentang mempercayai diri sendiri. Proses tersebut memegang akses baca dan tulis kepada semua yang boleh dicapai oleh akaun penggunanya, jadi sebarang laluan ke dalam sesi tersebut, kuki yang dicuri, pepijat yang tidak ditampal dalam pengendali muat naik, atau kata laluan yang digunakan semula, akan menjadi akses kepada /etc, kepada kunci SSH anda dan kepada direktori data setiap servis. Hadkan pemasangan (mount) kepada satu direktori sahaja: /srv/files dan bukannya /. Cloud Commander adalah aplikasi yang paling terkesan dengan perkara ini, kerana arahan Docker yang diterbitkan memasang root hos pada /mnt/fs dan konfigurasi contohnya menetapkan "root": "/" dengan "auth": false. Ubah kedua-duanya sebelum container tersebut mendengar pada mana-mana port selain localhost.

#file-manager#filebrowser#sftpgo#self-hosting#storage