Budowanie serwera Storage Student

10

Pracuję dla okręgu szkolnego. Powierzono mi budowę serwera pamięci dla studentów. Miejsce do pracy poza szkołą i domem.

Moim wyzwaniem jest sprawienie, by zadziałało z domu. W szkole logują się, uwierzytelniają i otrzymują zamapowany dysk do swojego folderu na serwerze ( S:\fileserver\studentname).

Moje pytanie brzmi: jak mogę udostępnić to studentom w domu?

Na serwerze działa system Windows Server 2008 R2. PHP, Apache i MySQL działają razem. Moim pomysłem jest napisanie skryptu, który „zaindeksuje” katalog zawierający wszystkie foldery studentów, a następnie utworzy instancję każdego pliku i folderu w bazie danych MySQL. Utwórz stronę logowania, która będzie używać uwierzytelniania LDAP, a gdy zalogują się do serwera z domu, otrzymają stronę z folderami i plikami powiązanymi z ich nazwą użytkownika.

Czy ktoś tam kiedyś złożył coś takiego?

DobotJr
źródło
2
co muszą zrobić? twój tytuł mówi do mnie, że wystarczy, że zalogujesz się na ftp. Pełny dostęp zdalny do komputera = Podłączanie pulpitu zdalnego.
1
Co z FTP?
m4tt1mus
3
Problem z twoim pomysłem php / apache / mysql polega na tym, że da im listę plików na stronie internetowej. Jak tylko klikną / pobiorą plik do pracy, będziesz mieć 2 wersje, jedną na serwerze i jedną na komputerze w domu ucznia. To z pewnością spowoduje wiele problemów. Będziesz musiał stworzyć wirtualny dysk dla swoich uczniów.
jeroen
Nie wspominając o tym, że otwierając główne dane serwerów na sieć światową, nie powinieneś tego robić, jeśli ktoś zyskuje rootowanie przez php, to pożegnaj się z twoimi danymi.
RobertPitt
Czy rozważałeś jakąś formę CMS? Gdyby tylko musieli zarządzać standardowymi dokumentami biurowymi, coś takiego jak Alfresco prawdopodobnie by się udało.
ErnieTheGeek

Odpowiedzi:

18

