Utilisation de la commande occ¶
La commande ownCloud occ (ownCloud console) est l’interface de ligne de commande d’ownCloud. Vous pouvez réaliser beaucoup d’opérations sur le serveur avec occ, comme l’installation et la mise à jour d’ownCloud, la gestion des utilisateurs, du chiffrement, des mots de passe, des paramètres LDAP et bien plus encore.
occ se trouve dans le répertoire owncloud/. Par exemple : /var/www/owncloud sous Ubuntu Linux. occ est un script PHP. Vous devez l’exécuter en tant qu’utilisateur HTTP pour s’assurer que les permissions correctes sont préservées sur vos fichiers et répertoires d’ownCloud. À compter de la version 8.2 d’ownCloud, il peut être exécuté à partir de n’importe quel répertoire (en spécifiant le chemin d’accès au fichier). Dans les versions précédente d’ownCloud, il devait être lancé à partir du répertoire owncloud/.
Répertoire de la commande occ¶
- Lancement d’occ en tant qu’utilisateur HTTP
- Commandes pour les applications
- Sélecteur des tâches d’arrière-plan
- Commandes config
- Commandes Dav
- Conversion de base de données
- Chiffrement
- Fédération
- Opérations sur le fichiers
- Fichiers externes
- Vérification d’intégrité
- l10n, création de fichiers de traduction Javascript pour les applications
- Commandes LDAP
- Commandes pour les journaux
- Commandes de maintenance
- Sécurité
- Modes Shibboleth (Édition Entreprise seulement)
- Corbeille
- Commandes utilisateurs
- Versions
- Installation en ligne de commande
- Mise à jour en ligne de commande
- Authentification à deux facteurs
- Désactivation d’utilisateurs
Lancement d’occ en tant qu’utilisateur HTTP¶
Le nom de l’utilisateur HTTP diffère selon les distributions Linux. Consulter Renforcement des permissions de répertoires pour savoir comment trouver votre utilisateur HTTP.
- L’utilisateur et le groupe HTTP est « www-data » pour Debian/Ubuntu.
- L’utilisateur et le groupe HTTP est « apache » pour Fedora/CentOS.
- L’utilisateur et le groupe HTTP est « http » pour Arch Linux.
- L’utilisateur HTTP est « wwwrun » et le groupe HTTP « www » pour openSUSE.
Si votre serveur HTTP est configuré pour utiliser une version de PHP différente de celle par défaut (/usr/bin/php), occ doit être lancé avec la même version. Par exemple, sous CentOS 6.5 avec SCL-PHP54 installé, la commande ressemble à ceci:
sudo -u apache /opt/rh/php54/root/usr/bin/php /var/www/html/owncloud/occ
Lancer occ sans option énumère toutes les commandes et options, comme dans cet exemple pour Ubuntu:
sudo -u www-data php occ
ownCloud version 9.0.0
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--no-warnings Skip global warnings, show command output only
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output,
2 for more verbose output and 3 for debug
Available commands:
check check dependencies of the server
environment
help Displays help for a command
list Lists commands
status show some status information
upgrade run upgrade routines after installation of
a new release. The release has to be
installed before.
C’est le même résultat que pour la commande sudo -u www-data php occ list.
Lancez-le avec l’option -h pour avoir une aide sur la syntaxe:
sudo -u www-data php occ -h
Affichage de la version d’ownCloud:
sudo -u www-data php occ -V
ownCloud version 9.0.0
Affichage de l’état du serveur ownCloud:
sudo -u www-data php occ status
- installed: true
- version: 9.0.0.19
- versionstring: 9.0.0
- edition:
occ a des options, des commandes et des arguments. Les options et les arguments sont facultatifs, alors que les commandes sont obligatoires. La syntaxe est la suivante:
occ [options] commande [arguments]
Obtention des informations détaillées des commandes avec la commande help, comme dans cet exemple pour la commande maintenance:mode:
sudo -u www-data php occ help maintenance:mode
Usage:
maintenance:mode [options]
Options:
--on enable maintenance mode
--off disable maintenance mode
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--no-warnings Skip global warnings, show command output only
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output,
2 for more verbose output and 3 for debug
La commande status a une option permettant de définir le format de sortie. Par défaut, c’est du texte brut, mais cela peut être aussu du json:
sudo -u www-data php occ status --output=json
{"installed":true,"version":"9.0.0.19","versionstring":"9.0.0","edition":""}
ou du json_pretty:
sudo -u www-data php occ status --output=json_pretty
{
"installed": true,
"version": "9.0.0.19",
"versionstring": "9.0.0",
"edition": ""
}
Cette option de format de sortie est disponible pour toutes les commandes de type liste : status, check, app:list, config:list, encryption:status et encryption:list-modules.
Commandes pour les applications¶
La commande app liste, active et désactive les applications:
app
app:check-code vérifie la conformité du code
app:disable désactive une application
app:enable active une application
app:getpath récupère le chemin d'accès absolu d'une application
(ajouté dans la version in 9.0)
app:list liste toutes les applications disponibles
Pour lister toutes les applications installées et afficher si elles sont activées ou désactivées:
sudo -u www-data php occ app:list
Pour activer une application, par exemple External Storage:
sudo -u www-data php occ app:enable files_external
files_external enabled
Pour désactiver une application:
sudo -u www-data php occ app:disable files_external
files_external disabled
La commande app:check-code permet d’effectuer plusieurs vérifications : elle vérifie si une application utilise les API publiques d’ownCloud (OCP) ou des API privées (OC_). Elle vérifie la présence de méthodes obsolètes et la validité du fichier info.xml. Par défaut, toutes les vérifications sont activées. L’application Activité est un exemple d’application correctement formatée:
sudo -u www-data php occ app:check-code notifications
App is compliant - awesome job!
Si votre application a des problèmes, la sortie ressemblera à ceci:
sudo -u www-data php occ app:check-code foo_app
Analysing /var/www/owncloud/apps/files/foo_app.php
4 errors
line 45: OCP\Response - Static method of deprecated class must not be
called
line 46: OCP\Response - Static method of deprecated class must not be
called
line 47: OCP\Response - Static method of deprecated class must not be
called
line 49: OC_Util - Static method of private class must not be called
Vous pouvez obtenir le chemin d’accès complet d’une application:
sudo -u www-data php occ app:getpath notifications
/var/www/owncloud/apps/notifications
Sélecteur des tâches d’arrière-plan¶
Utilisez la commande background pour sélectionner le programmateur à utiliser pour contrôler les tâches d’arrière-plan : Ajax, Webcron ou Cron. C’st la même chose que d’utiliser la section Cron sur votre page d’administration:
background
background:ajax utilise ajax pour exécuter les tâches d'arrière-plan
background:cron utilise cron pour exécuter les tâches d'arrière-plan
background:webcron utilise webcron pour exécuter les tâches d'arrière-plan
Cet exemple sélectionne Ajax:
sudo -u www-data php occ background:ajax
Set mode for background jobs to 'ajax'
Les deux autres commandes sont :
- background:cron
- background:webcron
Consulter Tâches d’arrière-plan pour en savoir plus.
Commandes config¶
Les commandes config sont utilisées pour configurer le serveur ownCloud:
config
config:app:delete supprime une valeur de configuration d'une application
config:app:get récupère une valeur de configuration d'une application
config:app:set définit une valeur de configuration d'une application
config:import importe une liste de configurations
config:list Liste toutes les configurations
config:system:delete supprime une valeur de configuration système
config:system:get récupère une valeur de configuration système
config:system:set définit une valeur de configuration système
Vous pouvez lister toutes les valeurs de configurations en une seule commande:
sudo -u www-data php occ config:list
Par défaut, les mots de passe et autres données sensibles sont omis du rapport, ainsi le rapport peut être publié publiquement (par exemple, pour un rapport de bogue). Afin de générer un rapport complet contenant toutes les valeurs de configuration, l’option --private doit être ajoutée:
sudo -u www-data php occ config:list --private
Le contenu exporté peut aussi être importé à nouveau pour permettre la configuration rapide pour des instances similaires. La commande d’import effectue seulement l’ajout ou la mise à jour de valeurs. Les valeurs qui existent dans la configuration courante, mais pas dans la configuration qui est importée, ne sont pas modifiées:
sudo -u www-data php occ config:import filename.json
Il est aussi possible d’importer des fichiers distants:
sudo -u www-data php occ config:import < local-backup.json
Note
Bien qu’il soit possible de mettre à jour, définir ou supprimer les versions et états d’installation des applications, et ownCloud lui-même, il n’est pas recommandé de faire ceci directement. Utilisez plutôt les commandes occ app:enable, occ app:disable et occ update.
Obtention d’une seule valeur de configuration¶
Ces commandes récupère une seule valeur de configuration d’une application ou du système:
sudo -u www-data php occ config:system:get version
9.0.0.19
sudo -u www-data php occ config:app:get activity installed_version
2.2.1
Définition d’une seule valeur de configuration¶
Ces commandes définissent une seule valeur de configuration d’une application ou du système:
sudo -u www-data php occ config:system:set logtimezone
--value="Europe/Berlin"
System config value logtimezone set to Europe/Berlin
sudo -u www-data php occ config:app:set files_sharing
incoming_server2server_share_enabled --value="yes" --type=boolean
Config value incoming_server2server_share_enabled for app files_sharing set to yes
La commande config:system:set crée la valeur si elle n’existe pas déjà. Pour mettre à jour une valeur, ajouter --update-only:
sudo -u www-data php occ config:system:set doesnotexist --value="true"
--type=boolean --update-only
Value not updated, as it has not been set before.
Veuillez noter que pour définir une valeur booléenne, flottante ou entière dans le fichier de configuration, vous devez spécifier le type de votre commande. Ceci s’applique seulement à la commande config:system:set. Voici la liste des types :
- boolean
- integer
- float
- string (par défaut)
Si vous voulez par exemple désactiver le mode de maintenance, lancez la commande suivante:
sudo -u www-data php occ config:system:set maintenance --value=false
--type=boolean
ownCloud is in maintenance mode - no app have been loaded
System config value maintenance set to boolean false
Définition d’un tableau de valeurs de configuration¶
Certaines configurations (comme les domaines de confiance) sont des tableaux de données. Afin de définir (ou de récupérer) la valeur d’une clé, vous devez spécifier plusieurs noms de config séparés par des espaces:
sudo -u www-data php occ config:system:get trusted_domains
localhost
owncloud.local
sample.tld
Pour remplacer sample.tld par example.com trusted_domains => 2 doit être défini:
sudo -u www-data php occ config:system:set trusted_domains 2
--value=example.com
System config value trusted_domains => 2 set to string example.com
sudo -u www-data php occ config:system:get trusted_domains
localhost
owncloud.local
example.com
Suppression d’une seule valeur de configuration¶
Ces commandes suppriment une seule valeur de configuration d’une application ou du système:
sudo -u www-data php occ config:system:delete maintenance:mode
System config value maintenance:mode deleted
sudo -u www-data php occ config:app:delete appname provisioning_api
Config value provisioning_api of app appname deleted
Par défaut, la commande delete ne signalera pas si la configuration n’avait pas été définie auparavant. Si vous voulez en être informé, ajouter l’option --error-if-not-exists:
sudo -u www-data php occ config:system:delete doesnotexist
--error-if-not-exists
Config provisioning_api of app appname could not be deleted because it did not
exist
Commandes Dav¶
Un ensemble de commandes pour créer des carnets d’adresses, des agendas, et pour migrer des carnets d’adresses de la version 8.2 à la version 9.0:
dav
dav:create-addressbook crée un carnet d'adresses DAV
dav:create-calendar crée un agenda DAV
dav:sync-birthday-calendar synchronise l'agenda des anniversaires
dav:sync-system-addressbook synchronise les utilisateurs vers le carnet d'adresses
système
La syntaxe pour dav:create-addressbook et dav:create-calendar est dav:create-addressbook [utilisateur] [nom]. Cet exemple crée le carnet d’adresses mollybook pour l’utilisateur molly:
sudo -u www-data php occ dav:create-addressbook molly mollybook
Cet exemple crée un nouvel agenda pour molly:
sudo -u www-data php occ dav:create-calendar molly mollycal
Molly les verra immédiatement sur ses pages Agenda et Contacts.
Dans la version 9.0, le serveur CalDAV a été intégré au cœur du système. Vos agendas et carnets d’adresses devraient être migrés automatiquement lors de la mise à jour. Si qulque chose se passe mal, vous pouvez essayer de les migrer manuellement. Supprimez d’abord tout aganda ou carnet d’adresses partiellement migrés. Lancez ensuite cette commande pour migrer les contacts de l’utilisateur:
sudo -u www-data php occ dav:migrate-addressbooks [user]
Lancez cette commande pour migrer les agendas:
sudo -u www-data php occ dav:migrate-calendars [user]
Consulter ownCloud 9.0 - calendar migration analysis pour obtenir de l’aide sur le dépannage et rapporter des problèmes.
dav:sync-birthday-calendar ajoute tous les anniversaires à votre agenda des carnets d’adresses partagés avec vous. Cet exemple synchronise votre agenda à partir de celui de bernie:
sudo -u www-data php occ dav:sync-birthday-calendar bernie
dav:sync-system-addressbook synchronise tous les utilisateurs vers le carnet d’adresses système:
sudo -u www-data php occ dav:sync-system-addressbook
Ajouté dans la version 9.0.
Conversion de base de données¶
Le système de base de données SQLite et très bien pour les tests et pour les serveurs ownCloud avec un seul utilisateur n’utilisant pas de client de synchronisation. Pour les serveurs de production avec plusieurs utilisateurs, vous devez utiliser MariaDB, MySQL ou PostgreSQL. Vous pouvez utiliser occ pour convertir votre base SQLite vers l’un de ces système de gestion de base de données.
db
db:convert-type convertit la base de données ownCloud vers le nouveau
type configuré
db:generate-change-script génère le script de modification à partir de la base de données
actuellement connectée vers db_structure.xml
Vous avez besoin :
- d’installer le système de gestion de base de données désiré et son connecteur PHP ;
- du nom et du mot de passe d’une administrateur du moteur de base de données ;
- du port du moteur de base de données si celui-ci n’est pas le port standard.
Cet exemple convertit une base SQLite en une base MySQL/MariaDB:
sudo -u www-data php occ db:convert-type mysql oc_dbuser 127.0.0.1
oc_database
Pour une explication plus détaillée, veuillez consulter Conversion du moteur de base de données
Chiffrement¶
occ contient un jeu de commandes complet pour la gestion du chiffrement:
encryption
encryption:change-key-storage-root change la racine de stockage des clés
encryption:decrypt-all désactive le chiffrement côté serveur et
déchiffre tous les fichiers
encryption:disable désactive le chiffrement
encryption:enable active le chiffrement
encryption:enable-master-key active la clé maîtresse. Seulement disponible
pour de nouvelles installations sans donnée
chiffrée existante ! Il n'y a pas de moyen de
désactiver ceci après.
encryption:encrypt-all chiffre toues les fichiers pour tous les utilisateurs
encryption:list-modules liste tous les modules de chiffrement disponibles
encryption:migrate migration initiale en chiffrement 2.0
encryption:set-default-module définit le module de chiffrement par défaut
encryption:show-key-storage-root affiche la racine de stockage des clés
encryption:status affiche l'état actuel du chiffrment
encryption:status indique si le chiffrement est activé et affiche le module de chiffrement par défaut. Pour activer le chiffrement, vous devez d’abord activer l’application Encryption, puis exécuter encryption:enable:
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
La commande encryption:change-key-storage-root déplace vos clés de chiffrement vers un nouveau répertoire. Elle accepte un seul argument, nouvelleRacine, qui définit votre nouveau répertoire. Le répertoire doit exister et le chemin doit être relatif à votre répertoire racine d’ownCloud :
sudo -u www-data php occ encryption:change-key-storage-root ../../etc/oc-keys
Vous pouvez consulter l’emplacement actuel de votre répertoire de clés avec la commande:
sudo -u www-data php occ encryption:show-key-storage-root
Current key storage root: default storage location (data/)
encryption:list-modules affiche les modules de chiffrement disponibles. Vous ne verrez cette liste que si l’application Encryption est activée. Utilisez encryption:set-default-module [nom du module] pour définir le module désiré.
encryption:encrypt-all chiffre tous les fichiers de données pour tous les utilisateurs. Vouos devez auparavant passer votre serveur en mode single-user pour empêcher toute activité des utilisateurs jusqu’à ce que le chiffrement soit terminé.
encryption:decrypt-all déchiffre tous les fichiers de données des utilisateurs. Peut aussi déchiffrer les données d’un seul utilisateur:
sudo -u www-data php occ encryption:decrypt freda
Les utilisateurs doivent avoir activé leur clé de récupération sur leur page personnelle. Vous devez d’abord passer votre serveur en mode single-user pour empêcher toute activité des utilisateurs jusqu’à ce que le déchiffrement soit terminé.
Use encryption:disable to disable your encryption module. You must first put your ownCloud server into single-user mode to prevent any user activity.
encryption:enable-master-key crée une nouvelle clé maîtresse qui est utilisée pour toutes les données utilisateur à la place des clés utilisateur individuelles. Ceci est particulièrement utile pour mettre en place le single-sign on. À n’utiliser que sur de nouvelles installations sans données existantes ou sur les systèmes sur lesquels le chiffrement n’a pas encore été activé. Il n’est pas possible de désactiver ceci.
encryption:migrate migre les clés de chiffrement après une mise à jour majeure d’ownCloud. Vous pouvez aussi spécifier des utilisateurs individuels dans une liste séparés par des espaces.
Consulter Configuration du chiffrement pour en apprendre plus.
Fédération¶
Note
Cette commande n’st disponible que si l’application Fédération (federation) est activée.
Synchronise les carnets d’adresses de tous les serveurs ownCloud fédérés:
federation:sync-addressbooks synchronise les carnets d'adresses de tous les
serveurs ownCloud fédérés
À compter de la version 9.0 d’ownCloud, les serveurs connectés avec des partages fédérés peuvent partager les carnets d’adresses de leurs utilisateurs et proposent l’auto-complétion des noms d’utilisateurs dans les dialogues de partage. Utilisez cette commande pour synchroniser les serveurs fédérés:
sudo -u www-data php occ federation:sync-addressbooks
Ajouté dans la version 9.0.
Opérations sur le fichiers¶
occ dispose de trois commandes pour la gestion de fichiers dans ownCloud:
files
files:cleanup vide le cache de fichiers
files:scan re-balaye le système de fichiers
files:transfer-ownership tous les fichiers et dossiers sont transférés vers
un autre utilisateur - les partages sont aussi déplacés. (Ajouté dans la version 9.0)
La commande files:scan balaye le système de fichiers pour identifier les nouveaux fichiers et met à jour le cache de fichiers. Vous pouvez re-balayer tous les fichiers, par utilisateur, avec une liste d’utilisateurs séparés par des espaces et limiter le chemin de recherche. Si vous n’utilisez pas l’option --quiet, des statistiques seront affichées à la fin du balayage:
sudo -u www-data php occ files:scan --help
Usage:
files:scan [-p|--path="..."] [-q|--quiet] [-v|vv|vvv --verbose] [--all]
[user_id1] ... [user_idN]
Arguments:
user_id balaye tous les fichiers du (des) utilisateur(s) indiqué(s)
Options:
--path limite le balayage à l'utilisateur ou au chemin donné
--all balaye tous les fichiers de tous les utilisateurs connus
--quiet supprime toute sortie
--verbose les fichiers et les répertoires sont affichés pendant
le balayage
--unscanned analyse seulement les fichiers non analysés précédemment
Les niveaux de verbosité -vv ou -vvv sont automatiquement redéfinis à -v.
Note pour l’option –unscanned : En général, il y a une tâche de fond (à l’aide de cron) qui fera ce balayage périodiquement. L’option –unscanned rend possible de déclencher ceci en ligne de commande.
Lors de l’utilisation de l’option --path, le chemin doit être constitué des éléments suivants:
"id_utilisateur/files/chemin"
ou
"id_utilisateur/files/nom_du_montage"
ou
"id_utilisateur/files/nom_du_montage/chemin"
où le terme files est obligatoire.
Exemple:
--path="/alice/files/Musique"
Dans l’exemple ci-dessus, l’identifiant d’utilisateur alice est déterminé implicitement à partir du chemin donné.
Les paramètres --path, --all et [id_utilisateur] sont exclusifs - un seul peut être spécifié à la fois.
files:cleanup nettoie le cache de fichiers en supprimant toutes les entrées de fichiers n’ayant pas d’entrées correspondantes dans la table de stockage.
Vous pouvez transférer tous ls fichiers et partage d’un utilisateur vers un autre. Ceci est utile avant de supprimer un utilisateur:
sudo -u www-data php occ files:transfer-ownership <utilisateur-source>
<utilisateur-destination>
Fichiers externes¶
Ces commandes remplacent le fichier de configuration data/mount.json utilisé dans les versions ownCloud antérieures à la version 9.0.
Note
Ces commandes ne sont disponibles que si l’application « External storage support » (files_external) est activée.
Les commandes pour la gestion des stockages externes sont:
files_external
files_external:applicable gère les utilisateurs et groupe d'un montage
files_external:backends affiche les méthodes d'authentification et les
services de stockage disponibles
files_external:config gère le service de configuration d'un montage
files_external:create crée une nouvelle configuration de montage
files_external:delete supprime un montage externe
files_external:export exporte les configurations de montage
files_external:import importe les configurations de montage
files_external:list liste les montages configurés
files_external:option gère les options de montage d'un point de montage
files_external:verify vérifie la configuration du montage
Ces commandes répliquent la fonctionnalité de l’interface Web d’ownCloud avec deux fonctionnalités supplémentaires : files_external:export et files_external:import.
Utilisez files_external:export pour exporter tous les points de montage administrateur sur la sortie standard et files_external:export [id_utilisateur] pour exporter les points de montage de l’utilisateur ownCloud spécifié.
Utilisez files_external:import [nom du fichier] pour importer les anciennes configurations JSON et pour copier les configurations de montages externes sur un autre serveur ownCloud.
Ajouté dans la version 9.0.
Vérification d’intégrité¶
Les applications identifiées comme officielles DOIVENT être signées numériquement à compter de la version 9.0 d’ownCloud. Les applications officielles non signées ne seront plus installable. La signature du code est optionnelle pour toutes les applications tierces:
integrity
integrity:check-app vérifie l'intégrité d'une application en utilisant une signature
integrity:check-core vérifié l'intégrité du cœur du système en utilisant une signature
integrity:sign-app signe une application en utilisant une clé privée
integrity:sign-core signe le cœur du système en utilisant une clé privée
Après la création de votre clé, signez une application comme dans l’exemple ci-après:
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
Vérifiez votre application:
sudo -u www-data php occ integrity:check-app --path=/pathto/app appname
Si rien n’est renvoyé, votre application a été signée correctement. Si un message est renvoyé, c’est qu’il y a une erreur. Consultez Code Signing dans le manuel du développeur pour des informations plus détaillées.
integrity:sign-core est uniquement destiné aux développeurs d’ownCloud.
Consulter Signature du code pour en apprendre plus.
Ajouté dans la version 9.0.
l10n, création de fichiers de traduction Javascript pour les applications¶
Cette commande sert aux développeurs d’application pour mettre à jour leur mécanisme de traduction à partir des version ownCloud 7, 8 et supérieures.
Commandes LDAP¶
Note
Ces commandes sont disponibles seulement quand l’application « LDAP user and group backend » (user_ldap) est activée.
Vous pouvez lancer les commandes LDAP suivantes avec occ:
ldap
ldap:check-user vérifie si un utilisateur existe dans l'annuaire LDAP.
ldap:create-empty-config crée une configuration LDAP vide
ldap:delete-config supprime une configuration LDAP existante
ldap:search exécute une recherche sur un utilisateur ou un groupe
ldap:set-config modifie une configuration LDAP
ldap:show-config affiche la configuration LDAP
ldap:show-remnants affiche les utilisateurs qui n'existent plus dans l'annuaire
LDAP mais pou lequels il reste des traces dans ownCloud.
ldap:test-config teste une configuration LDAP
Rechercher un utilisateur LDAPen utilisant cette syntaxe:
sudo -u www-data php occ ldap:search [--group] [--offset="..."]
[--limit="..."] search
Cet exemple recherche dans l’attribut givenNames les valeurs commençant par « rob »:
sudo -u www-data php occ ldap:search "rob"
Ceci trouvera robbie, roberta, and robin. Pour élargir la recherche, pour trouver jeroboam par exemple, ajouter le méta-caractère astérisque:
sudo -u www-data php occ ldap:search "*rob"
Les attributs de recherche utilisateur sont définis avec ldap:set-config (ci-dessous). Par exemple, si vos attributs de recherche sont givenName et sn, vous pouvez trouver les utilisateurs avec le nom et le prénom très rapidement. Par exemple, vous trouverez Terri Hanson en recherchant te ha. Les espaces finaux sont ignorés.
Vérifier l’existence d’un utilisateur LDAP. Ceci ne fonctionne que si le serveur ownCloud ext connecté à un serveur LDAP:
sudo -u www-data php occ ldap:check-user robert
ldap:check-user ne lancera pas de recherche s’il trouve une connexion LDAP désactivée. Ceci empêche que les utilisateurs existant sur des connexions LDAP désactivées soient marqués comme supprimés. Si vous êtes certain que l’utilisateur que vou cherchez n’est pas dans l’une des connexions désactivées et existe sur une connexion active, utilisez l’option --force pour forcer à vérifier toutes les connexions LDAP actives:
sudo -u www-data php occ ldap:check-user --force robert
ldap:create-empty-config crée une configuration LDAP vide. La première que vous créez n’a pas de configID, comme dans cet exemple:
sudo -u www-data php occ ldap:create-empty-config
Created new configuration with configID ''
C’est un reliquat des premiers jours, quand il n’y avait pas d’option pour créer des configurations supplémentaires. La seconde configuration et toutes les suivantes auront un identifiant:
sudo -u www-data php occ ldap:create-empty-config
Created new configuration with configID 's01'
Vous pouvez alors lister et afficher vos configurations:
sudo -u www-data php occ ldap:show-config
Ou afficher la configuration pour un seul configID:
sudo -u www-data php occ ldap:show-config s01
ldap:delete-config [configID] supprime une configuration LDAP existante:
sudo -u www-data php occ ldap:delete s01
Deleted configuration with configID 's01'
La commande ldap:set-config sert à manipuler les configurations, comme dans cet exemple qui définit les attributs de recherche:
sudo -u www-data php occ ldap:set-config s01 ldapAttributesForUserSearch
"cn;givenname;sn;displayname;mail"
ldap:test-config teste si la configuration est correcte et si la connexion au serveur se fait:
sudo -u www-data php occ ldap:test-config s01
The configuration is valid and the connection could be established!
ldap:show-remnants sert à nettoyer les tables de correspondance LDAP et est documenté dans Purge des utilisateurs LDAP.
Commandes pour les journaux¶
Ces commandes permettent d’afficher et de configurer les préférences de journaux d’ownCloud:
log
log:manage gère la configuration des journaux
log:owncloud manipule le service de journaux d'ownCloud
Exécuter log:owncloud pour voir l’état en cours:
sudo -u www-data php occ log:owncloud
Log backend ownCloud: enabled
Log file: /opt/owncloud/data/owncloud.log
Rotate at: disabled
Utilisez l’option --enable pour activer le fichier journal. Utilisez --file pour définir un chemin d’accès au fichier différent. Mettez en place la rotation des fichiers en indiquant la taille en octets avec --rotate-size. 0 désactive la rotation.
log:manage définit le service de journalisation, le niveau de journalisation et le fuseau horaire. Les paramètres par défaut sont : owncloud, Warning et UTC. Les options disponibles sont les suivantes :
- –backend [owncloud, syslog, errorlog]
- –level [debug, info, warning, error]
Commandes de maintenance¶
Utilisez ces commandes quand vous mettez à jour ownCloud, quand vous gérez le chiffrement, quand vous réalisez des sauvegardes ou des tâches qui nécessitent d’empêcher l’activité des utilisateurs jusqu’à ce que vous ayez terminé:
maintenance
maintenance:mimetype:update-db met à jour la base de données des types MIME
et le cache de fichiers
maintenance:mimetype:update-js met à jour mimetypelist.js
maintenance:mode définit le mode de maintenance
maintenance:repair répare cette installation
maintenance:singleuser définit le mode utilisateur unique
maintenance:mode verrouille les sessions de tous les utilisateurs connectés, y compris les administrateurs, et affiche un message d’avertissement indiquant que le serveur est en mode maintenance. Les utilisateurs qui ne sont pas déjà connectés ne pourront le faire qu’après la fin de la maintenance. Quand vous sortez le serveur du mode maintenance, les utilisateurs connectés doivent recharger leur page en cours pour continuer à travailler:
sudo -u www-data php occ maintenance:mode --on
sudo -u www-data php occ maintenance:mode --off
Passer le serveur en mode utilisateur unique, permet aux administrateurs de se connecter et de travailler, mais pas les autres utilisateurs. C’est utile pour faire de la maintenance ou du dépannage sur un serveur en cours d’exécution:
sudo -u www-data php occ maintenance:singleuser --on
Single user mode enabled
Pour revenir en mode normal:
sudo -u www-data php occ maintenance:singleuser --off
Single user mode disabled
La commande maintenance:repair se lance automatiquement pendant les mises à jour pour nettoyer la base de données. Bien que vous puissiez la lancer manuellement, il n’est généralement pas utile de le faire:
sudo -u www-data php occ maintenance:repair
maintenance:mimetype:update-db met à jour la base de données d’ownCloud et le cache de fichiers avec les types MIME modifiés trouvés dans config/mimetypemapping.json. Lancez cette commande après avoir modifié config/mimetypemapping.json. Si vous modifiez un type MIME, exécutez maintenance:mimetype:update-db --repair-filecache pour appliquer les modifications aux fichiers existants.
Sécurité¶
Utilisez ces commandes pour gérer les certificats SSL du serveur. C’est utile quand vous créez des partages fédérés avec d’autres serveurs ownCloud utilisant des certificats auto-signés:
security
security:certificates liste les certificats de confiance
security:certificates:import importe les certificats de confiance
security:certificates:remove supprime les certificats de confiance
Cet exemple liste les certificats installés:
sudo -u www-data php occ security:certificates
Importer un nouveau certificat:
sudo -u www-data php occ security:import /path/to/certificate
Supprimer un certificat:
sudo -u www-data php occ security:remove [certificate name]
Modes Shibboleth (Édition Entreprise seulement)¶
Note
Cette commande n’est disponible que lorsque l’application « Shibboleth user backend » (user_shibboleth) est activée.
shibboleth:mode définit votre mode Shibboleth à notactive, autoprovision ou ssoonly:
shibboleth:mode [mode]
Corbeille¶
Note
Cette commande n’est disponible que lorsque l’application « Deleted files » (files_trashbin) est activée.
trashbin
trashbin:cleanup purge les fichiers supprimés
trashbin:expire expiration des corbeilles utilisateurs
La commande trashbin:cleanup supprime les fichiers supprimés des utilisateurs spécifiés dans une liste séparés par des espaces, ou de tous les utilisateurs si aucun n’est spécifié:
sudo -u www-data php occ trashbin:cleanup
Remove all deleted files
Remove deleted files for users on backend Database
freda
molly
stash
rosa
edward
Cet exemple purge les fichiers supprimés de molly et freda:
sudo -u www-data php occ trashbin:cleanup molly freda
Remove deleted files of molly
Remove deleted files of freda
trashbin:expire supprime seulement les fichiers expirés en fonction du paramètre trashbin_retention_obligation du fichier config.php (voir la section Fichiers supprimés dans Paramètres de Config.php). Par défaut, les fichiers expirés sont supprimés pour tous les utilisateurs, ou vous pouvez indiquer une liste d’utilisateurs séparés par des espaces.
Commandes utilisateurs¶
La commande user crée et supprime les utilisateurs, réinitialise les mots de passe, affiche un rapport simple indiquant combien d’utilisateurs vous avez et quand un utilisateur s’est connecté pour la dernière fois:
user
user:add ajoute un utilisateur
user:delete supprime l'utilisateur spécifié
user:lastseen affiche quand l'utilisateur s'est connecté pour
la dernière fois
user:report affiche le nombre d'utilisateurs ayant un accès
user:resetpassword réinitialise le mot de passe de l'utilisateur spécifié
Vous pouvez créer un utilisateur avec son nom d’affichage, son nom de connexion et l’appartenance à un groupe avec la commande user:add. La syntaxe est la suivante:
user:add [--password-from-env] [--display-name[="..."]] [-g|--group[="..."]]
uid
display-name correspond au Nom complet sur la page personnelle de l’utilisateur dans l’interface Web et uid correspond au compte de connexion. Cet exemple ajoute le nouvel utilisateur Layla Smith et l’ajoute aux groupes users et db-admins. Les groupes qui n’existent pas seront créés:
sudo -u www-data php occ user:add --display-name="Layla Smith"
--group="users" --group="db-admins" layla
Enter password:
Confirm password:
The user "layla" was created successfully
Display name set to "Layla Smith"
User "layla" added to group "users"
User "layla" added to group "db-admins"
Rendez-vous sur la page Utilisateurs pour voir le nouvel utilisateur.
password-from-env permet de définir le mot de pase utilisateur à partir d’une variable d’environnement. Ceci empêche l’exposition du mot de passe à tous les utilisateurs via la liste des processus et ne sera visible que dans l’historique de l’utilisateur (root) exécutant la commande. Cela permet aussi de créer des scripts pour ajouter plusieurs utilisateurs.
Pour utiliser password-from-env vous devez être le root « réel » plutôt que sudo, car sudo ne récupère pas les bonnes variables. Cet exemple ajoute l’utilisateur Fred Jones:
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'
The user "fred" was created successfully
Display name set to "Fred Jones"
User "fred" added to group "users"
Vous pouvez réinitialiser le mot de passe de tout utilisateur, y compris ceux des administrateurs (voir Réinitialisation d’un mot de passe administrateur perdu):
sudo -u www-data php occ user:resetpassword layla
Enter a new password:
Confirm the new password:
Successfully reset password for layla
Vous pouvez aussi utiliser password-from-env pour réinitialiser les mots de passe:
export OC_PASS=newpassword
su -s /bin/sh www-data -c 'php occ user:resetpassword --password-from-env
layla'
Successfully reset password for layla
Pour supprimer un utilisateur:
sudo -u www-data php occ user:delete fred
Afficher la dernière connexion d’un utilisateur:
sudo -u www-data php occ user:lastseen layla
layla's last login: 09.01.2015 18:46
Générer un rapport succinct indiquant le nombre d’utilisateurs, y compris ceux d’un système d’authentification externe comme LDAP:
sudo -u www-data php occ user:report
+------------------+----+
| User Report | |
+------------------+----+
| Database | 12 |
| LDAP | 86 |
| | |
| total users | 98 |
| | |
| user directories | 2 |
+------------------+----+
Versions¶
Note
Cette commande n’est disponible que si l’application « Versions » (files_versions) est activée.
Utilisez cette commande pour supprimer des versions de fichiers pour des utilisateurs spécifiques ou pour tous les utilisateurs quand aucun n’est spécifié:
versions
versions:cleanup supprime les versions
versions:expire expiration des versions de fichiers des utilisateurs
Utiliser versions:cleanup pour supprimer les versions les plus anciennes pour des utilisateurs spécifiques (en conservant les versions les plus récentes), ou pour tous les utilisateurs si aucun n’est spécifié.
Cet exemple supprime toutes les versions pour tous les utilisateurs:
sudo -u www-data php occ versions:cleanup
Delete all versions
Delete versions for users on backend Database
freda
molly
stash
rosa
edward
Vous pouvez supprimer des versions pour des utilisateurs spécifiques dans une liste séparés par des espaces:
sudo -u www-data php occ versions:cleanup freda molly
Delete versions of freda
Delete versions of molly
``versions:expire`` supprime seulement les versions ayant expiré en fonction du
paramètre ``versions_retention_obligation`` dans le fichier ``config.php`` (voir la
section Versions de fichiers dans :doc:`config_sample_php_parameters`). Par défaut,
les versions de fichiers ayant expiré sont supprimées pour tous les utilisateurs, ou
vous pouvez indiquer une liste d'utilisateurs séparés par des espaces.
Installation en ligne de commande¶
Ces commandes sont disponibles uniquement après avoir téléchargé et décompressé l’archive ownCloud, sans avoir effectué d’étape d’installation.
Vous pouvez installer ownCloud entièrement en ligne de commande. Après avoir téléchargé l’archive et copié ownCloud dans le répertoire désiré, ou après avoir installé le paquet d’ownCloud packages (Consulter Méthode d’installation préférée pour Linux et Manuel d’installation pour Linux), vous pouvez utiliser les commandes occ au lieu de lancer l’assistant d’installation graphique.
Appliquez les permissions correctes sur les répertoires d’ownCloud (voir Renforcement des permissions de répertoires). Ensuite, choisissez vos options``occ``. Ceci liste les options disponibles:
sudo -u www-data php /var/www/owncloud/occ
ownCloud is not installed - only a limited number of commands are available
ownCloud version 9.0.0
Usage:
[options] command [arguments]
Options:
--help (-h) affiche ce message d'aide
--quiet (-q) ne renvoie aucun message de sortie
--verbose (-v|vv|vvv) augmente la verbosité des messages : 1 normal,
2 plus verbeux, 3 débogage
--version (-V) affiche la version de cette application
--ansi force la sortie en ANSI
--no-ansi désactive ANSI pour la sortie
--no-interaction (-n) ne pose pas de question interactive
Available commands:
check vérifie les dépendances de l'environnement serveur
help affiche l'aide pour une commande
list liste les commandes
status affiche des informations d'état
app
app:check-code vérifie la conformité du code
l10n
l10n:createjs crée des fichiers JavaScript de traduction pour une application donnée
maintenance
maintenance:install installe ownCloud
Affichage des options de maintenance:install:
sudo -u www-data php occ help maintenance:install
ownCloud is not installed - only a limited number of commands are available
Usage:
maintenance:install [--database="..."] [--database-name="..."]
[--database-host="..."] [--database-user="..."] [--database-pass[="..."]]
[--database-table-prefix[="..."]] [--admin-user="..."] [--admin-pass="..."]
[--data-dir="..."]
Options:
--database type de la base de données(par défaut : "sqlite")
--database-name nom de la base de données
--database-host nom d'hôte du serveur de base de données(par défaut : "localhost")
--database-user nom d'utilisateur pour se connecter à la base de données
--database-pass mot de passe pour l'utilisateur de la base de données
--database-table-prefix préfixe pour toutes les tables (par défaut : oc_)
--admin-user Nom d'utilisateur de l'administrateur (par défaut : "admin")
--admin-pass mot de passe du compte administrateur
--data-dir chemin d'accès au répertoire data (par défaut :
"/var/www/owncloud/data")
--help (-h) affiche ce message d'aide
--quiet (-q) ne renvoie aucun message de sortie
--verbose (-v|vv|vvv) augmente la verbosité des messages : 1 normal,
2 plus verbeux, 3 débogage
--version (-V) affiche la version de cette application
--ansi force la sortie en ANSI
--no-ansi désactive ANSI pour la sortie
--no-interaction (-n) ne pose pas de question interactive
Cet exemple termine l’installation:
cd /var/www/owncloud/
sudo -u www-data php occ maintenance:install --database
"mysql" --database-name "owncloud" --database-user "root" --database-pass
"password" --admin-user "admin" --admin-pass "password"
ownCloud is not installed - only a limited number of commands are available
ownCloud was successfully installed
Les base de données gérées sont:
- sqlite (SQLite3 - pas pour l'Édition Entreprise)
- mysql (MySQL/MariaDB)
- pgsql (PostgreSQL)
- oci (Oracle - Édition Entreprise seulement)
Mise à jour en ligne de commande¶
Ces commandes sont disponibles uniquement après avoir téléchargé et décompressé l’archive ownCloud ou installé les paquets, et avant de commencer la mise à jour.
Liste toutes les options, comme cet exemple sous CentOS Linux:
sudo -u apache php occ upgrade -h
Usage:
upgrade [--skip-migration-test] [--dry-run] [--no-app-disable]
Options:
--skip-migration-test passe outre la simulation de migration de schéma de la base de données
et fait la mise à jour directement
--dry-run ne lance que la simulation de migration de schéma de la base de données
et ne fait pas la mise à jour
--no-app-disable passe outre la désactivation des applications tierces
--help (-h) affiche ce message d'aide
--quiet (-q) ne renvoie aucun message de sortie
--verbose (-v|vv|vvv) augmente la verbosité des messages : 1 normal,
2 plus verbeux, 3 débogage
--version (-V) affiche la version de cette application
--ansi force la sortie en ANSI
--no-ansi désactive ANSI pour la sortie
--no-interaction (-n) ne pose pas de question interactive
Quand vous réalisez une mise à jour de votre serveur ownCloud (voir la section Maintenance de ce manuel), il est préférable d’utiliser occ plutôt que l’interface graphique pour réaliser l’étape de la mise à jour de la base de données, ce afin d’éviter les dépassements de temporisation. Les scripts PHP invoqués à partir de l’interface Web sont limités à 3600 seconds. Sur de très gros environnements, cela peut ne pas être suffisant, laissant le système dans un état incohérent. Après avoir réalisé toutes les étapes préliminaires (voir Comment mettre à jour votre serveur ownCloud) utilisez cette commande pour mettre à jour votre base de données, comme dans cet exemple pour CentOS Linux. Veuillez noter la façon dont les étapes sont détaillées:
sudo -u www-data php occ upgrade
ownCloud or one of the apps require upgrade - only a limited number of
commands are available
Turned on maintenance mode
Checked database schema update
Checked database schema update for apps
Updated database
Updating <gallery> ...
Updated <gallery> to 0.6.1
Updating <activity> ...
Updated <activity> to 2.1.0
Update successful
Turned off maintenance mode
L’activation de la verbosité affiche les horodatages:
sudo -u www-data php occ upgrade -v
ownCloud or one of the apps require upgrade - only a limited number of commands are available
2015-06-23T09:06:15+0000 Turned on maintenance mode
2015-06-23T09:06:15+0000 Checked database schema update
2015-06-23T09:06:15+0000 Checked database schema update for apps
2015-06-23T09:06:15+0000 Updated database
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
S’il y a une erreur, une exception est renvoyée qui sera détaillée dans le fichier journal d’ownCloud. Vous pouvez donc utiliser la sortie standard pour savoir ce qui s’est passé ou pour ouvrir un rapport de bogue:
Turned on maintenance mode
Checked database schema update
Checked database schema update for apps
Updated database
Updating <files_sharing> ...
Exception
ServerNotAvailableException: LDAP server is not available
Update failed
Turned off maintenance mode
Avant de terminer la mise à jour, ownCloud exécute d’abord une simulation en copiant toutes les tables de la base de données vers de nouvelles tables, et réalise la mise à jour sur celles-ci pour s’assurer que la mise à jour se terminera correctement. Les tables copiées sont supprimées après la mise à jour. Ceci prend deux fois plus de temps, ce qui sur de grosses installations peut prendre plusieurs heures. Vous pouvez donc omettre cette étape en utilisant l’option --skip-migration-test option:
sudo -u www-data php occ upgrade --skip-migration-test
Vous pouvez réaliser cette simulation manuellement avec l’option --dry-run:
sudo -u www-data php occ upgrade --dry-run
Authentification à deux facteurs¶
Si une application d’authentification à deux facteurs est activée, elle l’est pour tous les utilisateurs par défaut (bien que l’application puisse décider si l’utilisateur doit s’y conformer). Dans le cas où un utilisateur perd son accès au deuxième facteur (par un téléphone perdu avec une vérification SMS à deux facteurs), l’administrateur peut temporairement désactiver cette vérification à deux facteurs pour cet utilisateur avec la commande occ :
sudo -u www-data php occ twofactor:disable <utilisateur>
Pour réactiver l’authentification à deux facteurs, utiliser la commande suivante :
sudo -u www-data php occ twofactor:enable <utilisateur>
Désactivation d’utilisateurs¶
Les administrateurs peuvent désactiver les utilisateurs avec la commande occ :
sudo -u www-data php occ user:disable <utilisateur>
Et avec cette commande pour les réactiver :
sudo -u www-data php occ user:enable <utilisateur>
Veuillez noter qu’une fois les utilisateurs désactivés, leurs navigateurs en session seront déconnectés.