Ignorer les liens de navigation | |
Quitter l'aperu | |
Dépannage de problèmes courants dans Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Français) |
1. Gestion des informations sur les pannes système (tâches)
2. Gestion des fichiers noyau (tâches)
Chemins d'accès aux fichiers noyau configurables
Noms de fichiers noyau développés
Définition du modèle de nom de fichier noyau
Activation des programmes setuid pour créer des fichiers noyau
Gestion des fichiers noyau (liste des tâches)
Affichage de la configuration du vidage sur incident
Définition d'un modèle de nom de fichier noyau
Activation d'un chemin d'accès au fichier noyau par processus
Résolution des problèmes de fichier noyau
3. Dépannage du système et des problèmes logiciels (tâches)
4. Dépannage de divers problèmes système et logiciels (tâches)
Les fichiers noyau sont générés lorsqu'un processus ou une application se termine de façon anormale. Les fichiers noyau sont gérés avec la commande coreadm. Par exemple, vous pouvez utiliser la commande coreadm pour configurer un système de sorte que tous les fichiers noyau du processus soient placés dans un seul répertoire système. Cela signifie qu'il est plus facile d'assurer un suivi des incidents en examinant les fichiers noyau dans un répertoire spécifique chaque fois qu'un processus ou démon se termine de façon anormale.
Les deux chemins d'accès aux fichiers noyau (core) configurables suivants peuvent être activés ou désactivés indépendamment l'un de l'autre :
Un chemin d'accès au fichier noyau par processus, qui renvoie par défaut à core et est activé par défaut. Si cette option est activée, le chemin d'accès au fichier noyau par processus entraîne la création d'un fichier noyau (core) lorsque le processus se termine de façon anormale. Le chemin d'accès par processus est hérité par un nouveau processus à partir de son processus parent.
Lorsqu'il est généré, le fichier noyau par processus est détenu par le propriétaire du processus, qui détient des droits de lecture/écriture. Seul l'utilisateur propriétaire peut visualiser ce fichier.
Un chemin d'accès au fichier noyau global, qui est défini par défaut sur core et est désactivé par défaut. Si cette option est activée, un autre fichier noyau avec le même contenu que le fichier noyau par processus est créé à l'aide du chemin d'accès au fichier noyau global.
Lorsqu'il est généré, le fichier noyau global est détenu par l'utilisateur root, et lui seul possède les droits de lecture/écriture sur ce fichier. Les utilisateurs sans privilèges ne peuvent pas visualiser ce fichier.
Lorsqu'un processus se termine de façon anormale, il génère un fichier noyau dans le répertoire en cours par défaut. Si le chemin d'accès au fichier noyau global est activé, chaque processus qui se termine de façon anormale risque de produire deux fichiers, l'un dans le répertoire de travail en cours, l'autre à l'emplacement du fichier noyau global.
Par défaut, un processus setuid ne produit pas les fichiers noyau à l'aide du chemin global ou par processus.
Si un répertoire de fichier noyau (core) global est activé, les fichiers noyau (core) peuvent être distingués les uns des autres à l'aide des variables décrites dans le tableau suivant.
|
Par exemple, si le chemin d'accès au fichier noyau global est défini sur :
/var/core/core.%f.%p
et si un processus sendmail avec PID 12345 se termine de façon anormale, il génère le fichier noyau (core) suivant :
/var/core/core.sendmail.12345
Vous pouvez définir un modèle de nom de fichier noyau à l'échelle globale, par zone ou par processus. En outre, vous pouvez définir des valeurs par processus par défaut qui persistent après une réinitialisation du système.
Par exemple, la commande coreadm suivante définit le modèle de fichier noyau par processus par défaut. Ce paramètre s'applique à tous les processus qui n'ont pas explicitement remplacé le modèle de fichier noyau par défaut. Ce paramètre persiste après les redémarrages du système. Par exemple, la commande coreadm suivante définit le modèle de fichier noyau global pour tous les processus lancés par le processus init. Ce modèle sera conservé après les réinitialisations du système.
# coreadm -i /var/core/core.%f.%p
La commande coreadm suivante définit le modèle de nom de fichier noyau par processus pour n'importe quel processus :
# coreadm -p /var/core/core.%f.%p $$
Les symboles $$ représentent un paramètre substituable pour l'ID de processus du shell en cours d'exécution. Le modèle de nom de fichier noyau par processus est hérité par tous les processus enfants.
Une fois qu'un modèle de nom de fichier noyau global ou par processus a été défini, il doit être activé à l'aide de la commande coreadm -e. Reportez-vous aux procédures suivantes pour plus d'informations.
Vous pouvez définir le modèle de nom de fichier noyau pour tous les processus exécutés au cours d'une session de connexion d'un utilisateur en plaçant la commande dans un fichier d'initialisation d'un utilisateur, par exemple .profile.
Vous pouvez utiliser la commande coreadm pour activer ou désactiver les programmes setuid afin de créer des fichiers noyau pour tous les processus système ou par processus en définissant les chemins d'accès suivants :
Si l'option setuid globale est activée, un chemin de fichier noyau global permet à tous les programmes setuid d'un système de produire des fichiers noyau (core).
Si l'option setuid par processus est activée, un chemin de fichier noyau par processus permet à certains processus setuid de produire des fichiers noyau (core).
Par défaut, les deux indicateurs sont désactivés. Pour des raisons de sécurité, le chemin d'accès au fichier noyau global doit être un nom de chemin complet, commençant par /. Si l'utilisateur root désactive les fichiers noyau par processus, les utilisateurs individuels ne peuvent pas obtenir les fichiers noyau.
Les fichiers noyau setuid sont détenus par l'utilisateur root qui possède des droits de lecture/écriture spécifiques. Les utilisateurs normaux ne peuvent pas accéder à ces fichiers, même si le processus qui a produit le fichier noyau setuid appartenait à un utilisateur ordinaire.
Pour plus d'informations, reportez-vous à la page de manuel coreadm(1M).
|
Utilisez la commande coreadm sans aucune option pour afficher la configuration du vidage sur incident en cours.
$ coreadm global core file pattern: global core file content: default init core file pattern: core init core file content: default global core dumps: disabled per-process core dumps: enabled global setid core dumps: disabled per-process setid core dumps: disabled global core dump logging: disabled
Reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.
# coreadm -e process
# coreadm $$ 1180: /home/kryten/corefiles/%f.%p
Reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.
# coreadm -e global -g /var/core/core.%f.%p
# coreadm global core file pattern: /var/core/core.%f.%p global core file content: default init core file pattern: core init core file content: default global core dumps: enabled per-process core dumps: enabled global setid core dumps: disabled per-process setid core dumps: disabled global core dump logging: disabled