Jeśli nalegasz na zrobienie tego (w przeciwieństwie do korzystania z odpowiedzi @sweaves), zacznę od:

  1. upuszczając Php, Apache i MySql. Nie są konieczne i wprowadzą własne bóle głowy.

  2. Uruchom serwer FTPS. Wzdłuż tych linii możesz rozważyć zrzucenie Windows Server 2003 na korzyść 2008 R2. IIS 7 ma wbudowane znacznie lepsze elementy FTP. Http://blogs.technet.com/b/chrisavis/archive/2008/06/12/how-to-configure-ftp-over-ssl-secure-ftp-on- Windows-2008-w mniej niż 10 minut.aspx

  3. Jeśli nie możesz tego zrobić, zapoznaj się z tym, jak skonfigurować File Zilla do pracy z AD. http://retrohack.com/enabling-filezilla-server-integration-with-active-directory-authentication/

  4. Inną opcją (dzięki @jscott) jest użycie WebDav ( http://www.iis.net/download/webdav ). Oto inna szkoła robi dokładnie to samo: http://kb.iu.edu/data/araf.html

  5. Możesz także skonfigurować serwer SFTP. SFTP obsługuje logowanie bez hasła, ale nie jest obsługiwany w systemie Windows od razu po wyjęciu z pudełka.

Na marginesie, rozwiązanie filezilla wymaga więcej pracy zarządzania niż IIS 7.

Nie ja
źródło
2
+1 dla SFTP, a nie FTP
RobertPitt
1
To zdecydowanie droga do przebycia. Mam system Linux, który robi w zasadzie to samo - jeden obszar pamięci dostępny przez SMB, gdy studenci są w kampusie, i przez SFTP, gdy są poza kampusem. Studenci mogą korzystać z WinSCP , klienta FileZilla , Fugu lub czegokolwiek, co mówi SFTP, gdy są poza kampusem.
Mike Renfro
Co powiedział ...
Bart Silverstrim
4
Możesz tam również dodać WebDav. Użytkownicy systemu Windows mogą łatwo zmapować udział WebDav jako literę dysku - OSX, Linux ma również przyzwoitą obsługę. Bardzo prosty w konfiguracji w IIS, nawet jeśli domy studentów znajdują się na innym serwerze.
jscott
1
@jscott: moje doświadczenia z wbudowaną obsługą WebDAV systemu Windows były dość złe (szczególnie straszna wydajność pod XP). Ale jeśli działa w innym środowisku, którego nie próbowałem, niech tak będzie.
Mike Renfro
11

O wiele łatwiejszym rozwiązaniem byłoby skonfigurowanie VPN. Uczeń może następnie zalogować się do sieci VPN i uzyskać dostęp do wszystkich swoich zasobów, tak jakby siedzieli w kampusie. Sprawdź szczegóły ... http://lifehacker.com/162563/how-to-set-up-free-vpn


źródło
Nie sądzę, że to zadziała tutaj. Musimy to uruchomić bez instalowania czegokolwiek na komputerach domowych naszych uczniów.
4
@DobotJr: Zdajesz sobie sprawę, że robiąc to bez zabezpieczeń VPN jest to bardzo duży problem? Zdajesz sobie również sprawę, że systemy studenckie to jedne z najbardziej zhakowanych przedmiotów?
NotMe
Sugerowałbym wtedy Hordę. Udostępnij serwer w Internecie i zainstaluj Horde, jest to przeglądarka plików ORAZ. Pliki map z lokalnego udziału użytkowników do interfejsu sieciowego w celu pobrania / przesłania.
@sweaves odsyłacz z witryny hakera życia jest przerywany, sugeruję przejście do innego samouczka
@Dagon - Ach, rzeczywiście masz rację, ten jest na żywo, choć compnetworking.about.com/od/vpnsetup/…
5

Co dokładnie muszą zrobić? Po prostu uzyskać dostęp? Jeśli otworzysz go na FTP, pytasz o poważne problemy. Jeśli potrzebują dostępu do spójnych narzędzi do pracy nad dokumentami ze szkoły, otwórz serwer (lub klaster) dla usług pulpitu zdalnego.

Tak, muszą zainstalować klienta pulpitu zdalnego, jeśli jeszcze go nie mają (prawdopodobnie już to robią), ale klient jest dostępny dla systemów Linux, Windows i Mac za darmo. Połączenie jest szyfrowane i mogą mieć dostęp do wszystkiego, czego Twoja szkoła używa do pakietu Office lub innych narzędzi, chyba że używasz czegoś ciężkiego, takiego jak Photoshop.

Jeśli korzystasz z RDP, dostajesz szyfrowanie, dostajesz jeden port do otwarcia w zaporze ogniowej i dostajesz standaryzację narzędzi (nie „Zrobiłem to w domu i działało dobrze, dlaczego nie otworzy się tutaj?”) scentralizowane zarządzanie. Kilka razy widziałem podobne problemy rozwiązywane dokładnie w ten sposób i tylko w określonych okolicznościach wystąpiły z tym problemy.

Ponadto nie masz uczniów z wieloma kopiami dokumentów, którzy narzekają, że nie wiedzą DLACZEGO ich papier jest niewłaściwy, ponieważ działał w porządku FINE w domu ... lub nie zapisali go we właściwym miejscu .. .itp.

Bart Silverstrim
źródło
3

Co z WebDAV?

Jest to obsługiwane w Apache i nadal możesz używać LDAP do uwierzytelniania.

Użytkownicy będą mogli uzyskiwać dostęp do swoich plików z przeglądarki, a nowoczesne wersje systemu Windows i OS X pozwalają użytkownikom montować udziały WebDAV odpowiednio w Eksploratorze i Finderze.

Zapobiegało to również problemom związanym z próbą przechowywania stanu ciągle zmieniającego się systemu plików w synchronizacji z bazą danych w proponowanej metodzie.

Dwanaście47
źródło
1

Spójrz na Adito / OpenVPN ALS . Jest bezpłatny, instaluje się w systemie Windows lub Linux i sprawia, że bardzo łatwo jest skonfigurować interfejs sieciowy dla udziałów plików, a także wielu innych funkcji. Używam go na uczelni, w której pracuję. Ma kilka wad: wymaga zainstalowania Java na klientach, wyłącza blokowanie wyskakujących okienek w wielu przeglądarkach, konfiguracja certyfikatu może być łatwiejsza, a widok stronicowania dla list plików może być łatwiejszy. Jeśli zdecydujesz się skonfigurować webdav, możesz go użyć, aby ułatwić (i bardziej niezawodny) użytkownikom uzyskanie odpowiednich mapowań dysków.

Joel Coel
źródło
1

Jak powiedzieli inni - nie używaj FTP - jest z nim wiele, wiele rzeczy nie tak. OTOH, prawdopodobnie powinieneś użyć protokołu, który nie wymaga od użytkowników instalowania dodatkowego oprogramowania po stronie klienta; chociaż dostęp oparty na ssh (sftp, scp) byłby idealny, maszyny MSWindows nie są standardowo dostarczane z klientem .

Nie ma końca dostępnych menedżerów plików napisanych w PHP (i prawdopodobnie także w innych językach). Usługi IIS wykonują kilka bardzo dziwnych rzeczy z tunelowaniem uprawnień NTLM - ale jeśli używasz Apache, powinno to być dość bezpieczne - jednak dostęp do dysków nie jest tak prosty, jak tylko odczyt z \ server \ nazwa użytkownika \ - musisz zezwolić na prawa administratora serwera WWW do tych plików - ale to koszmar bezpieczeństwa!

Sposób, w jaki to robię (w przypadku zupełnie innego rodzaju aplikacji) to obsługa we / wy za pośrednictwem smbclient przy użyciu nazwy użytkownika / hasła z sesji użytkowników PHP - ale to na komputerze z systemem Linux - AFAIK, nie ma odpowiednika w MSWindows.

Z pewnością będziesz chciał użyć poświadczeń podanych przez użytkownika do uwierzytelnienia w pamięci.

To szybko staje się przerażające, skomplikowane!

Praktycznym rozwiązaniem byłoby więc umożliwienie uczniom mapowania dysków w Internecie. W ten sposób nie musisz martwić się o komplikacje związane z udostępnianiem menedżera plików, który nie jest integralną częścią systemu operacyjnego (tj. Bezpośrednio dostępny z aplikacji). Ale nie chcesz udostępniać swojego serwera nikomu i każdemu. Zwykłym sposobem rozwiązania tego problemu jest VPN - i jest dostępnych wiele dobrych i tanich . Lub po prostu umieść usługę w SSL z uwierzytelnianiem certyfikatu klienta. Ale znowu wymaga to instalacji po stronie klienta.

Więc.....

Co powiesz na formularz internetowy do uwierzytelnienia użytkownika na adresie IP, który następnie tworzy ograniczoną czasowo lukę w zaporze ogniowej, aby ten adres IP mógł się połączyć przez SMB (i nadal musi podać nazwę użytkownika / hasło, aby oczywiście zamapować dysk) .

symcbean
źródło
"there are many, many things wrong with [FTP]"- właściwie jest tylko kilka rzeczy nie tak z ftp, ale są to naprawdę ważne rzeczy . ;) Tak samo na końcu
Joel Coel
0

