Ustaw publiczny adres URL NextCloud, aby mógł się do siebie dodzwonić
Napraw ostrzeżenie Nextcloud o brakującym adresie wychodzącym, ustawiając jego kanoniczny adres URL i sprawdzając routing DNS, HTTPS i odwrotnego serwera proxy na samym serwerze.
Sterownik innej firmy w systemie SUSE Linux Enterprise Server 15 może kompilować się poprawnie, ale nie uruchamiać się z komunikatem „Wymagany klucz niedostępny” lub „Klucz został odrzucony przez usługę”. Gdy UEFI Secure Boot wymusza podpisy modułów, rozwiązaniem jest podpisanie niestandardowego modułu jądra zaufanym certyfikatem, zarejestrowanie tego certyfikatu za pomocą zarządzania kluczami właściciela maszyny (MOK), a następnie normalne załadowanie modułu — bez wyłączania Secure Boot.
Ta procedura zakłada standardowy system SLES 15 UEFI z nakładką SUSE shim, kernel-defaultjądrem, dostępem administratora i zaufanym źródłem sterownika. Dotyczy ona .komodułów niestandardowych, a nie podpisywania jądra zastępczego ani zmiany kluczy platformy oprogramowania sprzętowego. Przykłady są zgodne z modelem administracyjnym SLES 15 SP6/SP7; sprawdź różnice między pakietami i wersjami jądra w zainstalowanym pakiecie Service Pack.
Zaloguj się z uprawnieniami administracyjnymi i zidentyfikuj jądro, które faktycznie uruchomiłeś. Sama nazwa pakietu nie dowodzi, że moduł można załadować do tego jądra.
uname -r
mokutil --sb-state
ls -ld "/lib/modules/$(uname -r)/build"

Jeśli mokutilraporty wskazują włączoną funkcję Bezpieczny rozruch, prawdopodobnym wytłumaczeniem niepowodzenia ładowania związanego z kluczem jest niezaufany podpis. Jeśli jest wyłączona, przed wygenerowaniem kluczy należy zbadać inne przyczyny; jawne wymuszanie podpisu jądra również może mieć znaczenie. Po nieudanym ładowaniu sprawdź dziennik jądra pod kątem faktycznego komunikatu o odrzuceniu.
sudo journalctl -k -b --no-pager | tail -n 50
Sprawdź moduł kandydujący przed jego instalacją. Zastąp przykład prawdziwą nazwą pliku; vermagicpowinna być zgodna z bieżącą wersją jądra i kompatybilnymi właściwościami kompilacji.
modinfo -F name /path/to/mydriver.ko
modinfo -F vermagic /path/to/mydriver.ko

Najpierw poproś dostawcę sprzętu lub oprogramowania o zgodny z SLES, podpisany pakiet modułu jądra (KMP). Jest to lepsze rozwiązanie niż ręczna instalacja pliku binarnego: dostawca może zapewnić obsługę aktualizacji jądra i udokumentowany proces rejestracji certyfikatu. Podpis dostawcy nie jest automatycznie zaufany na każdym komputerze z systemem Secure Boot.
Jeśli musisz skompilować sterownik, zainstaluj pliki programistyczne odpowiadające działającemu kernelowi. kernel-defaultStandardowe pakiety SLES dla tej wersji zawierają domyślny pakiet programistyczny kernela, pliki programistyczne kernela oraz narzędzia do kompilacji. Dostępność i wersje repozytoriów zależą od rejestracji i włączonych modułów SLES.
sudo zypper install gcc make openssl mokutil kernel-devel kernel-default-devel
rpm -q kernel-default-devel kernel-devel
readlink -f "/lib/modules/$(uname -r)/build"

Jeśli brakuje katalogu kompilacji lub pakiet deweloperski jest przeznaczony dla innej wersji jądra, najpierw należy naprawić niezgodność między pakietem a jądrem. Nowo zainstalowane jądro może wymagać kontrolowanego ponownego uruchomienia przed kompilacją.
Z zaufanego katalogu źródłowego sterownika należy skorzystać z instrukcji kompilacji dostawcy. W przypadku konwencjonalnych modułów opartych na kbuild, poniższe polecenie kompiluje się z działającym jądrem; nie pobiera ani nie tworzy sterownika samodzielnie.
cd /path/to/driver-source
make -C "/lib/modules/$(uname -r)/build" M="$PWD" modules

