Nextcloud/occ
occ - Befehlszeilenschnittstelle für Nextcloud
Beschreibung
Der Befehl occ von Nextcloud (ursprünglich „ownCloud Console“) ist die Befehlszeilenschnittstelle von Nextcloud. Mit occ können Sie viele gängige Serveroperationen ausführen, z. B. Nextcloud installieren und aktualisieren, Benutzer verwalten, Verschlüsselung, Passwörter, LDAP-Einstellungen und vieles mehr.
occ befindet sich im Verzeichnis nextcloud/, z. B. /var/www/nextcloud unter Ubuntu Linux. occ ist ein PHP-Skript. 'Sie müssen es als Ihr HTTP-Benutzer ausführen, um sicherzustellen, dass die korrekten Berechtigungen für Ihre Nextcloud-Dateien und -Verzeichnisse beibehalten werden.
occ ausführen
Führen Sie occ als Ihren HTTP-Benutzer aus
- Der HTTP-Benutzer ist bei den verschiedenen Linux-Distributionen unterschiedlich
- Der HTTP-Benutzer und die HTTP-Gruppe in Debian/Ubuntu ist www-data.
- Der HTTP-Benutzer und die HTTP-Gruppe in Fedora/CentOS ist apache.
- Der HTTP-Benutzer und die HTTP-Gruppe in Arch Linux ist http.
- Der HTTP-Benutzer in openSUSE ist wwwrun und die HTTP-Gruppe ist www.
Wenn Ihr HTTP-Server für die Verwendung einer anderen PHP-Version als der Standardversion (/usr/bin/php) konfiguriert ist, sollte occ mit derselben Version ausgeführt werden. In CentOS 6.5 mit installiertem SCL-PHP70 sieht der Befehl beispielsweise wie folgt aus:
sudo -u apache /opt/rh/php70/root/usr/bin/php /var/www/html/nextcloud/occ
- Hinweis
Obwohl in den folgenden Beispielen die Methode sudo -u ... /path/to/php /path/to/occ verwendet wird, kann es sein, dass in Ihrer Umgebung ein anderes Wrapper-Dienstprogramm als sudo erforderlich ist, um den Befehl als entsprechender Benutzer auszuführen. Andere gängige Wrapper: su --command '/path/to/php ...' username – Beachten Sie, dass die Angabe des Zielbenutzers am Ende steht und der auszuführende Befehl zuerst angegeben wird.
runuser --user username -- /path/to/php ... – Dieser Wrapper kann in Container-Kontexten (z. B. Docker / arm32v7/nextcloud) verwendet werden, in denen weder sudo- noch su-Wrapper-Dienstprogramme verwendet werden können.
Wenn occ ohne Optionen ausgeführt wird, werden alle Befehle und Optionen aufgelistet, wie in diesem Beispiel unter Ubuntu:
sudo -u www-data php occ Nextcloud Version 19.0.0
- Verwendung
Befehl [Optionen] [Argumente]
- Optionen
-h, --help Zeigt diese Hilfe an -q, --quiet Gibt keine Meldung aus -V, --version Zeigt diese Anwendungsversion an --ansi ANSI-Ausgabe erzwingen --no-ansi ANSI-Ausgabe deaktivieren -n, --no-interaction Keine interaktiven Fragen stellen --no-warnings Globale Warnungen überspringen, nur Befehlsausgabe anzeigen -v|vv|vvv, --verbose Ausführlichkeit der Meldungen erhöhen: 1 für normale Ausgabe, 2 für ausführlichere Ausgabe und 3 für Debugging
- Verfügbare Befehle
check Abhängigkeiten der Serverumgebung prüfen
- environment
help Zeigt Hilfe für einen Befehl an list Befehle auflisten status Zeigt einige Statusinformationen an upgrade Upgrade-Routinen nach der Installation einer neuen Version ausführen. Die Version muss zuvor installiert werden.
Dies ist dasselbe wie sudo -u www-data php occ list.
Führen Sie es mit der Option -h für Syntaxhilfe aus:
sudo -u www-data php occ -h
Zeigen Sie Ihre Nextcloud-Version an:
sudo -u www-data php occ -V Nextcloud-Version 19.0.0
Abfrage des Status Ihres Nextcloud-Servers:
sudo -u www-data php occ status - installed: true - version: 19.0.0.12 - versionstring: 19.0.0 - edition:
occ hat Optionen, Befehle und Argumente. Optionen und Argumente sind optional, während Befehle erforderlich sind. Die Syntax lautet: occ [options] command [arguments]
Detaillierte Informationen zu einzelnen Befehlen erhalten Sie mit dem Befehl help, wie in diesem Beispiel für den Befehl maintenance:mode:
sudo -u www-data php occ help maintenance:mode
Verwendung:
maintenance:mode [Optionen]
- Optionen
--on Aktiviert den Wartungsmodus --off Deaktiviert den Wartungsmodus -h, --help Zeigt diese Hilfe an -q, --quiet Gibt keine Meldung aus -V, --version Zeigt die Anwendungsversion an --ansi Erzwingt eine ANSI-Ausgabe --no-ansi Deaktiviert die ANSI-Ausgabe -n, --no-interaction Stellt keine interaktiven Fragen --no-warnings Überspringt globale Warnungen und zeigt nur die Befehlsausgabe an -v|vv|vvv, --verbose Erhöht die Ausführlichkeit der Meldungen: 1 für normale Ausgabe, 2 für ausführlichere Ausgabe und 3 für Debugging
Der oben genannte Befehl status verfügt über eine Option zur Definition des Ausgabeformats. Standardmäßig wird Klartext verwendet, es kann jedoch auch json sein:
sudo -u www-data php occ status --output=json {„installed“:true,„version“:„19.0.0.9“,„versionstring“:„19.0.0“,„edition“:„“}
oder json_pretty
sudo -u www-data php occ status --output=json_pretty { „installed“: true, „version“: „19.0.0.12“, „versionstring“: „19.0.0“, „edition“: „“ }
Diese Ausgabeoption ist für alle Befehle für Listen und listenähnliche Befehle verfügbar: status, check, app:list, config:list, encryption:status und encryption:list-modules
Autovervollständigung
Autovervollständigung aktivieren
- Hinweis
- Die Befehlsautovervollständigung funktioniert derzeit nur, wenn der Benutzer, mit dem Sie die occ-Befehle ausführen, über ein Profil verfügt. www-data ist in den meisten Fällen nologon und kann diese Funktion daher nicht verwenden.
Die Autovervollständigung ist für bash (und bash-basierte Konsolen) verfügbar. Um sie zu aktivieren, müssen Sie „einen“ der folgenden Befehle ausführen:
- BASH ~4.x, ZSH
source <(/var/www/html/nextcloud/occ _completion --generate-hook)
- BASH ~3.x, ZSH
/var/www/html/nextcloud/occ _completion --generate-hook | source /dev/stdin
- BASH (jede Version)
eval $(/var/www/html/nextcloud/occ _completion --generate-hook)
Dadurch können Sie die Autovervollständigung mit dem vollständigen Pfad /var/www/html/nextcloud/occ <tab> verwenden.
Wenn Sie die Autovervollständigung für occ auch innerhalb des Verzeichnisses ohne Verwendung des vollständigen Pfads verwenden möchten, müssen Sie --program occ nach --generate-hook angeben.
Wenn Sie möchten, dass die Vervollständigung automatisch für alle neuen Shell-Sitzungen gilt, fügen Sie den Befehl zu Ihrem Shell-Profil hinzu (z. B. ~/.bash_profile oder ~/.zshrc).
Apps-Befehle
Die App-Befehle listen, aktivieren und deaktivieren Apps:
app app:install install selected app app:disable disable an app app:enable enable an app app:getpath get an absolute path to the app directory app:list list all available apps app:update update an app or all apps app:remove disable and remove an app
Download and install an app:
sudo -u www-data php occ app:install twofactor_totp
Install but don't enable:
sudo -u www-data php occ app:install --keep-disabled twofactor_totp
Alle installierten Apps auflisten und anzeigen, ob sie aktiviert oder deaktiviert sind:
sudo -u www-data php occ app:list
Eine App aktivieren, z. B. die App „External Storage Support“:
sudo -u www-data php occ app:enable files_external files_external enabled
Eine App deaktivieren:
sudo -u www-data php occ app:disable files_external files_external disabled
Sie können den vollständigen Dateipfad zu einer App abrufen:
sudo -u www-data php occ app:getpath notifications /var/www/nextcloud/apps/notifications
So aktualisieren Sie eine App, z. B. „Kontakte“:
sudo -u www-data php occ app:update contacts
So aktualisieren Sie alle Apps:
sudo -u www-data php occ app:update --all
Auswahl der Hintergrundjobs
Verwenden Sie den Befehl background, um auszuwählen, welchen Scheduler Sie zur Steuerung von Hintergrundjobs verwenden möchten, Ajax, Webcron oder Cron. Dies entspricht der Verwendung des Abschnitts „Cron“ auf Ihrer Nextcloud-Administrationsseite:
background background:ajax Verwenden Sie ajax, um Hintergrundaufträge auszuführen background:cron Verwenden Sie cron, um Hintergrundaufträge auszuführen background:webcron Verwenden Sie webcron, um Hintergrundaufträge auszuführen
In diesem Beispiel wird Ajax ausgewählt:
sudo -u www-data php occ background:ajax Stellen Sie den Modus für Hintergrundaufträge auf „ajax“ ein
Die anderen beiden Befehle lauten:
- background:cron
- background:webcron
Weitere Informationen finden Sie unter Hintergrundjobs.
Config-Befehle
Die config-Befehle werden zur Konfiguration des Nextcloud-Servers verwendet:
config
config:app:delete Löscht einen App-Konfigurationswert config:app:get Ruft einen App-Konfigurationswert ab config:app:set Legt einen App-Konfigurationswert fest config:import Importiert eine Liste von Konfigurationen config:list Listet alle Konfigurationen auf config:system:delete Löscht einen Systemkonfigurationswert config:system:get Ruft einen Systemkonfigurationswert ab config:system:set Legt einen Systemkonfigurationswert fest
Sie können alle Konfigurationswerte mit einem einzigen Befehl auflisten: sudo -u www-data php occ config:list
Standardmäßig werden Passwörter und andere sensible Daten im Bericht ausgelassen, sodass die Ausgabe öffentlich gepostet werden kann (z. B. als Teil eines Fehlerberichts). Um einen vollständigen Backport aller Konfigurationswerte zu erstellen, muss das Flag --private gesetzt werden:
sudo -u www-data php occ config:list --private
Der exportierte Inhalt kann auch wieder importiert werden, um die schnelle Einrichtung ähnlicher Instanzen zu ermöglichen. Der Importbefehl fügt nur Werte hinzu oder aktualisiert sie. Werte, die in der aktuellen Konfiguration vorhanden sind, aber nicht in der importierten, bleiben unverändert: sudo -u www-data php occ config:import filename.json
Es ist auch möglich, Remote-Dateien zu importieren, indem die Eingabe weitergeleitet wird: sudo -u www-data php occ config:import <local-backup.json
- Hinweis
Obwohl es möglich ist, die Versionen und Installationsstatus von Anwendungen und Nextcloud selbst zu aktualisieren/festzulegen/zu löschen, wird davon abgeraten, dies direkt zu tun. Verwenden Sie stattdessen die Befehle occ app:enable, occ app:disable und occ app:update.
=== Abrufen eines einzelnen Konfigurationswerts Diese Befehle rufen den Wert einer einzelnen App- oder Systemkonfiguration ab: sudo -u www-data php occ config:system:get version 19.0.0.12
sudo -u www-data php occ config:app:get activity installed_version 2.2.1
Einen einzelnen Konfigurationswert festlegen
Diese Befehle legen den Wert einer einzelnen App- oder Systemkonfiguration fest: sudo -u www-data php occ config:system:set logtimezone --value=„Europe/Berlin“ Systemkonfigurationswert logtimezone auf Europe/Berlin festgelegt
sudo -u www-data php occ config:app:set files_sharing incoming_server2server_share_enabled --value=„yes“ Der Konfigurationswert incoming_server2server_share_enabled für die App files_sharing wird auf yes gesetzt
Der Befehl config:system:set erstellt den Wert, falls er noch nicht vorhanden ist. Um einen vorhandenen Wert zu aktualisieren, setzen Sie --update-only:
sudo -u www-data php occ config:system:set doesnotexist --value=„true“ --type=boolean --update-only Wert nicht aktualisiert, da er zuvor nicht festgelegt wurde.
Beachten Sie, dass Sie den Typ in Ihrem Befehl angeben müssen, um einen booleschen, Gleitkomma- oder Ganzzahlwert in die Konfigurationsdatei zu schreiben. Dies gilt nur für den Befehl config:system:set.
Die folgenden Werte sind bekannt:
- boolean
- integer
- float
- string (Standard)
Wenn Sie z. B. den Wartungsmodus deaktivieren möchten, führen Sie den folgenden Befehl aus: sudo -u www-data php occ config:system:set maintenance --value=false --type=boolean Nextcloud befindet sich im Wartungsmodus – es wurde keine App geladen Systemkonfigurationswert „maintenance“ auf „boolean false“ gesetzt
Einen Array-Konfigurationswert festlegen
Einige Konfigurationen (z. B. die Einstellung für vertrauenswürdige Domänen) sind ein Datenarray. In diesem Fall gibt config:system:get für diesen Schlüssel mehrere Werte zurück: sudo -u www-data php occ config:system:get trusted_domains localhost nextcloud.local sample.tld
Um einen von mehreren Werten festzulegen, müssen Sie den Array-Index als zweiten Namen im Befehl config:system:set, getrennt durch ein Leerzeichen, angeben. Um beispielsweise sample.tld durch example.com zu ersetzen, muss trusted_domains => 2 festgelegt werden:
sudo -u www-data php occ config:system:set trusted_domains 2 --value=example.com Systemkonfigurationswert trusted_domains => 2 auf Zeichenfolge example.com gesetzt
sudo -u www-data php occ config:system:get trusted_domains localhost nextcloud.local example.com
Einen hierarchischen Konfigurationswert festlegen
Einige Konfigurationen verwenden hierarchische Daten. Die Einstellungen für den Redis-Cache würden beispielsweise in der Datei config.php wie folgt aussehen:
'redis' => array( 'host' => '/var/run/redis/redis.sock', 'port' => 0, 'dbindex' => 0, 'password' => 'secret', 'timeout' => 1.5, )
Das Festlegen solcher hierarchischer Werte funktioniert ähnlich wie das Festlegen eines Array-Werts oben. Verwenden Sie für dieses Redis-Beispiel die folgenden Befehle:
sudo -u www-data php occ config:system:set redis host --value=/var/run/redis/redis.sock sudo -u www-data php occ config:system:set redis port --value=0 sudo -u www-data php occ config:system:set redis dbindex --value=0 sudo -u www-data php occ config:system:set redis password --value=secret sudo -u www-data php occ config:system:set redis timeout --value=1.5
Löschen eines einzelnen Konfigurationswerts
Diese Befehle löschen die Konfiguration einer App oder Systemkonfiguration: sudo -u www-data php occ config:system:delete maintenance:mode Systemkonfigurationswert maintenance:mode gelöscht
sudo -u www-data php occ config:app:delete appname provisioning_api Konfigurationswert provisioning_api von App appname gelöscht
Der Löschbefehl gibt standardmäßig keine Fehlermeldung aus, wenn die Konfiguration zuvor nicht festgelegt wurde. Wenn Sie in diesem Fall benachrichtigt werden möchten, setzen Sie das Flag --error-if-not-exists: sudo -u www-data php occ config:system:delete doesnotexist --error-if-not-exists Die Konfiguration provisioning_api der App appname konnte nicht gelöscht werden, da sie nicht vorhanden war
Dav-Befehle
Eine Reihe von Befehlen zum Erstellen und Verwalten von Adressbüchern und Kalendern:
dav dav:create-addressbook Erstellen eines dav-Adressbuchs dav:create-calendar Erstellen eines dav-Kalenders dav:delete-calendar Löschen eines dav-Kalenders dav:list-calendars Auflisten aller Kalender eines Benutzers dav:move-calendar Verschieben eines Kalenders von einem Benutzer zu einem anderen dav:remove-invalid-shares Entfernen ungültiger dav-Freigaben dav:send-event-reminders Senden von Terminerinnerungen dav:sync-birthday-calendar Synchronisieren des Geburtstagskalenders dav:sync-system-addressbook Synchronisieren von Benutzern mit dem Systemadressbuch
Die Syntax für dav:create-addressbook und dav:create-calendar lautet dav:create-addressbook [Benutzer] [Name]. In diesem Beispiel wird das Adressbuch mollybook für den Benutzer molly erstellt:
sudo -u www-data php occ dav:create-addressbook molly mollybook
In diesem Beispiel wird ein neuer Kalender für molly erstellt:
sudo -u www-data php occ dav:create-calendar molly mollycal
Molly sieht diese sofort in den Kalender- und Kontakt-Apps.
dav:delete-calendar [--birthday] [-f|--force] <uid> [<name>] löscht den Kalender mit dem Namen name (oder den Geburtstagskalender, wenn --birthday angegeben ist) des Benutzers uid. Mit der Force-Option -f oder --force können Sie den Kalender löschen, anstatt ihn in den Papierkorb zu verschieben.
Mit diesem Beispiel wird der Kalender mollycal des Benutzers molly gelöscht:
sudo -u www-data php occ dav:delete-calendar molly mollycal
Mit diesem Beispiel wird der Geburtstagskalender des Benutzers molly gelöscht:
sudo -u www-data php occ dav:delete-calendar --birthday molly
dav:lists-calendars [user] zeigt eine Tabelle mit den Kalendern eines bestimmten Benutzers an. Dieses Beispiel listet alle Kalender für den Benutzer annie auf:
sudo -u www-data php occ dav:list-calendars annie
dav::move-calendar [name] [sourceuid] [destinationuid] ermöglicht es dem Administrator, einen Kalender mit dem Namen name von einem Benutzer sourceuid zu einem Benutzer destinationuid zu verschieben. Sie können die Force-Option „-f“ verwenden, um die Verschiebung zu erzwingen, wenn Konflikte mit vorhandenen Freigaben auftreten. Das System generiert außerdem einen neuen eindeutigen Kalendernamen, falls es einen Konflikt mit dem Zielbenutzer gibt.
In diesem Beispiel wird der Kalender mit dem Namen „personal“ von Benutzer „dennis“ zu Benutzer „sabine“ verschoben:
sudo -u www-data php occ dav:move-calendar personal dennis sabine
dav:remove-invalid-shares entfernt ungültige Freigaben, die durch einen Fehler in der Kalender-App erstellt wurden
dav:send-event-reminders ist ein Befehl, der regelmäßig über einen dedizierten Cron-Job aufgerufen werden sollte, um Erinnerungen an Ereignisse zu senden.
Weitere Informationen zur Verwendung dieses Befehls finden Sie unter Calendar / CalDAV.
dav:sync-birthday-calendar fügt alle Geburtstage aus den für Sie freigegebenen Adressbüchern zu Ihrem Kalender hinzu. In diesem Beispiel wird eine Synchronisierung mit Ihrem Kalender von Benutzer bernie durchgeführt:
sudo -u www-data php occ dav:sync-birthday-calendar bernie
dav:sync-system-addressbook synchronisiert alle Benutzer mit dem Systemadressbuch:
sudo -u www-data php occ dav:sync-system-addressbook
Datenbankkonvertierung
Die SQLite-Datenbank eignet sich gut für Tests und für Nextcloud-Server mit kleinen Einzelbenutzer-Arbeitslasten, die keine Synchronisierungs-Clients verwenden. Produktionsserver mit mehreren Benutzern sollten jedoch MariaDB, MySQL oder PostgreSQL verwenden. Sie können occ verwenden, um von SQLite in eine dieser anderen Datenbanken zu konvertieren.
db db:convert-type Konvertieren Sie die Nextcloud-Datenbank in die neu konfigurierte db:generate-change-script generiert das Änderungsskript von der aktuell verbundenen Datenbank zu db_structure.xml
Sie benötigen: * Ihre gewünschte Datenbank und ihren PHP-Connector installiert.
- Die Anmeldedaten eines Datenbankadministrators.
- Die Portnummer der Datenbank, wenn es sich um einen Nicht-Standard-Port handelt.
Dies ist ein Beispiel für die Konvertierung von SQLite in MySQL/MariaDB:
sudo -u www-data php occ db:convert-type mysql oc_dbuser 127.0.0.1 oc_database
Eine ausführlichere Erklärung finden Sie unter Converting database type
Fehlende Indizes hinzufügen
Es kann vorkommen, dass wir von Zeit zu Zeit neue Indizes zu bereits vorhandenen Datenbanktabellen hinzufügen, beispielsweise um die Leistung zu verbessern. Um Ihre Datenbank auf fehlende Indizes zu überprüfen, führen Sie den folgenden Befehl aus:
sudo -u www-data php occ db:add-missing-indices
Verschlüsselung
occ enthält einen vollständigen Befehlssatz zur Verwaltung der Verschlüsselung:
Verschlüsselung Verschlüsselung: Änderung des Schlüsselspeicher-Stamms Änderung des Schlüsselspeicher-Stamms Verschlüsselung: Alles entschlüsseln Deaktivieren der serverseitigen Verschlüsselung und Entschlüsseln aller Dateien Verschlüsselung: Deaktivieren Deaktivieren der Verschlüsselung Verschlüsselung: Aktivieren Aktivieren der Verschlüsselung Verschlüsselung: Aktivieren des Hauptschlüssels Aktivieren des Hauptschlüssels. Nur verfügbar bei Neuinstallationen ohne vorhandene verschlüsselte Daten! Es gibt auch keine Möglichkeit, sie wieder zu deaktivieren. encryption:encrypt-all Alle Dateien für alle Benutzer verschlüsseln encryption:list-modules Alle verfügbaren Verschlüsselungsmodule auflisten encryption:set-default-module Das Standard-Verschlüsselungsmodul festlegen encryption:show-key-storage-root Den aktuellen Schlüsselspeicherort anzeigen encryption:status Zeigt den aktuellen Status der Verschlüsselung an
encryption:status zeigt an, ob Sie über eine aktive Verschlüsselung verfügen und welches Ihr Standard-Verschlüsselungsmodul ist. Um die Verschlüsselung zu aktivieren, müssen Sie zunächst die Verschlüsselungs-App aktivieren und dann encryption:enable ausführen:
sudo -u www-data php occ app:enable encryption sudo -u www-data php occ encryption:enable sudo -u www-data php occ encryption:status - enabled: true - defaultModule: OC_DEFAULT_MODULE
encryption:change-key-storage-root dient dazu, Ihre Verschlüsselungsschlüssel in einen anderen Ordner zu verschieben. Es wird ein Argument, newRoot, benötigt, das Ihren neuen Stammordner definiert:
sudo -u www-data php occ encryption:change-key-storage-root /etc/oc-keys
Sie können den aktuellen Speicherort Ihres Schlüsselordners anzeigen:
sudo -u www-data php occ encryption:show-key-storage-root Current key storage root: default storage location (data/)
encryption:list-modules zeigt Ihre verfügbaren Verschlüsselungsmodule an. Sie sehen nur dann eine Liste der Module, wenn Sie die Verschlüsselungs-App aktiviert haben. Verwenden Sie encryption:set-default-module [Modulname], um das gewünschte Modul festzulegen.
encryption:encrypt-all verschlüsselt alle Datendateien für alle Benutzer. Sie müssen Ihren Nextcloud-Server zunächst in den Wartungsmodus versetzen, um jegliche Benutzeraktivität zu verhindern, bis die Verschlüsselung abgeschlossen ist.
encryption:decrypt-all entschlüsselt alle Benutzerdatendateien oder optional einen einzelnen Benutzer:
sudo -u www-data php occ encryption:decrypt freda
Benutzer müssen Wiederherstellungsschlüssel auf ihren persönlichen Seiten aktiviert haben. Sie müssen Ihren Nextcloud-Server zunächst in den Wartungsmodus versetzen, um jegliche Benutzeraktivität zu verhindern, bis die Entschlüsselung abgeschlossen ist.
Beachten Sie, dass Sie, wenn Sie den Hauptschlüssel/Wiederherstellungsschlüssel nicht aktiviert haben, Dateien NUR pro Benutzer entschlüsseln können, und zwar jeweils nur für einen Benutzer und NICHT im Wartungsmodus. Sie benötigen das Passwort des Benutzers, um die Dateien zu entschlüsseln.
Verwenden Sie encryption:disable, um Ihr Verschlüsselungsmodul zu deaktivieren. Sie müssen Ihren Nextcloud-Server zunächst in den Wartungsmodus versetzen, um jegliche Benutzeraktivität zu verhindern.
encryption:enable-master-key erstellt einen neuen Hauptschlüssel, der für alle Benutzerdaten anstelle einzelner Benutzerschlüssel verwendet wird. Dies ist besonders nützlich, um Single-Sign-On zu aktivieren. Verwenden Sie dies nur bei Neuinstallationen ohne vorhandene Daten oder auf Systemen, auf denen die Verschlüsselung noch nicht aktiviert wurde. Es ist nicht möglich, sie zu deaktivieren.
Weitere Informationen finden Sie unter Verschlüsselungskonfiguration.
Federation-Synchronisierung
Hinweis
Dieser Befehl ist nur verfügbar, wenn die „Federation“-App (federation) aktiviert ist.
Synchronisieren Sie die Adressbücher aller verbundenen Nextcloud-Server:
federation:sync-addressbooks Synchronisiert die Adressbücher aller verbundenen Clouds
In Nextcloud können Server, die mit Verbundfreigaben verbunden sind, Benutzeradressbücher freigeben und Benutzernamen in Freigabedialogen automatisch vervollständigen. Verwenden Sie diesen Befehl, um Verbundserver zu synchronisieren:
sudo -u www-data php occ federation:sync-addressbooks
Dateivorgänge
occ verfügt über drei Befehle zum Verwalten von Dateien in Nextcloud:
files files:cleanup cleanup filecache files:scan rescan filesystem files:scan-app-data rescan the AppData folder files:transfer-ownership All files' and folders' ownerships are moved to another user. Outgoing shares are moved as well. Incoming shares are not moved by default because the sharing user holds the ownership of the respective files. There is however an option to enable moving incoming shares.
Scan
Der Befehl files:scan sucht nach neuen Dateien und aktualisiert den Dateicache. Sie können alle Dateien, pro Benutzer oder eine durch Leerzeichen getrennte Liste von Benutzern erneut scannen und den Suchpfad einschränken. Wenn Sie --quiet nicht verwenden, werden am Ende des Scans Statistiken angezeigt:
sudo -u www-data php occ files:scan --help Beschreibung: Dateisystem erneut scannen
Verwendung: files:scan [Optionen] [--] [<user_id>...]
Argumente: user_id scannt alle Dateien des/der angegebenen Benutzer(s) erneut
Optionen: --output[=OUTPUT] Ausgabeformat (plain, json oder json_pretty, Standard ist „plain“) [Standard: „plain“] -p, --path=PFAD beschränkt die erneute Überprüfung auf diesen Pfad, z. B. --path=„/alice/files/Music“, die Benutzer-ID wird durch den Pfad bestimmt und der Parameter user_id und --all werden ignoriert --generate-metadata Generiert Metadaten für alle gescannten Dateien --all scannt alle Dateien aller bekannten Benutzer erneut --unscanned scannt nur Dateien, die als nicht vollständig gescannt markiert sind --shallow scannt Ordner nicht rekursiv --home-only scannt nur den Home-Speicher und ignoriert alle eingebundenen externen Speicher oder Freigaben -h, --help Zeigt Hilfe für den angegebenen Befehl an. Wenn kein Befehl angegeben ist, wird Hilfe für den Befehl list angezeigt -q, --quiet Gibt keine Meldung aus -V, --version Zeigt die Versionsnummer der Anwendung an --ansi|--no-ansi Erzwingt (oder deaktiviert --no-ansi) die ANSI-Ausgabe -n, --no-interaction Keine interaktiven Fragen stellen --no-warnings Überspringt globale Warnungen und zeigt nur die Befehlsausgabe an -v|vv|vvv, --verbose Erhöht die Ausführlichkeit der Meldungen: 1 für normale Ausgabe, 2 für ausführlichere Ausgabe und 3 für Debug-Ausgabe
Die Ausführlichkeitsstufen von -vv oder -vvv werden automatisch auf -v zurückgesetzt
Hinweis zur Option --unscanned: Im Allgemeinen gibt es einen Hintergrundjob (über cron), der diese Überprüfung regelmäßig durchführt. Die Option --unscanned ermöglicht es, dies über die Befehlszeile auszulösen.
Bei Verwendung der Option --path muss der Pfad aus folgenden Komponenten bestehen:
„user_id/files/path„ oder “user_id/files/mount_name„ oder “user_id/files/mount_name/path„
wobei der Begriff “files„ obligatorisch ist.
Beispiel:
--path=“/alice/files/Music“
Im obigen Beispiel wird die Benutzer-ID alice implizit aus der angegebenen Pfadkomponente bestimmt.
Die Parameter --path, --all und [user_id] schließen sich gegenseitig aus – es darf nur einer angegeben werden.
Scan appdata
Appdata ist ein Ordner innerhalb des Datenverzeichnisses, der Dateien enthält, die von mehreren Benutzern gemeinsam genutzt werden und vom Server oder von Apps dort abgelegt werden können, z. B. Avatar-Bilder, Dateivorschauen und zwischengespeicherte CSS-Dateien.
Da der reguläre Dateiscan nur auf Benutzerdateien angewendet wird, überprüft der Befehl occ files:scan-app-data das Appdata-Verzeichnis und stellt sicher, dass der Dateicache mit den Dateien auf dem tatsächlichen Speicher übereinstimmt:
Verwendung: files:scan-app-data [options] [--] [<folder>]
Argumente: folder Der zu scannende Appdata-Unterordner [Standard: „“]
Bereinigung
files:cleanup bereinigt den Dateicache des Servers, indem alle Dateieinträge gelöscht werden, die keine übereinstimmenden Einträge in der Speichertabelle haben.
Übertragung
Der Befehl occ files:transfer-ownership kann verwendet werden, um Dateien von einem Benutzer auf einen anderen zu übertragen:
Verwendung: files:transfer-ownership [Optionen] [--] <Quellbenutzer> <Zielbenutzer>
Argumente: Quellbenutzer, der Eigentümer der zu verschiebenden Dateien ist Zielbenutzer, der der neue Eigentümer der Dateien sein wird
Optionen: --path=PFAD gibt selektiv den zu übertragenden Pfad an. Zum Beispiel --path=„Ordnername“ [Standard: „“] --move verschiebt Daten vom Quellbenutzer in das Stammverzeichnis des Zielbenutzers, das leer sein muss --transfer-incoming-shares[=TRANSFER-INCOMING-SHARES] überträgt eingehende Benutzer-Dateifreigaben an den Zielbenutzer. Verwendung: --transfer-incoming-shares=1 (Wert erforderlich) [Standard: „2“]
Sie können alle Dateien und Freigaben von einem Benutzer auf einen anderen übertragen. Dies ist nützlich, bevor ein Benutzer entfernt wird:
sudo -u www-data php occ files:transfer-ownership <source-user> <destination-user>
Die übertragenen Dateien werden in einem neuen Unterverzeichnis im Home-Verzeichnis des Zielbenutzers angezeigt.
Wenn der Zielbenutzer überhaupt keine Dateien hat (leeres Home-Verzeichnis), können auch alle Dateien des Quellbenutzers übertragen werden, indem --move: übergeben wird:
sudo -u www-data php occ files:transfer-ownership --move <source-user> <destination-user>
In diesem Fall wird kein Unterverzeichnis erstellt und alle Dateien werden direkt im Stammverzeichnis des Home-Verzeichnisses des Benutzers angezeigt.
Es ist auch möglich, nur ein Verzeichnis mit seinem Inhalt zu übertragen. Dies kann nützlich sein, um Ihre Organisation oder Quoten neu zu strukturieren. Das Argument --path wird als Pfad zum Verzeichnis angegeben, wie es vom Quellbenutzer aus gesehen wird:
sudo -u www-data php occ files:transfer-ownership --path=„path_to_dir“ <source-user> <destination-user>
Falls die eingehenden Freigaben ebenfalls übertragen werden müssen, verwenden Sie das Argument --transfer-incoming-shares mit 0 oder 1 als Parameter
sudo -u www-data php occ files:transfer-ownership --transfer-incoming-shares=1 --path=„path_to_dir“ <source-user> <destination-user>
Als Alternative kann die Systemkonfigurationsoption transferIncomingShares in config.php auf true gesetzt werden, um eingehende Freigaben immer zu übertragen.
Die Befehlszeilenoption --transfer-incoming-shares überschreibt die config.php-Option transferIncomingShares. Beispielsweise kann 'transferIncomingShares => true überschrieben werden durch:
sudo -u www-data php occ files:transfer-ownership --transfer-incoming-shares=0 <source-user> <destination-user>
Benutzer können Dateien oder Ordner auch selektiv selbst übertragen. Weitere Informationen finden Sie unter Benutzerdokumentation.
Dateifreigabe
Befehle zur Handhabung von Freigaben:
sharing sharing:cleanup-remote-storages Bereinigen Sie Einträge für gemeinsam genutzten Speicher, für die es keinen passenden Eintrag in der Tabelle „shares_external“ gibt sharing:expiration-notification Benachrichtigen Sie die Initiatoren von Freigaben, wenn eine Freigabe am nächsten Tag abläuft
Dateien extern
Hinweis
Diese Befehle sind nur verfügbar, wenn die App „Externe Speicherunterstützung“ (files_external) aktiviert ist.
Befehle zur Verwaltung des externen Speichers:
files_external files_external:applicable Verwalten anwendbarer Benutzer und Gruppen für eine Verbindung files_external:backends Verfügbare Authentifizierungs- und Speicher-Backends anzeigen files_external:config Verwalten der Backend-Konfiguration für eine Verbindung files_external:create Erstellen einer neuen Verbindungskonfiguration files_external:delete Löschen einer externen Verbindung files_external:export Exportieren von Verbindungskonfigurationen files_external:import Importieren von Verbindungskonfigurationen files_external:list Auflisten konfigurierter Verbindungen files_external:option Mount-Optionen für einen Mount verwalten files_external:verify Mount-Konfiguration überprüfen files_external:notify Auf aktive Update-Benachrichtigungen für einen konfigurierten externen Mount warten
Diese Befehle replizieren die Funktionalität in der Nextcloud-Web-GUI sowie zwei neue Funktionen: files_external:export und files_external:import.
Verwenden Sie files_external:export, um alle Admin-Mounts nach stdout zu exportieren, und files_external:export [user_id], um die Mounts des angegebenen Nextcloud-Benutzers zu exportieren.
Verwenden Sie files_external:import [filename], um ältere JSON-Konfigurationen zu importieren und externe Mount-Konfigurationen auf einen anderen Nextcloud-Server zu kopieren.
Integritätsprüfung
Apps, die mit dem Tag „Featured“ versehen sind, MÜSSEN mit Nextcloud signiert sein. Nicht signierte „Featured“-Apps können nicht mehr installiert werden. Die Signierung des Codes ist für alle Drittanbieter-Apps optional:
Integrität integrity:check-app Überprüfen Sie die Integrität der App mithilfe einer Signatur. integrity:check-core Überprüfen Sie die Kernintegrität mithilfe einer Signatur. integrity:sign-app Signiert eine App mithilfe eines privaten Schlüssels. integrity:sign-core Signiert den Kern mithilfe eines privaten Schlüssels
Nachdem Sie Ihren Signaturschlüssel erstellt haben, signieren Sie Ihre App wie in diesem Beispiel:
sudo -u www-data php occ integrity:sign-app --privateKey=/Users/lukasreschke/contacts.key --certificate=/Users/lukasreschke/CA/contacts.crt --path=/Users/lukasreschke/Programming/contacts
Überprüfen Sie Ihre App:
sudo -u www-data php occ integrity:check-app --path=/pathto/app appname
Wenn nichts zurückgegeben wird, ist Ihre App korrekt signiert. Wenn eine Meldung zurückgegeben wird, liegt ein Fehler vor. Weitere Informationen finden Sie unter Code Signing im Entwicklerhandbuch.
integrity:sign-core ist nur für Nextcloud-Kernentwickler gedacht.
Weitere Informationen finden Sie unter Code Signing.
LDAP-Befehle
Hinweis
Diese Befehle sind nur verfügbar, wenn die App „LDAP-Benutzer- und Gruppen-Backend“ (user_ldap) aktiviert ist.
Diese LDAP-Befehle werden nur angezeigt, wenn Sie die LDAP-App aktiviert haben. Dann können Sie die folgenden LDAP-Befehle mit occ ausführen:
ldap ldap:check-user prüft, ob ein Benutzer in LDAP vorhanden ist. ldap:create-empty-config erstellt eine leere LDAP-Konfiguration ldap:delete-config löscht eine vorhandene LDAP-Konfiguration ldap:search führt eine Benutzer- oder Gruppensuche durch ldap:set-config ändert eine LDAP-Konfiguration ldap:show-config zeigt die LDAP-Konfiguration an ldap:show-remnants zeigt an, welche Benutzer nicht mehr in LDAP verfügbar sind,
aber Reste in
Nextcloud haben. ldap:test-config testet eine LDAP-Konfiguration
Suchen Sie nach einem LDAP-Benutzer mit folgender Syntax:
sudo -u www-data php occ ldap:search [--group] [--offset=„...“] [--limit=„...“] search
Suchanfragen stimmen nur am Anfang des Attributwerts überein. In diesem Beispiel wird nach Vornamen gesucht, die mit „rob“ beginnen:
sudo -u www-data php occ ldap:search „rob“
Dadurch werden robbie, roberta und robin gefunden. Erweitern Sie die Suche, um beispielsweise jeroboam mit dem Sternchen-Platzhalter zu finden:
sudo -u www-data php occ ldap:search „*rob“
Benutzersuchattribute werden mit ldap:set-config (siehe unten) festgelegt. Wenn Ihre Suchattribute beispielsweise givenName und sn sind, können Sie Benutzer sehr schnell nach Vorname + Nachname finden. So finden Sie beispielsweise Terri Hanson, indem Sie nach te ha suchen. Nachfolgende Leerzeichen werden ignoriert.
Überprüfen Sie, ob ein LDAP-Benutzer vorhanden ist. Dies funktioniert nur, wenn der Nextcloud-Server mit einem LDAP-Server verbunden ist:
sudo -u www-data php occ ldap:check-user robert
ldap:check-user führt keine Überprüfung durch, wenn eine deaktivierte LDAP-Verbindung gefunden wird. Dadurch wird verhindert, dass Benutzer, die auf deaktivierten LDAP-Verbindungen vorhanden sind, als gelöscht markiert werden. Wenn Sie sicher sind, dass der gesuchte Benutzer nicht in einer der deaktivierten Verbindungen enthalten ist und in einer aktiven Verbindung vorhanden ist, verwenden Sie die Option --force, um die Überprüfung aller aktiven LDAP-Verbindungen zu erzwingen:
sudo -u www-data php occ ldap:check-user --force robert
ldap:create-empty-config erstellt eine leere LDAP-Konfiguration. Die erste, die Sie erstellen, hat die configID s01, und allen nachfolgenden Konfigurationen, die Sie erstellen, werden automatisch IDs zugewiesen:
sudo -u www-data php occ ldap:create-empty-config Neue Konfiguration mit der Konfigurations-ID „s01“ erstellt
Anschließend können Sie Ihre Konfigurationen auflisten und anzeigen:
sudo -u www-data php occ ldap:show-config
Und die Konfiguration für eine einzelne Konfigurations-ID anzeigen:
sudo -u www-data php occ ldap:show-config s01
ldap:delete-config [configID] löscht eine vorhandene LDAP-Konfiguration:
sudo -u www-data php occ ldap:delete s01 Konfiguration mit der configID 's01' gelöscht
Der Befehl ldap:set-config dient zur Bearbeitung von Konfigurationen, wie in diesem Beispiel, in dem Suchattribute festgelegt werden:
sudo -u www-data php occ ldap:set-config s01 ldapAttributesForUserSearch "cn;givenname;sn;displayname;mail“
ldap:test-config testet, ob Ihre Konfiguration korrekt ist und eine Verbindung zum Server hergestellt werden kann:
sudo -u www-data php occ ldap:test-config s01 Die Konfiguration ist gültig und die Verbindung konnte hergestellt werden!
ldap:show-remnants dient zum Bereinigen der LDAP-Zuordnungstabelle und ist in LDAP-Benutzerbereinigung dokumentiert.
Protokollierungsbefehle
Mit diesen Befehlen können Sie Ihre Nextcloud-Protokollierungseinstellungen anzeigen und konfigurieren:
log log:file manipulieren Sie das Nextcloud-Protokollierungs-Backend log:manage verwalten Sie die Protokollierungskonfiguration log:tail verfolgen Sie die Nextcloud-Protokolldatei [erfordert die Aktivierung der App „Log Reader“] log:watch beobachten Sie die Nextcloud-Protokolldatei live [erfordert die Aktivierung der App „Log Reader“]
Führen Sie log:file [--] [--enable] [--file] [--rotate-size] aus, um Ihren aktuellen Protokollierungsstatus zu sehen:
sudo -u www-data php occ log:file Protokoll-Backend Nextcloud: aktiviert Protokolldatei: /opt/nextcloud/data/nextcloud.log Rotate at: deaktiviert* --enable schaltet die Protokollierung ein.
- --file legt einen anderen Pfad für die Protokolldatei fest.
- --rotate-size legt die Rotation nach Protokolldateigröße in Bytes fest; 0 deaktiviert die Rotation.
log:manage [--backend] [--level] [--timezone] legt Ihr Protokollierungs-Backend, die Protokollierungsstufe und die Zeitzone fest. Die Standardwerte sind file, warning und UTC. Folgende Optionen sind verfügbar: * --backend [file, syslog, errorlog, systemd]
- --level [debug|info|warning|error|fatal]
- --timezone gemäß https://www.php.net/manual/en/timezones.php
Wartungsbefehle
Verwenden Sie diese Befehle, wenn Sie Nextcloud aktualisieren, die Verschlüsselung verwalten, Sicherungen durchführen und andere Aufgaben ausführen, die es erfordern, Benutzer auszusperren, bis Sie fertig sind:
maintenance maintenance:data-fingerprint Aktualisieren Sie den System-Daten-Fingerabdruck, nachdem ein Backup wiederhergestellt wurde maintenance:mimetype:update-db Aktualisieren Sie die Datenbank-Mimetypen und aktualisieren Sie den Dateicache maintenance:mimetype:update-js Aktualisieren Sie mimetypelist.js maintenance:mode Setzen Sie den Wartungsmodus maintenance:repair Reparieren Sie diese Installation maintenance:theme:update Wenden Sie benutzerdefinierte Designänderungen an maintenance:update:htaccess Aktualisiert die .htaccess-Datei
maintenance:mode sperrt die Sitzungen aller angemeldeten Benutzer, einschließlich Administratoren, und zeigt eine Statuswarnung an, dass sich der Server im Wartungsmodus befindet. Benutzer, die noch nicht angemeldet sind, können sich erst anmelden, wenn der Wartungsmodus deaktiviert wurde. Wenn Sie den Server aus dem Wartungsmodus nehmen, müssen angemeldete Benutzer ihre Webbrowser aktualisieren, um weiterarbeiten zu können:
sudo -u www-data php occ maintenance:mode --on sudo -u www-data php occ maintenance:mode --off
Nach der Wiederherstellung einer Sicherung Ihres Datenverzeichnisses oder der Datenbank sollten Sie immer einmal maintenance:data-fingerprint aufrufen. Dadurch wird das ETag für alle Dateien in der Kommunikation mit Synchronisierungs-Clients geändert, sodass diese erkennen können, dass eine Datei geändert wurde.
Der Befehl maintenance:repair wird bei Upgrades automatisch ausgeführt, um die Datenbank zu bereinigen. Sie können ihn zwar manuell ausführen, dies ist jedoch in der Regel nicht erforderlich:
sudo -u www-data php occ maintenance:repair
maintenance:mimetype:update-db aktualisiert die Nextcloud-Datenbank und den Dateicache mit geänderten Mimetypen, die in config/mimetypemapping.json gefunden wurden. Führen Sie diesen Befehl nach der Änderung von config/mimetypemapping.json aus. Wenn Sie einen Mime-Type ändern, führen Sie maintenance:mimetype:update-db --repair-filecache aus, um die Änderung auf vorhandene Dateien anzuwenden.
Führen Sie den Befehl maintenance:theme:update aus, wenn die Symbole Ihres benutzerdefinierten Designs nicht korrekt aktualisiert werden. Dadurch wird die mimetypelist.js aktualisiert und der Bildercache geleert.
Sicherheit
Verwenden Sie diese Befehle, um serverweite SSL-Zertifikate zu verwalten oder Brute-Force-Verlangsamungen zurückzusetzen. Diese sind nützlich, wenn Sie Verbundfreigaben mit anderen Nextcloud-Servern erstellen, die selbstsignierte Zertifikate verwenden:
security security:bruteforce:reset setzt Brute-Force-Versuche für eine bestimmte IP-Adresse zurück security:certificates listet vertrauenswürdige Zertifikate auf security:certificates:import importiert vertrauenswürdiges Zertifikat security:certificates:remove entfernt vertrauenswürdiges Zertifikat
Zurücksetzen einer IP:
sudo -u www-data php occ security:bruteforce:reset [IP-Adresse]
Dieses Beispiel listet Ihre installierten Zertifikate auf:
sudo -u www-data php occ security:certificates
Importieren eines neuen Zertifikats:
sudo -u www-data php occ security:certificates:import /path/to/certificate
Entfernen eines Zertifikats:
sudo -u www-data php occ security:certificates:remove [certificate name]
Papierkorb
Hinweis
Dieser Befehl ist nur verfügbar, wenn die App „Gelöschte Dateien“ (files_trashbin) aktiviert ist.
Der Befehl trashbin:cleanup [--all-users] [--] [<user_id>...] entfernt die gelöschten Dateien der angegebenen Benutzer in einer durch Leerzeichen getrennten Liste oder aller Benutzer, wenn –all-users angegeben ist.
trashbin trashbin:cleanup [--all-users] [--] [<user_id>...] Gelöschte Dateien entfernen
In diesem Beispiel werden die gelöschten Dateien aller Benutzer entfernt:
sudo -u www-data php occ trashbin:cleanup --all-users Alle gelöschten Dateien für alle Benutzer entfernen Gelöschte Dateien für Benutzer im Backend entfernen freda molly stash rosa edward
In diesem Beispiel werden die gelöschten Dateien der Benutzer molly und freda entfernt:
sudo -u www-data php occ trashbin:cleanup molly freda Gelöschte Dateien von molly entfernen Gelöschte Dateien von freda entfernen
Benutzerbefehle
Die Befehle für Benutzer erstellen und entfernen Benutzer, setzen Passwörter zurück und zeigen einen einfachen Bericht an, der die Anzahl der Benutzer und den Zeitpunkt der letzten Anmeldung eines Benutzers anzeigt:
user user:add fügt einen Benutzer hinzu user:add-app-password fügt ein App-Passwort namens „cli“ hinzu user:delete löscht den angegebenen Benutzer user:disable deaktiviert den angegebenen Benutzer user:enable aktiviert den angegebenen Benutzer user:info zeigt Informationen über den jeweiligen Benutzer an user:lastseen zeigt an, wann der Benutzer zuletzt angemeldet war user:list zeigt eine Liste aller registrierten Benutzer an user:report zeigt an, wie viele Benutzer Zugriff haben user:resetpassword Setzt das Passwort des genannten Benutzers zurück user:setting Benutzereinstellungen lesen und ändern
Sie können einen neuen Benutzer mit seinem Anzeigenamen, Anmeldenamen und allen Gruppenmitgliedschaften mit dem Befehl user:add erstellen. Die Syntax lautet:
user:add [--password-from-env] [--display-name[=„...“]] [-g|--group[=„...“]] uid
Der Anzeigename entspricht dem „Vollständigen Namen“ auf der Seite „Benutzer“ in Ihrer Nextcloud-Weboberfläche und die UID ist ihr „Benutzername“, der ihr Anmeldename ist. In diesem Beispiel wird die neue Benutzerin Layla Smith hinzugefügt und sie wird den Gruppen „Benutzer“ und „db-admins“ hinzugefügt. Alle Gruppen, die nicht existieren, werden erstellt:
sudo -u www-data php occ user:add --display-name=„Layla Smith“ --group=„users“ --group=„db-admins“ layla Enter password: Confirm password: Der Benutzer „layla“ wurde erfolgreich erstellt Display name set to „Layla Smith“ User „layla“ added to group „users“ User „layla“ added to group „db-admins“
Gehen Sie zu Ihrer Benutzerseite, und Sie sehen Ihren neuen Benutzer.
Mit password-from-env können Sie das Passwort des Benutzers über eine Umgebungsvariable festlegen. Dadurch wird verhindert, dass das Passwort allen Benutzern über die Prozessliste angezeigt wird, und es ist nur im Verlauf des Benutzers (root) sichtbar, der den Befehl ausführt. Dies ermöglicht auch die Erstellung von Skripten zum Hinzufügen mehrerer neuer Benutzer.
Um password-from-env zu verwenden, müssen Sie als „echter“ root und nicht als sudo ausgeführt werden, da sudo Umgebungsvariablen entfernt. In diesem Beispiel wird der neue Benutzer Fred Jones hinzugefügt:
export OC_PASS=newpassword su -s /bin/sh www-data -c 'php occ user:add --password-from-env --display-name=„Fred Jones“ --group=„users“ fred' Der Benutzer „fred“ wurde erfolgreich erstellt Anzeigename auf „Fred Jones“ festgelegt Benutzer „fred“ zur Gruppe „users“ hinzugefügt
Sie können das Passwort jedes Benutzers zurücksetzen, auch das von Administratoren (siehe Zurücksetzen eines verlorenen Admin-Passworts):
sudo -u www-data php occ user:resetpassword layla Geben Sie ein neues Passwort ein: Bestätigen Sie das neue Passwort: Das Passwort für layla wurde erfolgreich zurückgesetzt
Sie können auch password-from-env verwenden, um Passwörter zurückzusetzen:
export OC_PASS=neuespasswort su -s /bin/sh www-data -c 'php occ user:resetpassword --password-from-env layla' Passwort für layla erfolgreich zurückgesetzt
Sie können Benutzer löschen: sudo -u www-data php occ user:delete fred
Die letzte Anmeldung eines Benutzers anzeigen: sudo -u www-data php occ user:lastseen layla laylas letzte Anmeldung: 09.01.2020 18:46
Benutzereinstellungen lesen: sudo -u www-data php occ user:setting layla - core: - lang: en - login: - lastLogin: 1465910968 - settings: - email: layla@example.tld
Nach App filtern: sudo -u www-data php occ user:setting layla core - core: - lang: en
Eine einzelne Einstellung abrufen: sudo -u www-data php occ user:setting layla core lang en
Eine Einstellung festlegen: sudo -u www-data php occ user:setting layla settings email „new-layla@example.tld“
Eine Einstellung löschen: sudo -u www-data php occ user:setting layla settings email --delete
Erstellen Sie einen einfachen Bericht, der alle Benutzer zählt, einschließlich der Benutzer auf externen Benutzerauthentifizierungsservern wie LDAP:
sudo -u www-data php occ user:report +------------------+----+ | Benutzerbericht | | +------------------+----+ | Datenbank | 12 | | LDAP | 86 | | | | | Gesamtbenutzer | 98 | | | | | Benutzerverzeichnisse | 2 | +------------------+----+
Gruppenbefehle
Die Befehle group erstellen und entfernen Gruppen, fügen Benutzer zu Gruppen hinzu und entfernen sie aus Gruppen, zeigen eine Liste aller Benutzer in einer Gruppe an:
group group:add fügt eine Gruppe hinzu group:delete entfernt eine Gruppe group:adduser fügt einen Benutzer zu einer Gruppe hinzu group:removeuser entfernt einen Benutzer aus einer Gruppe group:list listet konfigurierte Gruppen auf
Mit dem Befehl group:add können Sie eine neue Gruppe erstellen. Die Syntax lautet:
group:add [gid]
Die gid entspricht dem Gruppennamen, den Sie eingeben, nachdem Sie auf der Seite „Benutzer“ in Ihrer Nextcloud-Weboberfläche auf „Gruppe hinzufügen“ geklickt haben. In diesem Beispiel wird die neue Gruppe „beer“ hinzugefügt:
sudo -u www-data php occ group:add beer
Fügen Sie mit dem Befehl group:adduser einen vorhandenen Benutzer zur angegebenen Gruppe hinzu. Die Syntax lautet:
group:adduser [gid] [uid]
In diesem Beispiel wird der Benutzer „denis“ zur vorhandenen Gruppe „beer“ hinzugefügt:
sudo -u www-data php occ group:adduser beer denis
Mit dem Befehl group:removeuser können Sie Benutzer aus der Gruppe entfernen. In diesem Beispiel wird der vorhandene Benutzer „denis“ aus der vorhandenen Gruppe „beer“ entfernt:
sudo -u www-data php occ group:removeuser beer denis
Entfernen Sie eine Gruppe mit dem Befehl group:delete. Durch das Entfernen einer Gruppe werden keine Benutzer in einer Gruppe entfernt. Die Gruppe „admin“ kann nicht entfernt werden. In diesem Beispiel wird die vorhandene Gruppe „beer“ entfernt:
sudo -u www-data php occ group:delete beer
Listen Sie konfigurierte Gruppen mit dem Befehl group:list auf. Die Syntax lautet:
group:list [-l|--limit] [-o|--offset] [--output=„...“]
limit ermöglicht es Ihnen, die Anzahl der abzurufenden Gruppen anzugeben.
offset ist ein Offset für das Abrufen von Gruppen.
output gibt das Ausgabeformat an (plain, json oder json_pretty). Standard ist „plain“.
Versionen
Hinweis
Dieser Befehl ist nur verfügbar, wenn die App „Versionen“ (files_versions) aktiviert ist.
Verwenden Sie diesen Befehl, um Dateiversionen für bestimmte Benutzer oder für alle Benutzer zu löschen, wenn keine angegeben sind:
versions versions:cleanup Versionen löschen versions:expire Lässt die Dateiversionen der Benutzer ablaufen
Dieses Beispiel löscht alle Versionen für alle Benutzer:
sudo -u www-data php occ versions:cleanup Alle Versionen löschen Versionen für Benutzer im Backend löschen freda molly stash rosa edward
Sie können Versionen für bestimmte Benutzer in einer durch Leerzeichen getrennten Liste löschen:
sudo -u www-data php occ versions:cleanup freda molly Versionen von freda löschen Versionen von molly löschen
Installation über die Befehlszeile
Diese Befehle sind erst verfügbar, nachdem Sie das Nextcloud-Archiv heruntergeladen und entpackt haben und keine weiteren Installationsschritte ausgeführt haben.
Sie können Nextcloud vollständig über die Befehlszeile installieren. Nachdem Sie den Tarball heruntergeladen und Nextcloud in die entsprechenden Verzeichnisse kopiert haben, können Sie occ-Befehle anstelle des grafischen Installationsassistenten verwenden.
Wählen Sie dann Ihre occ-Optionen aus. Dies listet Ihre verfügbaren Optionen auf:
sudo -u www-data php /var/www/nextcloud/occ Nextcloud ist nicht installiert – es steht nur eine begrenzte Anzahl von Befehlen zur Verfügung Nextcloud-Version 19.0.0
Verwendung: [Optionen] Befehl [Argumente]
Optionen: --help (-h) Zeigt diese Hilfe an --quiet (-q) Gibt keine Meldung aus --verbose (-v|vv|vvv) Erhöht die Ausführlichkeit der Meldungen: 1 für normale Ausgabe, 2 für ausführlichere Ausgabe und 3 für Debugging --version (-V) Zeigt diese Anwendungsversion an --ansi Erzwingt ANSI-Ausgabe --no-ansi Deaktiviert ANSI-Ausgabe --no-interaction (-n) Keine interaktiven Fragen stellen
Verfügbare Befehle: check Abhängigkeiten der Serverumgebung prüfen help Zeigt Hilfe zu einem Befehl an list Befehle auflisten status Zeigt einige Statusinformationen an app l10n l10n:createjs Erstellt JavaScript-Übersetzungsdateien für eine bestimmte App maintenance maintenance:install Nextcloud installieren
Zeigen Sie Ihre maintenance:install-Optionen an:
sudo -u www-data php occ help maintenance:install Nextcloud ist nicht installiert – es steht nur eine begrenzte Anzahl an Befehlen zur Verfügung Verwendung: maintenance:install [--database=„...“] [--database-name=„...“] [--database-host=„...“] [--database-user=„...“] [--database-pass[=„...“]] [--database-table-prefix[=„...“]] [--admin-user=„...“] [--admin-pass=„...“] [--data-dir=„...“]
Optionen: --database Unterstützter Datenbanktyp (Standard: „sqlite“) --database-name Name der Datenbank --database-host Hostname der Datenbank (Standard: „localhost“) --database-user Benutzername für die Verbindung mit der Datenbank --database-pass Passwort des Datenbankbenutzers --admin-user Benutzername des Administratorkontos (Standard: „admin“) --admin-pass Passwort des Administratorkontos --data-dir Pfad zum Datenverzeichnis (Standard: „/var/www/nextcloud/data“) --help (-h) Diese Hilfe anzeigen --quiet (-q) Keine Meldung ausgeben --verbose (-v|vv|vvv) Erhöht die Ausführlichkeit der Nachrichten: 1 für normale Ausgabe, 2 für ausführlichere Ausgabe und 3 für Debug --version (-V) Zeigt diese Anwendungsversion an --ansi Erzwingt ANSI-Ausgabe --no-ansi Deaktiviert ANSI-Ausgabe --no-interaction (-n) Stellt keine interaktiven Fragen
Dieses Beispiel schließt die Installation ab:
cd /var/www/nextcloud/ sudo -u www-data php occ maintenance:install --database „mysql“ --database-name „nextcloud“ --database-user „root“ --database-pass „password“ --admin-user „admin“ --admin-pass „password“ Nextcloud ist nicht installiert – nur eine begrenzte Anzahl von Befehlen ist verfügbar Nextcloud wurde erfolgreich installiert
Unterstützte Datenbanken sind:
- sqlite (SQLite3 - nur Nextcloud Community Edition) - mysql (MySQL/MariaDB) - pgsql (PostgreSQL) - oci (Oracle - nur Nextcloud Enterprise Edition)
Kommandozeilen-Upgrade
Diese Befehle sind nur verfügbar, nachdem Sie aktualisierte Pakete oder tar-Archive heruntergeladen haben und bevor Sie das Upgrade abschließen.
Listen Sie alle Optionen auf, wie in diesem Beispiel unter CentOS Linux/
sudo -u apache php occ upgrade -h Usage: upgrade [--quiet]
- Options
--help (-h) Display this help message. --quiet (-q) Do not output any message. --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug. --version (-V) Display this application version. --ansi ANSI-Ausgabe erzwingen. --no-ansi ANSI-Ausgabe deaktivieren. --no-interaction (-n) Keine interaktiven Fragen stellen
Wenn Sie ein Update oder Upgrade auf Ihrem Nextcloud-Server durchführen (siehe Abschnitt „Wartung“ in diesem Handbuch), ist es besser, occ zu verwenden, um den Schritt des Datenbank-Upgrades durchzuführen, anstatt die Web-GUI, um Zeitüberschreitungen zu vermeiden. PHP-Skripte, die über die Weboberfläche aufgerufen werden, sind auf 3600 Sekunden begrenzt. In größeren Umgebungen kann dies nicht ausreichen, wodurch das System in einem inkonsistenten Zustand verbleibt. Nachdem Sie alle vorbereitenden Schritte ausgeführt haben (siehe How to upgrade), verwenden Sie diesen Befehl, um Ihre Datenbanken zu aktualisieren, wie in diesem Beispiel unter CentOS Linux. Beachten Sie, wie die Schritte detailliert beschrieben werden:
sudo -u www-data php occ upgrade Nextcloud oder eine der Apps erfordern ein Upgrade – nur eine begrenzte Anzahl von Befehlen ist verfügbar Wartungsmodus aktiviert Aktualisierung des Datenbankschemas überprüft Aktualisierung des Datenbankschemas für Apps überprüft Datenbank aktualisiert Aktualisiere <gallery> ... Aktualisiere <gallery> auf 0.6.1 Aktualisiere <activity> ... Aktualisiere <activity> auf 2.1.0 Aktualisierung erfolgreich Wartungsmodus deaktiviert
Aktivierung der Ausführlichkeit zeigt Zeitstempel an:
sudo -u www-data php occ upgrade -v
Nextcloud oder eine der Apps erfordern ein Upgrade – nur eine begrenzte Anzahl von Befehlen ist verfügbar
2015-06-23T09:06:15+0000 Wartungsmodus aktiviert 2015-06-23T09:06:15+0000 Überprüfung der Aktualisierung des Datenbankschemas 2015-06-23T09:06:15+0000 Überprüfung der Aktualisierung des Datenbankschemas für Apps 2015-06-23T09:06:15+0000 Aktualisierung der Datenbank 2015-06-23T09:06:15+0000 Updated <files_sharing> to 0.6.6 2015-06-23T09:06:15+0000 Update successful 2015-06-23T09:06:15+0000 Turned off maintenance mode
Wenn ein Fehler auftritt, wird eine Ausnahme ausgelöst und der Fehler wird in Ihrer Nextcloud-Protokolldatei detailliert beschrieben. Sie können also die Protokollausgabe verwenden, um herauszufinden, was schiefgelaufen ist, oder um sie in einem Fehlerbericht zu verwenden:
Wartungsmodus aktiviert Aktualisierung des Datenbankschemas überprüft Aktualisierung des Datenbankschemas für Apps überprüft Datenbank aktualisiert <files_sharing> ... wird aktualisiert Ausnahme ServerNotAvailableException: LDAP-Server ist nicht verfügbar Aktualisierung fehlgeschlagen Wartungsmodus deaktiviert
Zwei-Faktor-Authentifizierung
Wenn eine Zwei-Faktor-Anbieter-App aktiviert ist, ist sie standardmäßig für alle Benutzer aktiviert (der Anbieter kann jedoch entscheiden, ob der Benutzer die Challenge bestehen muss oder nicht). Wenn ein Benutzer den Zugriff auf den zweiten Faktor verliert (z. B. bei Verlust des Telefons mit Zwei-Faktor-SMS-Verifizierung), kann der Administrator versuchen, die Zwei-Faktor-Prüfung für diesen Benutzer über den Befehl occ zu deaktivieren:
sudo -u www-data php occ twofactor:disable <uid> <provider_id>
- Hinweis
- Dies wird nicht von allen Anbietern unterstützt.
Um die Zwei-Faktor-Authentifizierung wieder zu aktivieren, verwenden Sie den folgenden Befehl:
sudo -u www-data php occ twofactor:enable <uid> <provider_id>
- Hinweis
- Dies wird nicht von allen Anbietern unterstützt.
Benutzer deaktivieren
Administratoren können Benutzer auch über den Befehl occ deaktivieren
sudo -u www-data php occ user:disable <username>
Verwenden Sie den folgenden Befehl, um den Benutzer wieder zu aktivieren
sudo -u www-data php occ user:enable <username>
Beachten Sie, dass die Verbindung der verbundenen Browser getrennt wird, sobald Benutzer deaktiviert werden.
System-Tags
- Liste der Tags
sudo -u www-data php occ tag:list
- Hinzufügen eines Tags
sudo -u www-data php occ tag:add <name> <access>
- Bearbeiten eines Tags
sudo -u www-data php occ tag:edit --name <name> --access <access> <id>
–name und –access sind optional.
- Löschen eines Tags
sudo -u www-data php occ tag:delete <id>
- Zugriffsebene
Level | Visible¹ | Assignable² |
---|---|---|
öffentlich | Ja | Ja |
eingeschränkt | Ja | Nein |
unsichtbar | Nein | Nein |
¹ Benutzer kann das Tag sehen
² Benutzer können das Tag einer Datei zuweisen
Debugging
In bestimmten Situationen ist es notwendig, Debugging-Informationen zu generieren, z. B. vor dem Einreichen eines Fehlerberichts. Sie können occ mit Debug-Protokollierung ausführen:
sudo -u www-data NC_loglevel=0 php occ -h