PS: osobiście uważam, że odniesiesz większy sukces, jeśli przeniesiesz swój system do * nix, ponieważ dostępnych będzie więcej alternatyw (za darmo)

Co przychodzi mi na myśl:

Dropbox:

prześlij zmiany do Dropbox . Wspaniałą rzeczą w Dropbox jest to, że oferują bezpłatny plan 20 GB (teraz) i mogą być używane z każdym popularnym systemem operacyjnym (Windows / Linux / MacOSX) bez żadnych problemów. Jeszcze nie przeczytałem / nie zaimplementowałem niczego przy użyciu interfejsu API Dropbox , ale mam nadzieję, że możesz to osiągnąć bez większego bólu głowy. Wydaje mi się, że problemem jest to, co się dzieje, kiedy zmieniają plan cenowy, ale jest to coś na później.

Alternatywy Dropbox typu open source

Po wykonaniu szybkiego wyszukiwania w Google ten link zawiera kilka alternatywnych programów typu open source, ale nie wiem, czy któreś z nich są dobre, więc powinieneś to przetestować.

Sieć

Zamiast dać użytkownikom opcję synchronizacji, daj im tylko możliwość pobrania plików / folderów (skompresowanych). Myślę, że możesz napisać taki system bez zbytniej skargi.

VPN / RPC

Jak niektórzy inni użytkownicy powiedzieli, daj użytkownikowi zalogować się przy użyciu VPN / RPC.

Alfred
źródło
2
Uczniowie muszą mieć możliwość zalogowania się przy użyciu swojej sieciowej nazwy użytkownika i hasła, których używają codziennie w szkole. Dlatego musi to jakoś zsynchronizować w / active directory. Dropbox nie jest więc opcją. W każdym razie dzięki.
DobotJr
Myślę, że możesz w jakiś sposób zmapować te dane uwierzytelniające na dane z Dropbox, ale powodzenia.
Alfred
0

Spójrz na Ajaxplorer ( http://www.ajaxplorer.info )

Jest to internetowy menedżer plików (napisany w PHP i JavaScript), który zapewnia łatwą administrację uprawnieniami, użytkownikami, grupami, a także możesz skonfigurować repozytoria współdzielone i osobiste.

Może także wykonywać webdav i ma złącza uwierzytelniające dla wszystkich rodzajów systemów (ldap, mysql, flatfile .....)

Za pomocą łączników systemu plików można skonfigurować reguły automatycznego mapowania kont użytkowników do poszczególnych katalogów, co rozwiązałoby Twoje wymagania dotyczące dostępu do zmapowanego dysku użytkownika.

Właśnie zaczęliśmy go używać tutaj (biuro projektowe / internetowe) i klienci o wszystkich umiejętnościach technicznych uważają, że jest bardzo łatwy w użyciu / zrozumieniu

Powinieneś być w stanie zintegrować go z bieżącym systemem bez żadnych zmian

Nick Downton
źródło