Pomiń kompilację, jeśli masz już kompatybilny plik .kood zaufanego dostawcy. Nigdy nie ładuj na siłę modułu z nieprawidłową wersją vermagic; podpis nie naprawi niezgodnego pliku binarnego.
Wygeneruj dedykowany klucz RSA i certyfikat X.509 w katalogu głównym. Certyfikat publiczny zostanie zarejestrowany; klucz prywatny musi pozostać chroniony, ponieważ ktokolwiek go kontroluje, może podpisywać dodatkowe moduły, którym ten komputer może zaufać.
sudo -i
umask 077
mkdir -p /root/module-signing
cd /root/module-signing
openssl req -new -x509 -newkey rsa:3072 -sha256 -days 3650 -nodes \
-subj "/CN=SLES Custom Module Signing/" \
-keyout MOK.priv -out MOK.pem
openssl x509 -in MOK.pem -outform DER -out MOK.der
chmod 600 MOK.priv

-nodesTworzy niezaszyfrowany klucz prywatny. Dla przykładu: w produkcyjnym procesie podpisywania użyj odpowiednio zabezpieczonego zaszyfrowanego klucza lub zewnętrznej usługi podpisywania, zgodnie z polityką bezpieczeństwa. Podany tutaj dziesięcioletni okres ważności ma charakter poglądowy i nie jest rekomendacją dożywotniego okresu ważności certyfikatu w organizacji.
Skopiuj gotowy moduł do katalogu modułów działającego jądra. Podpisz dokładnie zainstalowany plik po każdym spakowaniu, usunięciu lub innych modyfikacjach plików. Zastąp go mydriveri jego ścieżkę rzeczywistą nazwą bazową i lokalizacją modułu.
install -D -m 0644 /path/to/mydriver.ko \
"/lib/modules/$(uname -r)/extra/mydriver.ko"
SIGN_FILE="$(readlink -f /lib/modules/$(uname -r)/build)/scripts/sign-file"
test -x "$SIGN_FILE" || echo "Locate the sign-file binary for this kernel"
"$SIGN_FILE" sha256 /root/module-signing/MOK.priv \
/root/module-signing/MOK.der \
"/lib/modules/$(uname -r)/extra/mydriver.ko"
modinfo -F signer "/lib/modules/$(uname -r)/extra/mydriver.ko"

Jeśli sign-filew tej ścieżce go nie ma, znajdź narzędzie dostarczone z plikami kompilacji jądra, zamiast kopiować niepowiązaną wersję. Wyświetlony sygnatariusz oznacza, że plik zawiera metadane podpisu; nie dowodzi to jednak, że sygnatariusz został zarejestrowany. Nigdy nie usuwaj ani nie modyfikuj modułu po podpisaniu.
Zaimportuj certyfikat publiczny w formacie DER — nie MOK.priv— i ustaw jednorazowe hasło rejestracyjne wymagane przez mokutil. Zapewnij dostęp do konsoli przed ponownym uruchomieniem; autoryzacja odbywa się w interfejsie MokManager podczas rozruchu, a nie w powłoce SSH.
mokutil --import /root/module-signing/MOK.der
mokutil --list-new
reboot

Podczas następnego uruchomienia wybierz opcję „Enroll MOK” , postępuj zgodnie z monitami potwierdzającymi, wprowadź hasło jednorazowe i kontynuuj uruchamianie. Wygląd menu zależy od wersji oprogramowania sprzętowego i podkładki. Powrót do systemu Linux bez potwierdzenia rejestracji spowoduje, że nowy certyfikat nie będzie uznawany za zaufany.
Po uruchomieniu sprawdź, czy konkretny certyfikat jest zarejestrowany:
sudo mokutil --test-key /root/module-signing/MOK.der
sudo mokutil --list-enrolled
Aktualizuje metadane zależności modułu i ładuje moduł według jego nazwy, a nie pełnej ścieżki dostępu. modprobeRozwiązuje zależności i respektuje standardową konfigurację modułu.
sudo depmod -a
sudo modprobe mydriver
lsmod | grep -w mydriver
modinfo -F signer mydriver

