Aby uzyskać dostęp do udziału Windows lub Samba na serwerze ownCloud, włącz aplikację Obsługa pamięci masowej zewnętrznej i dodaj montowanie pamięci masowej SMB/CIFS ze strony administracyjnej ownCloud. Użyj adresu serwera udziału, jego nazwy i prawidłowych danych logowania SMB; zazwyczaj nie ma potrzeby wcześniejszego montowania udziału w systemie Linux mount.cifs.
Ta metoda udostępnia istniejące pliki sieciowe w interfejsie plików ownCloud, zachowując jednocześnie uprawnienia narzucone przez serwer SMB. Poniższe instrukcje dotyczą klasycznego interfejsu zewnętrznej pamięci masowej ownCloud Server, udokumentowanego dla wersji 10.16 i 11.0, a nie ownCloud Infinite Scale.
1. Sprawdź wymagania wstępne dotyczące udziału SMB i ownCloud
Potrzebujesz dostępu administratora do ownCloud, dostępnego serwera SMB, udziału, do którego masz uprawnienia dostępu, oraz konta SMB z niezbędnymi uprawnieniami do odczytu lub zapisu. Utrzymuj dostęp do portu TCP 445 między ownCloud a serwerem plików, najlepiej za pośrednictwem zaufanej sieci prywatnej lub VPN, zamiast udostępniać SMB publicznie dostępnemu internetowi.
Dla przykładu załóżmy, że serwer SMB to files.internal.example, udział to Projects, a konto usługi to ACME\oc-share. Folder do wyświetlenia w ownCloud to Team Projects. To są fikcyjne wartości; zastąp je prawdziwymi danymi serwera.
W konwencjonalnej instalacji Linuksa może być wymagany klient Samba i odpowiednie rozszerzenie klienta PHP SMB. Na przykład na hoście opartym na Debianie zainstaluj klienta testowego z wiersza poleceń:
sudo apt update
sudo apt install smbclient
Przed zainstalowaniem rozszerzenia sprawdź wersję PHP i metodę instalacji ownCloud. Instrukcje instalacji serwera 10.16 w Ubuntu dla ownCloud opisują php7.4-smbclientkonfigurację PHP 7.4; używaj tego pakietu tylko wtedy, gdy jest zgodny z obsługiwanym środowiskiem PHP i repozytorium. Po włączeniu rozszerzenia zrestartuj usługę PHP lub serwer WWW, na którym działa ownCloud, i sprawdź ładowanie modułów za pomocą polecenia php -m | grep -i smbclient. To polecenie sprawdza PHP w wierszu poleceń; proces WWW może mieć osobną konfigurację.
W przypadku oficjalnego obrazu serwera ownCloud Server 11.0 Docker, dokumentacja SMB podaje, że zależności SMB dla środowiska uruchomieniowego są uwzględnione, chociaż obraz nie zawiera polecenia smbclientdo testów ręcznych. Nie należy zakładać, że te same polecenia host-package obowiązują w każdym obrazie kontenera.
2. Przetestuj dostęp z serwera ownCloud
Przed zmianą ustawień ownCloud przetestuj rozpoznawanie nazw, uwierzytelnianie i sam udział na hoście ownCloud lub w jego środowisku sieciowym. Na hoście z smbclient, uruchom:
smbclient -L //files.internal.example -U 'ACME/oc-share'
smbclient //files.internal.example/Projects -U 'ACME/oc-share' -c 'ls'
Wprowadź hasło do konta SMB po wyświetleniu monitu, zamiast wpisywać je w wierszu poleceń. Pierwsze polecenie wyświetla listę dostępnych udziałów, drugie sprawdza dostęp do konkretnego udziału. Lista nie stanowi dowodu uprawnień do zapisu. Jeśli polecenie się nie powiedzie, przed kontynuacją sprawdź nazwę lub adres IP serwera, pisownię udziału, poświadczenia, domenę, reguły zapory sieciowej oraz aktywne uprawnienia na serwerze Windows lub Samba. Przewodnik ownCloud SMB/CIFS zaleca również przetestowanie usługi smbclientprzed konfiguracją.
3. Włącz obsługę pamięci zewnętrznej
- Zaloguj się do ownCloud przy użyciu konta administratora.
- Otwórz Ustawienia → Aplikacje i upewnij się, że Obsługa pamięci zewnętrznej jest włączona.
- Przejdź do Ustawienia → Administracja → Pamięć (etykiety nawigacyjne mogą się nieznacznie różnić w zależności od interfejsu).
- Włącz Pamięć zewnętrzną , jeśli strona wyświetla takie pole wyboru, i użyj opcji Dodaj pamięć , aby wybrać SMB/CIFS .
Nie musisz włączać opcji „ Zezwalaj użytkownikom na montowanie pamięci zewnętrznej” tylko po to, aby utworzyć udział zarządzany przez administratora. To osobne ustawienie pozwala użytkownikom tworzyć własne montowania, potencjalnie obejmujące połączenia z usługami sieciowymi, których administrator w innym przypadku nie udostępniłby. Zapoznaj się z instrukcją konfiguracji pamięci zewnętrznej ownCloud .
4. Skonfiguruj mocowanie SMB/CIFS
W nowym wierszu pamięci masowej podaj informacje o połączeniu. W poniższym przykładzie nazwa udziału SMB jest oddzielona od nazwy folderu, którą użytkownicy widzą w ownCloud.
| Pole ownCloud | Przykładowa wartość | Cel |
| Nazwa folderu | Projekty zespołowe | Nazwa wyświetlana w interfejsie Pliki |
| Pamięć zewnętrzna | SMB / CIFS | Korzysta bezpośrednio z zaplecza SMB |
| Host | pliki.wewnętrzne.przykład | Nazwa hosta lub adres IP serwera SMB |
| Udostępnij | Projekty | Nazwa udziału zdalnego bez pełnej ścieżki UNC |
| Zdalny podfolder | Zespół (opcjonalnie) | Ogranicza montowanie do istniejącego folderu w udziale |
| Domena | ACME (jeśli wymagane) | Domena lub grupa robocza powiązana z kontem |
| Uwierzytelnianie | Nazwa użytkownika i hasło | Jawne dane uwierzytelniające dla tego udziału |
| Dostępne dla | Wybrana grupa ownCloud | Ogranicza widoczność mocowania |
Wpisz oc-sharenazwę użytkownika, którą podałeś ACMEw oddzielnym polu „Domena”. Nie wpisuj //files.internal.example/Projectsjej w polu „Host” i nie myl nazwy udziału z opcjonalnym podfolderem. W przypadku zdalnego podfolderu ownCloud obsługuje $userwybór istniejącego katalogu odpowiadającego bieżącej nazwie użytkownika ownCloud; katalog ten nie jest tworzony.
W przypadku wspólnego konta usługi nazwa użytkownika i hasło są proste, ale dostęp do nich zależy od uprawnień SMB danego konta. Jeśli użytkownicy uwierzytelniają się w SMB przy użyciu własnych, zgodnych danych uwierzytelniających ownCloud, dane logowania i zapisywanie w sesji mogą być lepszym rozwiązaniem. Jednak ownCloud dokumentuje istotne ograniczenia dotyczące danych uwierzytelniających sesji: skanowanie w tle i bezpośrednie udostępnianie zamontowanej pamięci masowej nie mogą działać tak, jak w przypadku danych przechowywanych. Wybierz opcję opartą na rzeczywistych wymaganiach uwierzytelniania i skanowania, a nie tylko na wygodzie. Zapoznaj się z tematem Mechanizmy uwierzytelniania pamięci masowej zewnętrznej .
Ogranicz dostępność do docelowych użytkowników lub grup ownCloud; w przeciwnym razie montowanie utworzone przez administratora jest domyślnie dostępne dla wszystkich użytkowników. Jeśli pracownicy potrzebują tylko przeglądać pliki, włącz opcję „Tylko do odczytu” w montowaniu i wymuś dostęp tylko do odczytu na serwerze SMB. Pozostaw udostępnianie z montowania wyłączone, chyba że wymaga tego polityka dostępu.
5. Rozwiąż problem z niedostępnym mocowaniem przed jego użyciem
Po wypełnieniu wymaganych pól, ownCloud automatycznie zapisuje wiersz pamięci masowej. Zielony wskaźnik statusu oznacza, że połączenie jest gotowe; czerwony lub żółty wskaźnik wskazuje na konieczność dalszej analizy. ownCloud może oznaczyć uszkodzoną pamięć zewnętrzną jako niedostępną na dziesięć minut, dlatego po rozwiązaniu problemu kliknij wskaźnik statusu lub odśwież stronę administracyjną.
- Uwierzytelnianie nie powiodło się: Sprawdź ponownie hasło SMB, domenę, format nazwy użytkownika, stan blokady konta i uprawnienia udziału. Porównaj z testem
smbclientz użyciem tego samego konta.
- Przekroczono limit czasu połączenia: sprawdź DNS, routing, dostęp zapory sieciowej do TCP 445 i czy usługa SMB jest uruchomiona. Przetestuj z tej samej sieci kontenerowej, jeśli ownCloud jest konteneryzowany.
- Brak zaplecza SMB/CIFS: Sprawdź, czy aplikacja External Storage Support jest włączona i czy wymagane rozszerzenie SMB jest załadowane w środowisku wykonawczym PHP obsługującym ownCloud, tam gdzie ma to zastosowanie.
- Brakuje niektórych folderów: Sprawdź uprawnienia zdalnego podfolderu i systemu plików SMB. Przypisanie grupy ownCloud nie może przyznać dostępu, którego zdalny serwer odmawia.
- Pliki zmienione zewnętrznie nie pojawiają się: Sprawdź częstotliwość sprawdzania systemu plików w systemie montowania, zadania w tle i mechanizm skanowania. Poświadczenia SMB tylko dla sesji uniemożliwiają skanowanie w tle; unikaj planowania
occ files:scanjako rzekomego rozwiązania tego ograniczenia.
Montowanie CIFS na poziomie jądra, udostępnione z powrotem do ownCloud jako pamięć lokalna , zazwyczaj jest nieodpowiednim rozwiązaniem awaryjnym. ownCloud ostrzega, że jeśli takie montowanie systemu plików zniknie, może wykryć pusty katalog lokalny i rozpowszechnić zdarzenia usunięcia. Zamiast tego należy użyć bezpośredniego zaplecza SMB/CIFS; zapoznaj się z oficjalnym ostrzeżeniem dotyczącym pamięci lokalnej .
6. Sprawdź udział w Plikach
Zaloguj się jako użytkownik z uprawnieniami w sekcji Dostępne dla . Otwórz pliki i znajdź projekty zespołowe . Przejrzyj istniejący katalog i otwórz mały plik testowy. Jeśli zarówno konto SMB, jak i montowanie ownCloud zezwalają na zapis, prześlij nieszkodliwy plik testowy i sprawdź, czy pojawia się on na serwerze SMB; usuń go po sprawdzeniu. W przypadku montowań tylko do odczytu, upewnij się, że modyfikacja jest zablokowana.
Na koniec sprawdź, czy wiersz magazynu pozostaje zielony po przeładowaniu strony i czy inny użytkownik spoza grupy uprawnionych nie widzi montowania. Te kontrole pozwalają ustalić, czy ownCloud może uzyskać dostęp do właściwego udziału SMB, czy konto zdalne ma zamierzony dostęp, a montowanie jest widoczne tylko dla docelowych odbiorców.