Jeśli ładowanie nadal się nie powiedzie, wybierz działanie naprawcze odpowiadające dowodom:
mokutil --test-key; sprawdź, czy zainstalowany plik jest tym podpisanym i sprawdź, czy aktualizacja sterownika go zastąpiła.modinfo -F vermagicz uname -r, przebuduj dla aktywnego jądra i sprawdź architekturę procesora.journalctl -k -bwymagane moduły dostawcy i ABI jądra; inny podpis nie naprawi brakujących symboli.W przypadku sterowników pamięci masowej lub sieciowych krytycznych dla rozruchu, należy najpierw przetestować je na systemie nieprodukcyjnym i upewnić się, że konsola odzyskiwania jest dostępna. Automatyczne ładowanie należy skonfigurować dopiero po uruchomieniu sterownika; dokumenty SUSE /etc/modules-load.d/dotyczą modułów, które w innym przypadku nie ładują się po wykryciu urządzenia.
Uruchom ponownie w oknie konserwacji, jeśli ciągłe ładowanie ma znaczenie. Upewnij się, że funkcja bezpiecznego rozruchu jest włączona, klucz publiczny jest zarejestrowany, moduł jest obecny i jądro nie zgłasza żadnych nowych błędów weryfikacji ani zgodności. Przebuduj lub przeinstaluj i podpisz zaktualizowane jądro .kopo aktualizacji jądra lub sterowników dostawcy.
mokutil --sb-state
sudo mokutil --test-key /root/module-signing/MOK.der
modinfo -F signer mydriver
lsmod | grep -w mydriver
sudo journalctl -k -b --no-pager | tail -n 30
Dokumentacja podstawowa: SUSE SLES 15 SP6: UEFI i klucze właściciela komputera ; SUSE: Zarządzanie modułami jądra ; Jądro Linux: Funkcja podpisywania modułów ; Jądro Linux: Budowanie modułów zewnętrznych . Podręcznik administratora SLES 15 SP6 został zaktualizowany 17 września 2026 r.; zachowanie poleceń dla instalatorów sterowników innych firm i wersji jądra innych niż domyślne musi zostać potwierdzone przez ich opiekunów.
Napraw ostrzeżenie Nextcloud o brakującym adresie wychodzącym, ustawiając jego kanoniczny adres URL i sprawdzając routing DNS, HTTPS i odwrotnego serwera proxy na samym serwerze.
Skonfiguruj APCu i Redis przez lokalne gniazdo Unix na potrzeby buforowania i blokowania plików w usłudze Nextcloud, wraz z instrukcjami dla bieżących i starszych wersji usługi Nextcloud.
Sprawdź tryb cron Nextcloud, napraw usługę systemd i timer oraz zweryfikuj, czy zadania w tle są uruchamiane po uruchomieniu i co pięć minut.
Włącz niezawodne blokowanie plików Nextcloud, wybierz odpowiedni serwer Redis lub Valkey i sprawdź, czy ostrzeżenie zostanie usunięte bez ryzyka równoczesnych zmian w plikach.
Napraw typowe błędy skanowania Nextcloud dzięki bieżącym aktualizacjom, protokołom HTTPS i HSTS, precyzyjnemu zaufaniu do odwrotnego serwera proxy i sprawdzeniu względem serwera publicznego.
Skonfiguruj Nextcloud SSE dla pamięci masowej, która tego wymaga, chroń klucze szyfrujące i zmierz wpływ transferu i procesora przed zaszyfrowaniem istniejących plików.
Połącz wyszukiwarkę plików Nextcloud z Elasticsearch, zindeksuj zawartość dokumentów i wybierz konfigurację odpowiadającą Twoim potrzebom w zakresie serwera i bezpieczeństwa.
Skonfiguruj Nextcloud tak, aby usuwał usunięte pliki po upływie określonego czasu przechowywania, niezawodnie planował zadania w tle i unikał poleceń, które usuwają śmieci każdego użytkownika.
Wykonaj bezpieczną naprawę OCC w Nextcloud, przejrzyj zmiany w bazie danych i sprawdź, dlaczego ostrzeżenie może nadal się pojawiać.
Zezwól na przesyłanie większych plików przez przeglądarkę Nextcloud, dostosowując ustawienia PHP, Nginx lub Apache, tymczasowego miejsca przechowywania i limitu czasu — i sprawdź, który limit blokuje plik.