Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
29 août 2015

htmlpdflatexmanmd




acl

acl

Listes de contrôle d'accès

   Tout objet peut être considéré comme étant associé avec une ACL qui gouverne l'accès discrétionnaire de cet objet. Cette ACL est référée à une ACL d'accès. En plus, un répertoire peut avoir une ACL associée qui gouverne l'ACL initial pour les objets créés dans ce répertoire. Cette ACL est référé à l'ACL par défaut.

   Une ACL consiste d'un jeu d'entrées d'ACL. Une entrée ACL spécifie les permissions d'accès sur l'objet associé pour un utilisateur ou groupe individuel comme une combinaison de permissions de lecture, écriture et de recherche/exécution.

   Une entrée d'ACL contient un type de tag d'entrée, une qualifiant de tag d'entrée, et un jeu de permissions. On utilise le terme qualifier pour dénoter le qualifieur de tag d'entrée d'une entrée d'ACL.

   Le qualifieur dénote l'identifiant d'un utilisateur ou un groupe, pour les entrées avec les types de tag d'ACL_USER ou ACL_GROUP, respectivement. Les entrées avec des types de tag autre que ACL_USER ou ACL_GROUP n'ont pas de qualifieur définis.

   Les types de tag d'entrée suivant sont définis

ACL_USER_OBJ dénote les droits d'accès pour le propriétaire du fichier
ACL_USER dénote les droits d'accès pour les utilisateurs identifiés par le qualifieur de l'entrée
ACL_GROUP_OBJ dénote les droits d'accès pour le groupe du fichier
ACL_GROUP dénote les droits d'accès pour les groupes identifiés par le qualifieur de l'entrée
ACL_MASK dénote les droits d'accès maximum qui peuvent être donnés par les entrées de type ACL_USER, ACL_GROUP_OBJ ou ACL_GROUP.
ACL_OTHER dénote les droits d'accès pour les processus qui ne matchent aucune autre entrée dans l'acl.

   Quand un accès est vérifié, les entrées ACL_USER_OBJ et ACL_USER sont testés avec le user ID effectif. L'ID de groupe effectif, et les IDs de groupe supplémentaire sont testé avec les entrées ACL_GROUP_OBJ et ACL_GROUP.

   Une ACL valide contient exactement une entrée avec chaque types de tag ACL_USER_OBJ, ACL_GROUP_OBJ, et ACL_OTHER. Les entrées avec les types de tag ACL_USER et ACL_GROUP peuvent apparaître 0 ou plusieurs fois dans une ACL. Dans une ACL qui contient des entrée de type de tag ACL_USER ou ACL_GROUP doivent contenir exactement une entrée de type de tag ACL_MASK. Si une ACL ne contient pas d'entrées de type de tag ACL_USER ou ACL_GROUP, l'entrée ACL_MASK est optionnel.

   Tous les qualifier d'UID doivent être unique dans les entrées du type de tag ACL_USER, et tous les GID doivent être unique dans les entrée de type de tag ACL_GROUP.

   La fonction acl_get_file() retourne une ACL avec 0 entrées d'ACL comme ACL par défaut d'un répertoire, si le répertoire n'est pas associé avec une ACL par défaut. La fonction acl_set_file() accepte également une ACL avec 0 entrées d'ACL comme ACL par défaut pour les répertoires, dénotant que le répertoire ne devrait pas être associé avec une ACL par défaut. C'est équivalement à utiliser la fonction acl_delete_def_file().
   [SECTION] name="Correspondance entre les entrées d'ACL et les bits de permission de fichier" table="paragraphes" imbrication="0"

   Il y a une correspondance entre les permissions du propriétaire du fichier, groupe, et autres et les entrées d'ACL: les permissions du propriétaire correspondent aux permissions de l'entrée ACL_USER_OBJ. Si l'ACL a une entrée ACL_MASK, les permissions du groupe correspondent aux permission de l'entrée ACL_MASK. Sinon, si l'ACL n'a pas d'entrée ACL_MASK, les permissions du groupe correspondent aux permissions de l'entrée ACL_GROUP_OBJ. Les permissions des autres correspondent aux permission de l'entrée ACL_OTHER_OBJ.

   Les permissions du propriétaire, du groupe, et des autres match toujours les permissions de l'entrée d'ACL correspondante. Les modification des bits de permission de fichier résultent en la modification des entrées d'ACL correspondantes, et les modification des entrées d'ACL résultent en la modification des bits de permission de fichier.

Création d'objet et ACL par défaut

   L'ACL d'accès à un objet fichier est initialisé quand l'objet est créé avec une des fonctions creat(), mkdir(), mknod(), mkfifo() ou open(). Si une ACL par défaut est associée avec un répertoire, le paramètre mode des fonctions créant les objets fichier et l'ACL par défaut du répertoire sont utilisés pour déterminer l'ACL du nouvel objet:

1. Le nouvel objet hérite de l'ACL par défaut du répertoire correspondant comme son ACL d'accès
2. Les entrées d'ACL correspondant aux bits de permission de fichier sont modifiés pour qu'elles ne contiennent pas de permission qui ne sont pas contenus dans les permissions spécifiées par le paramètre mode.

   Si aucune ACL par défaut n'est associé avec un répertoire, le paramètre mode sont utilisés pour déterminer l'ACL du nouvel objet:

1. Le nouvel objet se voit assigner une ACL d'accès contenant des entrées de type de tag ACL_USER_OBJ, ACL_GROUP_OBJ, et ACL_OTHER. Les permission de ces entrées sont définie aux permissions spécifiées par le masque de création de fichier.
2. Les entrées d'ACL d'accès correspondant au bits de permission de fichier sont modifié pour qu'ils ne contiennent pas de permission qui ne soient pas contenus dans les permissions spécifiées par le paramètre mode.

Algorithme de vérification d'accès

   Un processus peut demander un accès en lecture, écriture ou exécution/recherche sur un objet fichier protégé par une ACL. L'algorithme de vérification d'accès détermine si l'accès à l'objet est autorisé.

1. Si le User ID effectif du processus correspond au User ID du propriétaire du fichier, alors

        - Si l'entrée ACL_USER_OBJ contient les permissions demandées, l'accès est donné,
        - Sinon l'accès est refusé

2. Sinon si le User ID effectif du processus correspond au qualifier d'une entrée de type ACL_USER, alors

        - Si l'entrée ACL_USER correspondant et l'entrée ACL_MASK contiennent les permissions requises, l'accès est donné
        - Sinon l'accès est refusé

3. Sinon si le GID effectif d'un ID de groupe supplémentaire du processus correspond au groupe du fichier ou le qualifier d'une entrée du type ACL_GROUP, alord

        - Si l'ACL contient une entrée ACL_MASK, alors

                . Si l'entrée ACL_MASK et une des entrées ACL_GROUP_OBJ ou ACL_GROUP correspondant contient les permissions requises, l'accès est donné
                . Sinon l'accès est refusé

        - Sinon (noter qu'il ne peut pas y avoir d'entrée ACL_GROUP sans entrée ACL_MASK)

                . Si l'entrée ACL_GROUP_OBJ contient les permissions requises, l'accès est donné,
                . Sinon l'accès est refusé

4. Sinon si l'entrée ACL_OTHER contient les permissions requises, l'accès est donné
5. Sinon l'accès est refusé.

Forme de texte d'ACL

   Une forme de texte long et cours pour représenter les ACL sont définis. Dans les 2 formes, les entrées d'ACL sont représenté en 3 champs séparés: le type de tag de l'entrée de l'ACL, le qualifier de l'entrée de l'ACL, et les permissions d'accès discrétionnaires. Le premier champ contient un des mots clé de type de tag suivant:

user Une entrée ACL user spécifie que l'accès est donné soit au propriétaire du fichier (type de tag d'entrée ACL_USER_OBJ) ou un utilisateur spécifique (type de tag d'entrée ACL_USER).
group Une entrée ACL group spécifie que l'accès est donné soit au groupe du fichier (type de tag d'entrée ACL_GROUP_OBJ), ou un groupe spécifique (type de tag d'entrée ACL_GROUP).
mask Une entrée ACL mask spécifie l'accès maximum qui peut être donné à toute entrée d'ACL excepté l'entrée utilisateur pour le propriétaire du fichier et l'entrée other (type de tag d'entrée ACL_MASK).
other Une entrée ACL other spécifie l'accès donné à tout processus qui ne correspond à aucune entrée d'ACL user et group (type de tag d'entrée ACL_OTHER).

   Le second champ contient l'identifiant d'utilisateur ou de groupe associé avec l'entrée d'ACL pour les entrées de type de tag ACL_USER ou ACL_GROUP, et est vide pour toutes les autres entrées. Un identifiant d'utilisateur peut être un nom d'utilisateur ou un UID. Un identifiant de groupe peut être un nom de groupe ou un ID.

   Le troisième champ contient les permissions d'accès discrétionnaires. Les permission de lire, écrire, et recherche/exécution sont représentés par les caractères r,w et y, respectivement. Chacun de ces caractères est remplacé par le caractère '-' pour indiquer qu'une permission est absente. En convertissant de la forme texte en représentation interne, les permissions absente n'ont pas besoin d'être spécifiés.

   Les espaces blanc sont autorisé au début et à la fin de chaque entrée d'ACL, et immédiatement avant et après un séparateur de champ.

Forme de texte long

   La forme de texte long contient une entrée d'ACL par ligne. En plus, un '#' peut commencer un commentaire qui s'étend jusqu'à la fin de la ligne. Si une entrée d'ACL ACL_USER, ACL_GROUP_OBJ ou ACL_GROUP contient des permissions qui ne sont pas contenus dans ACL_MASK, l'entrée est suivie par un '#', la chaîne 'effective', et les permissions d'accès effectif définis par cette entrée.

Exemple:
user::rw-
user:lisa:rw- #effective:r--
group::r--
group:toolies:rw- #effective:r--
mask::r--
other::r--

Forme de texte court

   La forme de texte court est une séquence d'entrées d'ACL séparés par des virgules, et est utilisant comme entrée. Les commantaires ne sont pas supportés. Les mots clé de type de tag d'entrée peuvent apparaître soit sous le forme complète, soit sous forme d'une seule lettre. Les abréviations sont pour user (u), group (g), mask (m) et other (o). Les permission peuvent contenir au moins un caractère de chaque dans n'importe quel ordre.

Exemple:
u::rw-,u:lisa:rw-,g::r--,g:toolies:rw-,m::r--,o::r--
g:toolies:rw,u:lisa:rw,u::wr,g::r,o::r,m::r

   Dans les systèmes qui supportent les ACL, les utilitaires de fichier ls, cp et mv changent leur comportement de la manière suivante:

- Pour les fichier qui ont une ACL par défaut ou une ACL d'accès qui contient plus que les 3 entrées requise, ls -l affiche un signe + après la chaîne de permissions.
- Si le flag -p est spécifié, l'utilisataire cp préserve également les ACL. Si ce n'est pas possible, une alerte est produite.
- mv préserve toujours les ACL. Si ce n'est pas possible, une alerte est produite.
^
11 novembre 2011

htmlpdflatexmanmd




acpi

acpi

Affiche le statut de la batterie et d'autres informations ACPI, depuis /proc et /sys

OPTIONS

-b, --battery Information sur la batterie
-a, --ac-adapter Information sur l'adapteur de courant
-t, --thermal Information de température
-c, --cooling Information de refroidissement
-V, --everything Tous les périphériques
-s, --show-empty Affiche les périphériques non-opérationnels
-i, --details Informations détaillées
-f, --fahrenheit Températures exprimées en ° F
-k, --kelvin Températures exprimées en ° K
-p, --proc Utilise l'ancienne interface /proc. par défaut, utilise le nouveau /sys
-d, --directory Chemin vers les infos ACPI (défaut : /proc/acpi ou /sys/class)
^
11 novembre 2011

htmlpdflatexmanmd




acpid

acpid

Notifier les programmes utilisateurs des évènements ACPI

   acpid est conçus pour notifier les programmes utilisateurs des évènements ACPI. acpid devrait être démarré durant le boot. Il va ouvrir le fichier d'event (/proc/acpi/event) et tenter de lire toutes les lignes qui représentent les events ACPI. S'il n'existe pas, acpid tente de se connecter au kernel linux via la couche d'entrée et netlink. Quand un event ACPI est reçu d'une de ces sources, acpid examine une liste de règles, et exécute les règles qui matchent l'event. Il ignore tous les events ACPI entrant si un fichier /var/lock/acpid existe.

   Les règles sont définies par de simples fichiers de configuration (dans /etc/acpi/events par défaut), et parcoure tous les fichiers réguliers. Les lignes blanches, ou commençant par un '#' sont ignorés. Chaque ligne a 3 tokens: la clé, un signe '=' et la valeur. La clé peut avoir 63 caractères, et est sensible à la casse. La valeur d'event est une expression régulière.

   La valeur de l'action est une ligne de commande, qui sera invoqué via /bin/sh quand un event match la règle. La ligne de commande peut contenir des caractères spéciaux et seront préservés. Le seul caractère spécial dans la valeur action est '%'. La chaîne %e remplace le texte de l'event. %% sera remplacé par %.

   Cette fonctionnalité permet à plusieurs règles d'être définies pour le même event. Pour forcer acpid à recharger les règles de configuration, lui envoyer un SIGHUP.

   En plus des fichiers de règles, acpid accepte également des connections sur un socket UNIX (/var/run/acpid.socket par défaut). Une fois connecté, acpid envoie le texte de tous les events ACPI au client. acpid ne ferme pas le socket client excepté dans le cas d'un SIGHUP ou quand acpid se termine.

   acpid log toutes ses activités dans sysylog.

OPTIONS

-c, --confdir Répertoire contenant les fichiers de règle. (défaut /etc/acpi/events)
-C, --clientmax Nombre max de connections socket non-root (défaut 256)
-d, --debug Mode debug
-e, --eventfile Fichier d'event lu par acpid (défaut /proc/acpi/event)
-n, --netlink force acpid à utiliser l'interface netlink du kernel pour les events ACPI
-f, --foreground Ne se daemonise pas
-l, --logevents log les informations de tous les events et actions
-L, --lockfile Fichier lock (défaut : /var/lock/acpid)
-g, --socketgroup Change le groupe propriétaire du socket où acpid publie les events
-m, --socketmode change les permissions du socket UNIX (défaut 0666)
-s, --socketfile Nom du socket à utiliser (défaut : /var/run/acpid.socket)
-S, --nosoket N'ouvre pas de socket UNIX
-p, --pidfile Fichier pid (défaut /var/run/acpid.pid)

Exemples

Éteindre le système si vous appuyez sur le bouton power:
event=button/power
action=/etc/acpi/power.sh "%e"
ce script contenant:
/sbin/shutdown -h now "Power button pressed"
^
11 novembre 2011

htmlpdflatexmanmd




acpi_listen

acpi_listen

Écouteur d'évènement ACPI

   Simple utilitaire qui se connecte à acpid et écoute les events. Quand un event se produit, acpi_listen l'affiche sur stdout.

OPTIONS

-c, --count events Nombre d'events max à recevoir avant de quitter
-s, --socketfile filename Change le nom de socket de domaine UNIX qu'acpid ouvre. Défaut : /var/run/acpid.socket
-t, --time seconds Écoute pendant la période spécifiée, et quitte
^
03 novembre 2011

htmlpdflatexmanmd




add-shell

add-shell

Ajoute des interpréteurs à la liste des interpréteurs initiaux valables

   Copie /etc/shells dans /etc/shells.tmp, ajoute les interpréteurs de commande à ce fichier, puis copie ce fichier temporaire dans /etc/shells. Le chemin complet de l’interpréteur doit être fournis.

^
11 février 2014

htmlpdflatexmanmd




addpart

addpart

Informe le kernel Linux d'une nouvelle partition. Cette commande ne manipule pas les partitions du disque

OPTIONS

device Spécifie le périphérique disque
partition Spécifie le numéro de partition
start Spécifie le début de la partition (en secteurs de 512 octets)
length Spécifie la longueur de la partition (en secteurs de 512 octets)
^
29 octobre 2011

htmlpdflatexmanmd




adduser

adduser, addgroup

Ajoute un utilisateur ou un groupe au système, en fonction des options fournies en ligne de commandes ou du fichier /etc/adduser.conf

   Sans les options --system ou --group, ajoute un utilisateur normal. Par défaut, chaque utilisateur se voit attribuer un groupe avec son nom propre. adduser crée un répertoire personnel en fonction de DHOME, GROUPHOMES et LETTERHOMES.

   Si le fichier /usr/local/sbin/adduser.local existe, il est exécuté une fois que l'utilisateur ait été configuré, de façon à réaliser des opérations propres au système. Les paramètres passés à adduser.local sont:

  nom_utilisateur uid gid répertoire_personnel

   La variable d'environnement VERBOSE est positionnée comme suit:

0 si --quiet est spécifié
1 si --quiet et --debug ne sont pas spécifiés
2 si --debug est spécifié

   Par défaut, les utilisateurs systèmes sont placés dans le groupe nogroup. Une répertoire personnel est créé avec les même règles que pour les utilisateurs normaux. Le nouvel utilisateur aura /bin/false comme interpréteur de commande (sans --shell spécifié), et aura un compte désactivé. Les fichiers squelette ne sont pas copiés.

OPTIONS

--conf utilise le fichier spécifié plutôt que /etc/adduser.conf
--disabled-login N'utilise pas passwd pour fixer le mot de passe.
--disabled-password idem, mais les connexion sont toujours possibles.
--force-badname Par défaut, les utilisateurs et les groupes sont comparés à l'expression rationnelle NAME_REGEX. Force à ne réaliser qu'une faible vérification du nom
--gecos Fixe le champ gecos
--gid Force le GID du groupe
--group avec --system, un groupe système est créé avec le même nom que le compte système. sans --system, un groupe avec le nom fournis est créé.
--home Définit le répertoire personnel
--shell Spécifie le shell par défaut
--ingroup ajoute le nouvel utilisateur au groupe spécifié exisitant
--no-create-home Ne créé pas le répertoire personnel
--quiet mode silencieux
--debug Mode debug
--system crée un utilisateur ou un groupe système
--uid Force l'UID de l'utilisateur
--firstuid Force la limite inférieur des UID (remplace FIRST_UID)
--lastuid Force la limite supérieur des UID (remplace LAST_UID)
--add_extra_groups Ajoute le user aux groupes spécifiés

Valeurs de retours

0 l'utilisateur existe
1 La création à échoué
^
29 octobre 2011

htmlpdflatexmanmd




adduser.conf

adduser.conf

Fichier de configuration pour adduser et addgroup

DSHELL Interpréteur de commande principal (défaut /bin/bash)
DHOME Répertoire personnel initial (défaut : /home)
GROUPHOMES à yes, les répertoires personnels sont sous la forme /home/[nomgroupe]/utilisateur (défaut no)
LETTERHOMES à yes, les répertoires personnel créés seront sous la forme /home/u/utilisateur (défaut no)
SKEL Répertoire contenant les fichiers de configuration des utilisateurs à copier dans le home/ (défaut /etc/skel)
FIRST_SYSTEM_UID
LAST_SYSTEM_UID Plage d'UID pour les comptes systèmes (défaut 100 - 999)
FIRST_UID
LAST_UID Plage d'UID pour les comptes réguliers (défaut 1000 - 29999)
FIRST_SYSTEM_GID
LAST_SYSTEM_GID Plage de GID pour les groupes systèmes (défaut 100 - 999)
FIRST_GID
LAST_GID Plage de GID pour les groupes réguliers (défaut 1000 - 29999)
USERGROUPS à yes, chaque utilisateur se verra attribuer son propre groupe. à no, chaque utilisateur sera placé dans le group dont le GID est USERS_GID. (défaut yes)
USERS_GID ce GID est donné à tous les utilisateurs si USERGROUPS est à no (défaut 100).
DIR_MODE permission sur les répertoires créés (défaut 0755)
SETGID_HOME à yes, les répertoires personnels des utilisateurs qui possèdent leur propre groupe auront le bit setgid positionné (défaut no).
QUOTAUSER non vide, les quotas des nouveaux utilisateurs sont les même que ceux de cet utilisateur.(défaut vide)
NAME_REGEX Expression rationnelle de validation des noms des utilisateurs et groupes. (défaut ^[a-z][-a-z0-9]*$)
SKEL_IGNORE_REGEX les fichiers dans /etc/skel/ sont comparés à cette expréssion rationnelle et ne sont pas copiés quand ils correspondent.
ADD_EXTRA_GROUPS autre que 0, les nouveaux groupes système sont ajoutés aux groupes de la liste EXTRA_GROUPS (défaut 0)
EXTRA_GROUPS liste des groupes additionnels auxquels sont ajoutés les utilisateurs non-système. (défaut dialout cdrom floppy audio video plugdev users games).

Vérification des noms

   adduser et addgroup forcent la conformité à la norme IEEE std 1003.1-2001 qui ne permet que les caractères suivant dans les noms de groupes et d'utilisateur: lettres, chiffres, _, points, arobases, -. Le nom peut commencer par un '-'. Le '$' est autorisé à la fin des noms d'utilisateurs (pour samba).
^
22 mai 2010

htmlpdflatexmanmd




anacron

anacron

Planification des tâches sur des systèmes non-permanents

   Anacron peut être utilisé pour exécuter des commande périodiquement, avec une fréquence spécifiée en jours. À la différence de cron, il n'assume pas que la machine fonctionne en continu.

  Quand il est exécuté, Anacron lis une liste de jobs depuis un fichier de configuration, normalement /etc/anacrontab. chaque entrée est spécifié une période en jours, un délai en minutes, un id unique, et une commande.

  Pour chaque tâche, Anacron vérifie si elle a été exécutée dans les n derniers jours, où n est la période spécifiée pour ce job. Sinon, anacron lance la commande, après avoir attendu le nombre de minute spécifié dans le paramètre de délai.

  Une fois toutes les tâches exécutées, anacron se termine. Si une tache génère une sortie sur la sortie standard ou l'erreur standard, la sortie est mailé à l'utilisateur lançant la commande (généralement root) ou à l'utilisateur contenu dans MAILTO si définie.

OPTIONS

-f force l'exécution des tâches, ignorant le temps spécifié.
-u Update uniquement le temps à la date courante, mais ne lance rien.
-s Sérialise l'exécution des tâche : ne lance une tâche que lorsque la précédente s'est terminée.
-n  Lance les tâches maintenant, ignorant les délais. Cette options implique -s
-d Ne place pas en tâche de fond
-q supprime les message sur l'erreur standard. Seulement applicable avec -d
-t spécifie le fichier anacrontab (défaut /etc/anacrontab)
-T Test le fichier de configuration. retourne 1 s'il y'a une erreur.
-S utilise le dossier spécifié pour stocker les dates d'exécution.
^
22 mai 2010

htmlpdflatexmanmd




anacrontab

anacrontab

Installer/Désinstaller des tâches anacron

le format de ce fichier est:
période délais job-identifier commande

période est spécifié en jours. Période peut également prendre la valeur @monthly
délai est spécifié en minutes
job-identifier peut contenir n'importe quel caractère non-blanc hormis '/'. Il est utilisé pour identifier la tâche dans les messages Anacron.

^
07 mai 2016

htmlpdflatexmanmd




arpd

arpd

Service arp

OPTIONS

-l Dump la base arpd sur la sortie standard et quitte
-f file Lit et charge la base arpd depuis le fichier spécifié. son format est similaire à celle fournie par l'option -l
-b database L'emplacement du fichier de la base de données (défaut: /var/lib/arpd/arpd.db)
-a number arpd n'écoute pas seulement de manière passive les packets arp sur l'interface, et envoie également des requêtes en broadcast. number est le nombre de requêtes à faire avant de considérer une destination morte.
-k Supprime l'envoie de requêtes broadcast par le kernel. N'a de sens qu'avec -a
time spécifie le timeout du cache. Quand une résolution échoue, arpd supprime les futures tentatives de résolution pour cette période. N'a de sens qu'avec -k.(défaut: 60secondes)
-p time Temps d'attente en secondes entre les tentatives de polling dans la table arp du kernel. time peut être un nombre à virgule flottante. (défaut: 30)
-R rate Taux maximum de broadcast envoyés par arpd par seconde (défaut: 1)
-B number Nombre de broadcast envoyés par arpd (défaut: 3). Avec -R, s'assure que le nombre de requêtes arp qui sont broadcastés n'excèdent pas B+R*T dans un intervalle de temps T.
‹interfaces› Liste d'interfaces réseaux à regarder.

Signaux

SIGINT, SIGTERM arpd se termine après avois synchronisé sa base et restaurés les paramètres sysctl.
SIGHUP arpd synchronise sa base sur disque
SIGUSR1 Envoie des statistiques à syslog

Notes

   Pour que arpd soit capable de servir de resolver arp, le kernel doit être compilé avec l'option CONFIG_ARPD.

Exemples

Démarre arpd pour collecter des arp gratuitous, mais sans utiliser la fonctionnalité du kernel
arpd -b /var/tmp/arpd.db
Voir les résultat après un certain temps
killall arpd ; arpd -l -b /var/tmp/arpd.db
Activer le helper du kernel, laissans le kernel comme rôle de premier plan
arpd -b /var/tmp/arpd.db -a 1 eth0 eth1
Remplace complètement la résolution du kernel sur les interfaces eth0 et eth0
arpd -b /var/tmp/arpd.db -a 3 -k eth0 eth1
^
22 mai 2010

htmlpdflatexmanmd




at

at, atq, atrm, batch

Exécute des commandes à un instant définis

   at et batch lisent les commandes sur l'entrée standard ou un fichier spécifié, et sont exécutées à un instant définis, en utilisant /bin/sh.

at exécute les commandes à un instant spécifié
atq liste les jobs en attente de l'utilisateur. Si l'utilisateur est root, affiche tous les jobs. Le format de sortie est un job par ligne (job, numéro, date, heure, queue et user).
atrm Supprime des jobs, spécifié par leur numéro.
batch exécute des commandes quand les niveaux de charge système le permettent ; quand la charge moyenne est en dessous de 1.5, ou la valeur spécifié dans l'invocation de atd.

   at permet des spécifications de temps complexe, étendant le standard POSIX.2. Il accepte le temps sous la forme HH:MM pour lancer un job à une heure spécifique de la journée. Vous pouvez aussi spécifier midnight, noon ou teatime (4pm). Vous pouvez spécifier l'heure du jour avec le préfixe AM ou PM. Vous pouvez spécifier le jour en donnant une date sous la forme month day et optionnellement year, ou en donnant une date sous la forme MMDDYY ou MM/DD/YY ou MM.DD.YY. La spécification d'une date DOIT suivre la spécification de l'heure du jour. Vous pouvez aussi donner le temps comme now + count time-units, où time-units peut être minutes, hours, days ou weeks et vous pouvez dire à at de lancer le job aujourd'hui en suffixant le temps avec today et demain par tomorrow.

   Pour at et batch les commandes sont lues depuis l'entrée standard ou le fichier spécifié avec l'option -f. Le répertoire de travail (excepté pour les variables TERM, DISPLAY et _) et le umask sont retenus depuis l'heure d'invocation. Un at - ou batch - invoqué depuis un shell su(1) retient le userid courant. L'utilisateur recevra un email de la sortie standard et l'erreur standard de ses commandes. Le mail sera envoyé en utilisant /usr/lib/sendmail.

   Le superuser peut utiliser ces commandes dans tous les cas, pour les autres, la permission d'utiliser at est déterminé par les fichiers /etc/at.allow et /etc/at.deny

   si /etc/at.allow existe, seul les noms d'utilisateurs mentionnés sont autorisés à utiliser at. Si /etc/at.allow et /etc/at.deny exsitent, tous les noms d'utilisateur non mentionnés est autorisé à utiliser at. Si aucun des 2 fichiers n'existe, seul root peut utiliser at. Si /etc/at.deny est vide, tous les utilisateurs peuvent utiliser at.

OPTIONS

-q queue Utiliser la queue spécifiée. Une désignation de queue consiste d'une simple lettre de a à z et A à Z. la queue a est le défaut pour at et b est le défaut pour batch. Les queues avec des lettres supérieurs augmente le niveau de nice. La queue spécial "=" est réservée pour les jobs en cours d'exécution.

           Si un job est envoyé à une queue désigné avec une lettre majuscule, le job est traité s'il était envoyé à batch au moment du job. Une fois le temps atteint, les règles de traitement des jobs s'appliquent. Si une queue spécifique est donné à atq, il affiche uniquement les jobs en attente dans cette queue.

-m Envoie un mail à l'utilisateur quand le job est terminé, même s'il n'y a pas de sortie.
-f file Lit les jobs depuis le fichier spécifié
-t time lance le job au temps spécifié, donné au format [[CC]YY]MMDDhhmm[.ss]
-l est un alias pour atq
-d est un alias pour atrm
-v Affiche l'heure 'exécution du job avant de le lire, affiché au format "Thu Feb 20 14:50:00 1997"
-c cat les jobs listé sur la ligne de commande sur la sortie standard.

Exemples

lancer un job dans à 16h dans 3 jours:
at 4pm + 3 days
lancer un job à 10heures le 31 juillet:
at 10am Jul 31
lancer un job à 1 heure du matin demain:
at 1am tomorrow
^
11 février 2014

htmlpdflatexmanmd




at.allow

at.allow, at.deny

Détermine qui peut soumettre des jobs via at ou batch

   Détermine qui est autorisé à exécuter des commandes at et batch sur un système. Le format est une liste de noms d'utilisateurs, un par ligne.

  Si /etc/at.allow existe, seules les utilisateurs listés sont autorisés. S'il n'existe pas, /etc/at.deny est vérifié.

^
22 mai 2010

htmlpdflatexmanmd




atd

atd

Lance les jobs mis en queue par at

OPTIONS

-l Spécifie un facteur de limite de charge, au delà duquel les jobs ne seront pas lancés, (1.5 par défaut). Pour un système SMP avec n CPU, vous définirez probablement supérieur à n-1
-b spécifie l'intervalle minimum en secondes entre le début de 2 jobs batch (60 par défaut).
^
05 septembre 2015

htmlpdflatexmanmd




attr

attr

Attributs étendus

   Les attributs étendus sont des paires nom:valeur associés de manière permanente avec les fichiers et les répertoires, similaire aux chaînes d'environnement associés avec un processus. Un attribut peut être définis ou non-définis. S'il est définis, sa valeur peut être vide ou non-vide

   Les attributs étendus sont des extensions aux attributs normaux qui sont associés avec tous les inodes dans le système de fichier. Ils sont souvent utilisé pour fournir des fonctionnalités additionnels au système de fichier, par exemple, des fonctionnalités de sécurité additionnels tels que les ACL.

   Les utilisateurs avec un accès en recherche sur un fichier ou répertoire peut récupérer une liste de noms d'attributs définis pour ce fichier ou répertoire.

   Les attributs étendus sont accedés comme des objets atomique. Lire récupère toute la valeur d'un attribut et le stocke dans un tampon. Écrire remplace une valeur précédente avec une nouvelle valeur.

   L'espace consommé par les attributs étendus sont comptés dans le quota disque.

   Actuellement, le support pour les attributs étendus est implémenté dans les systèmes de fichier ext2, ext3, ext4, XFS, JFS et reiserfs.

Espaces de nom d'attribut étendus

   Les noms d'attribut sont des chaînes terminés par un 0. Le nom d'attribut est toujours spécifié sous la forme pleinement qualifié namespace.attribute. par exemple user.mime_type, trusted.md5sum, system.posix_acl_access, ou security.selinux.

   Le mécanisme d'espace de nom est utilisé pour définir les différentes classes d'attribut étendus. Ces différentes classe existent pour de nombreuses raisons, par exemple les permissions et capabilities requises pour manipuler les attributs étendus d'un espace de nom peut différer d'un autre.

   Actuellement les classes d'attribut étendus security, system, trusted, et user sont définis comme décris ci-dessous. D'autres classes pourront être ajoutés dans le future.

Attributs de sécurité étendus

   L'espace de nom d'attribut de sécurité est utilisé par les module de sécurité du kernel, tels que SELinux. Les permissions d'accès en lecture et écriture aux attributs de sécurité dépend de la stratégie implémenté pour chaque attribut de sécurité par le module de sécurité. Quand aucun module de sécurité n'est chargé, tous les processus ont un accès en lecture aux attributs de sécurité étendu, et l'accès en écriture est limitée aux processus qui ont la capability CAP_SYS_ADMIN.

Attributs système étendu

   Les attributs système étendus sont utilisés par le kernel pour stocker des objets système tels que des listes de contrôle d'accès et des capabilities. Les permissions d'accès en lecture et écriture au attributs système dépendent de la stratégie implémenté pour chaque attribut système implémenté par le système de fichier dans le kernel.

Attributs étendus de confiance

   Les attributs étendus de confiance sont visibles et accessible seulement aux processus qui ont la capability CAP_SYS_ADMIN. Les attributs dans cette classe sont utilisés pour implémenter des mécanismes dans l'espace utilisateur qui conserve des informations dans des attributs étendus que des processus ordinaire ne devraient pas avoir accès.

Attributs utilisateur étendus

   Les attributs utilisateur étendus peuvent être assignés aux fichier et répertoires pour stocker des informations additionnelles tels que le type mime, jeu de caractère ou encodage d'un fichier. Les permissions d'accès pour les attributs utilisateur sont définis par les bits de permission de fichier.

   Les bits de permission de fichier des fichiers régulier sont interprétés différemment des bits de permission de fichier des fichier spéciaux et des liens symboliques. Pour les fichier régulier et les répertoires les bits de permission de fichier définissent l'accès au contenu des fichiers, alors que pour les fichiers spéciaux de périphériques ils définissent l'accès au périphérique décris par le fichier spécial. Les permissions de fichier des liens symboliques ne sont pas utilisé pour la vérification d'accès. Ces différences permettent aux utilisateurs de consommer des ressources système d'une manière non contrôlable par les quotas disques pour les fichier spéciaux et les répertoires.

   Pour cette raison, les attributs utilisateur étendus sont seulement permis pour les fichier régulier et les répertoire, let l'accès aux attributs utilisateurs étendus est restreint au propriétaire et aux utilisateurs avec les capabilities appropriés pour les répertoire avec le sticky bit mis.

Différences de système de fichiers

   Le kernel et le système de fichiers peuvent placer des limites sur le nombre et la taille maximum d'attributs étendus qui peuvent être associés avec un fichier. Certains système de fichier comme ext2/3 et reiserfs exigent que le système de fichier soit monté avec l'option de montage user_xattr pour que les attributs étendus soient utilisés.

   Dans les implémentations ext2/3/4 courante, chaque attribut étendu doit être contenu dans un seul block du système de fichier.

   Dans les implémentations reiserfs et XFS, il n'y a pas de limite pratique sur le nombre ou la taille d'attributs étendus associé avec un fichier, et les algorithmes utilisé pour stocker les informations d'attribut sur le disque sont scalaires.

   Dans l'implémentation du système de fichier JFS, les noms peuvent avoir jusqu'à 255 octets et des valeurs jusqu'à 64Ko.

Notes

   Vu que les systèmes de fichier sur lequel les attributs étendus sont stockés peuvent également être utilisés dans les architecture avec un ordre d'octets différent et une taille de mot différent, le stockage des valeurs d'attribut doivent faire d'objet d'une attention particulière.
^
11 février 2014

htmlpdflatexmanmd




badblocks

badblocks

Rechercher les blocks défectueux sur un périphérique

   badblocks est utilisé pour rechercher les blocks défectueux sur un périphérique (généralement une partition disque). Après les options vous devez spécifier le fichier de périphérique, et optionnellement le last-block et le first-block spécifiant le premier et le dernier block à vérifier. Si la sortie de badblocks sert à renseigner e2fsck ou mke2fs, il est important que la taille de block soit correctement spécifiée, vu que le nombre de block généré est dépendant de la taille de block utilisée par le système de fichiers. Pour cette raison, il est recommandé de ne pas utiliser badblocks directement, mais plutôt d'utiliser l'option -c de e2fsck et mke2fs.

OPTIONS

-b block-size Spécifie la taille des lbocks en octets. (défaut 1024)
-c nb_block Nombre de blocks à tester en même temps (défaut 64)
-e max_bad_block_count Nombre max de blocks défectueux avant d'annuler le test. (défaut 0)
-d Read_delay_factor Les blocks défectueux attendent entre les lectures si aucune erreur n'est rencontrée dans l'opération de lecture; le délai est calculé en fonction du temps que prend l'opération de lecture. ex, à 100, chaque lecture sera retardée par le même temps que la lecture a pris, à 200, le double.
-f Force l'exécution sur des périphériques qui sont montés.
-i input_file Lit une liste de blocks défectueux déjà connus et ne les tests pas.
-n  Utilise le mode lecture/écriture non destructif.
-o output-file Écrit la liste de blocks défectueux dans un fichier
-p num_passes Répète le scanne du disque jusqu'à ce qu'il n'y ai plus de blocks découverts dans le nombre de passse de scan consécutifs spécifié. A 0, quitte après la première passe (défaut: 0)
-s Affiche la progression du scan
-t test_pattern Spécifie le motif à lire et écrire sur les blocks de disque. Peut être soit une valeure numérique entre 0 et ULONG_MAX-1, ou le mot "random". pour -w et -n, un ou plusieurs motifs peuvent être spécifiés. pour le mode read-only, un seul motif peut être spécifié et ne peut pas être "random", il assume que ce motifs a déjà été écrit sur le disque. Si plusieurs motifs sont spécifiés, alors tous les blocks seront testé avec un motif avant de traiter le motif suivant.
-v mode verbeux
-w Mode écriture. scanne les blocks en écrivant des motifs (0xaa, 0x55, 0xff, 0x00) sur chaque block, et lit chaque block pour comparer le contenu.
-X Flag interne uniquement utilisé par e2fsck et mke2fs. Il bypass le mode exclusif in-use device safety check.
^
11 février 2014

htmlpdflatexmanmd




biosdecode

biosdecode

Lit la mémoire BIOS et affiche des informations sur les structures

   biosdecode lit la mémoire BIOS et affiche des informations sur les structures. Actuellement, les structures connues sont:

SMBIOS (System Management BIOS) Utiliser dmidecode pour des informations plus détaillées
DMI ( Desktop Management Interface, ancienne version de SMBIOS) Utiliser dmidecode pour des informations plus détaillées.
SYSI
PNP (Plug And Play)
ACPI (Advanced Configuration and Power Interface)
BIOS32 (BIOS32 Service Directory)
PIR (PCI IRQ Routing)
32OS (BIOS32 Extension, propre à Compaq)
SNY (spécifique à Sony, non décodé)
VPD (Vital Product Data, propre à IBM)
FJKEYINF (Application Panel, propre à Fujitsu)

OPTIONS

-d, -dev-mem FILE Lit la mémoire depuis le fichier (défaut /dev/mem)
^
03 décembre 2016

htmlpdflatexmanmd




blkdiscard

blkdiscard

Supprime des secteurs sur un périphérique

OPTIONS

-o, --offset offset Décalage d'octet dans le système de fichier depuis lequel la recherche commence. Défaut: 0.
-l, --length length Nombre d'octets à rechercher peur les blocks à supprimer. Défaut: jusqu'à la fin du fs
-p, --step length Nombre d'octets à supprimer depuis le point de départ. Défaut: jusqu'à la fin du fs
-s, --secure Discard sécurisé, toutes les copies des blocks supprimés qui possiblement crééent un garbage collection doivent être également supprimés.
-z, --zeroout Remplis de zéro des données supprimées
-v, --verbose mode verbeux
^
07 octobre 2011

htmlpdflatexmanmd




blkid

blkid

Localiser/afficher les attributs des périphériques block

   Il peut déterminer le type de contenu que maintient un périphérique bloc, et également les attributs des métadata. blkid a 2 formes principales d'opérations: soit la recherche d'un périphérique avec une paire NAME=value spécifique, soit afficher les paires NAME=value pour un ou plusieurs périphériques.

OPTIONS

-c cachefile Lit depuis cachefile au lieu de lire depuis le cache par défaut (/etc/blkid.tab). pour démarrer avec un cache clean, spécifier /dev/null
-g Effectuer un nettoyage dans le cache pour supprimer les périphériques qui n'existent plus.
-l Recherche un périphérique qui correspond aux paramètres de recherche spécifié avec l'option -t. Si plusieurs périphériques correspondent, le périphérique avec la priorité la plus haute est retournée, et/ou le premier trouvé. Les types de périphériques dans l'ordre de priorité descendante sont: Device Mapper, EVMS, LVM, MD, et les périphériques block réguliers. Sans cette option, affiche tous le périphériques qui matchent.
-L label Recherche un périphérique avec le label (identique à -l -o device -t LABEL=label)
-u list Restreint les fonctions de sonde pour définir une liste de type d'utilisation. (filesystem, raid, crypto et other) Peut être préfixé avec 'no' pour spécifier les type que devraient être ignorés.
-U UUID Recherche un périphérique par son UUID
-o format Affiche la sortie de blkid en utilisant le format spécifié.

        full Affiche tous les tags (défaut)
        value Affiche la valeur des tags
        list Affiche les périphériques au format user-friendly (non supporté avec -p)
        device Affiche le nom des périphériques uniquement
        udev mode compatible avec vol_id
        export Affiche les paires key=values pour les importer facilement dans l'environnement.

-O bytes Recherche à l'offset donné (utile avec -p)
-p switch en mode bas-niveau (bypass le cache)
-s tag Pour chaque périphérique spécifié, affiche uniquement les tags qui matchent avec ceux spécifiés. Pour rafraîchir le cache, utiliser -s none sans autre options.
-S bytes Écrase la taille de fichier par périphérique
-t NAME=value Recherche les périphériques block avec les tokens nommés NAME qui ont la valeur value, et affiche les périphériques qui sont trouvés. Les valeurs communes pour NAME sont TYPE, LABEL et UUID.
-w writecachefile Écrit le fichier cache /etc/blkid.tab. ou dans le fichier spécifié.
device Affiche les tokens du périphérique spécifié. Peut être spécifié plusieurs fois. non spécifié, recherche les périphériques listés dans /proc/partitions.

Exemples

recherche pour tous les formats filesystems et others:
blkid -p -u filesystem,other /dev/sda1
Recherche les formats supportés sauf les RAID:
blkid -p -u noraid /dev/sda1
^
11 février 2014

htmlpdflatexmanmd




blockdev

blockdev

blockdev permet d'appeler les ioctls de périphérique block depuis la ligne de commande

OPTIONS

-q mode silencieux
-v mode verbeux

Commandes

--setro set read-only
--setrw set read/write
--getro get read-only. 1 si read-only, 0 sinon
--getss Affiche la taille de secteur en octets
--getbsz Affiche la taille de block en octets
--setbsz Définit la taille de block en octets
--getsize Affiche la taille du périphérique en secteur (BLKGETSIZE). préférer --getsz
--getsize64 Affiche la taille du périphérique en octets (BLKGETSIZE64)
--getsz Affiche la taille en secteurs de 512 octets (BLKGETSIZE64 / 512)
--setra Définis readehead en secteurs de 512 octets
--getra Affiche le readahead en secteurs de 512 octets
--setfra Définit le readahead du système de fichier (identique à --setra sur les kernels 2.6)
--getfra Récupère le readahead du système de fichier
--flushbufs Vide les tampons
--rereadpt Relit la table de partition
^
11 février 2014

htmlpdflatexmanmd




bootlogd

bootlogd

Enregistre les messages de boot commande

   Il se lance en tâche de fond et copie toutes les chaînes envoyées à /dev/console dans un fichier de log. Si le fichier n'est pas accessible, il les conserve en mémoire jusqu'à ce qu'il soit disponible.

OPTIONS

-d Ne fork pas et se lance en tâche de fond
-c Tente d'écrire dans le fichier de log même s'il n'existe pas. Sans cette options, il attendra que ce fichier apparaisse avant d'écrire dedans, ce qui empêche d'écrire dans un fichier sous un point de montage.
-r S'il existe un fichier nommé logfile, il le renomme en logfile~, à moins que logfile~ existe.
-s S'assure que les données sont écrites dans le fichier après chaque ligne en appelant fdatasync(3). Celà ralentit fsck(8)
-l Fichier de log (défaut: /var/log/boot)
-p PID du processus. (défaut: aucun pid)
^
05 septembre 2015

htmlpdflatexmanmd




capsh

capsh

capability shell wrapper

   Le support et l'utilisation des capabilities Linux peuvent être explorés et contraints avec cet outil. Cet outil fournis une enveloppe pour certains types de création d'environnement de test de capabilities. Il fournis également des fonctionnalités de débuggage utile.

OPTIONS

--print Affiche les capablities en vigueur et l'état lié.
-- [args] Exécute /bin/bash avec les arguments restants.
== Exécute capsh avec les arguments restant. Utile pour tester le comportement de exec()
--caps=cap-set Définis les capabilities du processus.
--drop=cap-list Supprime les capabilities listées. Utiliser cette fonctionnalité nécessite que capsh ait CAP_SETPCAP
--inh=cap-list Définis le jeu héritable de capabilities pour le processus courant égal à ceux fournis.
--user=username Assume l'identité de l'utilisateur nommé.
--uid=id Force toutes les valeurs UID à l'id spécifié en utilisant setuid(2)
--gid=id Force toutes les valeurs GID à l'id spécifié en utilisant setgid(2)
--groups=id-list Définis les groupes supplémentaires
--keep=‹ 0|1 › En mode non pure capabilities, le kernel fournis un privilège libéral au super-user. Cependant, c'est normalement le cat quand le super-user change l'uid d'utilisateurs, puis supprime les capabilities. Dans ces situations, le kernel peut permettre au processus de conserver ses capabilities après un appel système setuid(2). Cette fonctionnalité s'appel keep-caps. Définir la valeur 2 active le keep-caps. keep-caps est toujours désactivé avec un exec().
--secbits=N
--chroot=path Exécute l'appel système chroot(2). Nécessite CAP_SHS_CHROOT.
--forkfor=sec
--killit=sig
--decode=N Fournis une manière rapide de décoder un vecteur de capability représenté sous la forme trouvée dans /proc/1/status.
--supports=xxx À mesure que le kernel évolue, des capabilities sont ajoutées. Cette options peut être utilisée pour vérifier l'existence d'une capability dans le système. un code de sortie de 0 indique que la capability est supportée.
^
15 juin 2013

htmlpdflatexmanmd




cgclassify

cgclassify

Déplace un tâche dans le cgroup donné

OPTIONS

-g ‹controllers›:‹path› Définis le cgroup où placer la tâche
--sticky Avec cette option, cgred ne change pas les tâches enfant avec les droits du cgroups basé dans cgrules.conf
--cancel-sticky cgred peut automatiquement changer le pidlot et leur tâche enfant dansle bon cgroup basé sur /etc/cgrules.conf
^
15 juin 2013

htmlpdflatexmanmd




cgclear

cgclear

Décharge un système de fichier cgroup

   sans options, place toutes les tâche dans les cgroups dans le cgroup root

OPTIONS

-l, --load=‹filename› Spécifie le fihcier de config à lire. Peut être spécifié plusieurs fois
-L, --load-directory=‹directory› Spécifie le répertoire qui est recherché dans les fihciers de configuration. Peut être spécifié plusieurs fois
-e  Seul les cgroups vides sont déchargés
^
15 juin 2013

htmlpdflatexmanmd




cgconfig.conf

cgconfig.conf

Fichier de configuration utilisé par libcgroup

   Fichier de configuration utilisé par libcgroup pour définir les cgroups, leur paramètres et leur points de montage. Il consiste de sections mount, group et default.

la section mount a la forme:
mount {
    ‹controller› = ‹path›
    ...
}

   où controller est le nom du sous-système. Une hiérarchie nommée peut être spécifiée comme contrôleur avec "name=‹somename›". path, le chemin où la hiérarchie cgroup associée devrait être montée.

La section group a la forme:
group ‹name› {
    [permissions]
    ‹controller› {
        ‹param name› = ‹param value›
        ...
    }
...
}

name Nom du cgroup. le cgroup root est toujours créé automatiquement. Il peut être spécifié dans ce fichier de configuration en utilisant '.' comme nom de cgroup
permissions Les permissions du cgroup. root a toujous les permissions de faire tout avec les cgroups Ils ont la syntaxe suivante:


perm {
    task {
        uid = ‹task user›
        gid = ‹task group›
        fperm = ‹file permissions›
    }
    admin {
        uid = ‹admin name›
        gid = ‹admin group›
        dperm = ‹directory permissions›
        fperm = ‹file permissions›
    }
}

task user/group Nom de l'utilisateur et du group propriétaire du fichier tasks du cgroup
admin user/group Nom de l'utilisateur et du group propriétaire des autres fichiers du cgroup
controller Nom du sous-sytème kernel. Permet de spécifier le nom du fichier à définir et sa valeur

La section default a la forme:
default {
    perm {
        task {
            uid = ‹task user›
            gid = ‹task group›
            fperm = ‹file permissions›
        }
        admin {
            uid = ‹admin name›
            gid = ‹admin group›
            dperm = ‹directory permissions›
            fperm = ‹file permissions›
        }
    }
}

   Cette section a la même forme que la section group

Exemples

Exemple 1:
mount {
    cpu = /mnt/cgroups/cpu;
    cpuacct = /mnt/cgroups/cpu;
}

Créé la hiérarchie contrôlée par 2 sous-sytèmes. Correspond à:
mkdir /mnt/cgroups/cpu
mount -t cgroup -o cpu,cpuacct cpu /mnt/cgroups/cpu

Exemple 2:
mount {
    cpu = /mnt/cgroups/cpu;
    "name=scheduler" = /mnt/cgroups/cpu;
    "name=noctrl" = /mnt/cgroups/noctrl;
}
group daemons {
    cpu {
        cpu.shares = "1000";
    }
}
group test {
    "name=noctrl" {
    }
}

Créé 2 hiérarchies. une 'scheduler' contrôlée par le sous-système cpu avec le group daemons en enfant. L'autre est nommée noctrl sans contrôleur, avec un groupe test. Correspond à:
mkdir /mnt/cgroups/cpu
mount -t cgroup -o cpu,name=scheduler cpu /mnt/cgroups/cpu
mount -t cgroup -o none,name=noctrl none /mnt/cgroups/noctrl
mkdir /mnt/cgroups/cpu/daemons
echo 1000 › /mnt/cgroups/cpu/daemons/www/cpu.shares
mkdir /mnt/cgroups/noctrl/tests

Exemple 3:
    mount {
    cpu = /mnt/cgroups/cpu;
    cpuacct = /mnt/cgroups/cpu;
}
    
group daemons/www {
    perm {
        task {
            uid = root;
            gid = webmaster;
            fperm = 770;
        }
        admin {
            uid = root;
            gid = root;
            dperm = 775;
            fperm = 744;
        }
    }
    cpu {
        cpu.shares = "1000";
    }
}
    
group daemons/ftp {
    perm {
        task {
            uid = root;
            gid = ftpmaster;
            fperm = 774;
        }
        admin {
            uid = root;
            gid = root;
            dperm = 755;
            fperm = 700;
        }
    }
    cpu {
        cpu.shares = "500";
    }
}

Créer la hiérarchie contrôllée par 2 sous-système avec un group et 2 sous-groupes. Correspond à:
mkdir /mnt/cgroups/cpu
mount -t cgroup -o cpu,cpuacct cpu /mnt/cgroups/cpu
mkdir /mnt/cgroups/cpu/daemons
mkdir /mnt/cgroups/cpu/daemons/www
chown root:root /mnt/cgroups/cpu/daemons/www/*
chown root:webmaster /mnt/cgroups/cpu/daemons/www/tasks
echo 1000 › /mnt/cgroups/cpu/daemons/www/cpu.shares
mkdir /mnt/cgroups/cpu/daemons/ftp
chown root:root /mnt/cgroups/cpu/daemons/ftp/*
chown root:ftpmaster /mnt/cgroups/cpu/daemons/ftp/tasks
echo 500 › /mnt/cgroups/cpu/daemons/ftp/cpu.shares

Exemple 4:
mount {
    cpu = /mnt/cgroups/cpu;
    cpuacct = /mnt/cgroups/cpuacct;
    }
    
group daemons {
    cpuacct{
    }
    cpu {
    }
}

Créé 2 hiérarchies et un group commun Correspond à:
mkdir /mnt/cgroups/cpu
mkdir /mnt/cgroups/cpuacct
mount -t cgroup -o cpu cpu /mnt/cgroups/cpu
mount -t cgroup -o cpuacct cpuacct /mnt/cgroups/cpuacct
mkdir /mnt/cgroups/cpu/daemons
mkdir /mnt/cgroups/cpuacct/daemons

Exemple 5:
mount {
    cpu = /mnt/cgroups/cpu;
    cpuacct = /mnt/cgroups/cpuacct;
}
    
group daemons {
    cpuacct{
    }
}
    
group daemons/www {
    cpu {
        cpu.shares = "1000";
    }
}
    
group daemons/ftp {
    cpu {
        cpu.shares = "500";
    }
}

Créé 2 hiérarchies avec quelqes groupes dedans. un de ces groupes est créé dans les 2 hiérarchies. Correspond à:
mkdir /mnt/cgroups/cpu
mkdir /mnt/cgroups/cpuacct
mount -t cgroup -o cpu cpu /mnt/cgroups/cpu
mount -t cgroup -o cpuacct cpuacct /mnt/cgroups/cpuacct
mkdir /mnt/cgroups/cpuacct/daemons
mkdir /mnt/cgroups/cpu/daemons
mkdir /mnt/cgroups/cpu/daemons/www
echo 1000 › /mnt/cgroups/cpu/daemons/www/cpu.shares
mkdir /mnt/cgroups/cpu/daemons/ftp
echo 500 › /mnt/cgroups/cpu/daemons/ftp/cpu.shares

Exemple 6:
mount {
    cpu = /mnt/cgroups/cpu;
    cpuacct = /mnt/cgroups/cpu;
}
    
group . {
    perm {
        task {
            uid = root;
            gid = operator;
        }
        admin {
            uid = root;
            gid = operator;
        }
    }
    cpu {
    }
}
    
group daemons {
    perm {
        task {
            uid = root;
            gid = daemonmaster;
        }
        admin {
            uid = root;
            gid = operator;
        }
    }
    cpu {
    }
}

Créé la hiérarchie contrôlée par 2 sous-sytèmes avec un groupe ayant des permissions spéciales. Correspond à:
mkdir /mnt/cgroups/cpu
mount -t cgroup -o cpu,cpuacct cpu /mnt/cgroups/cpu
chown root:operator /mnt/cgroups/cpu/*
chown root:operator /mnt/cgroups/cpu/tasks
mkdir /mnt/cgroups/cpu/daemons
chown root:operator /mnt/cgroups/cpu/daemons/*
chown root:daemonmaster /mnt/cgroups/cpu/daemons/tasks
^
15 juin 2013

htmlpdflatexmanmd




cgconfigparser

cgconfigparser

Définis le système de fichier de cgroup

OPTIONS

-l, --load=FILE Parse le fichier de configuration des cgroups définis le système de fichier du cgroup et monte les points de montage définis. Peut être spécifié plusieurs fois
-L, --load-directory=DIR Trouve tous les fichiers dans un répertoire et les parses dans l'ordre alphabétique. Peut être spécifié plusieurs fois
-a ‹agid›:‹auid› Définis le propriétaire par défaut des fichiers de cgroup définis. Ces utilisateurs sont autorisés à définir les paramètres du sous-système et créer des cgroups
-d, --dperm=mode Définis les permissions par défaut d'un répertoire cgroup
-f, --fperm=mode définis les permissinos par défaut des fichiers du cgroup
-s, --tperm=mode Définis les permissions par défaut du fichier tasks du cgroup
-t ‹tuid›:‹tgid› Définis le propriétaire du fichier tasks du cgroup
^
15 juin 2013

htmlpdflatexmanmd




cgcreate

cgcreate

Créer de nouveaux cgroups

OPTIONS

-a ‹agid›:‹auid› Définie le nom de l'utilisateur et du groupe propriétaire des fichiers de contrôle.
-d, --dperm=mode définisles permissions du répertoire cgroup.
-f, --fperm=mode Définis les permissions des paramètres du cgroup
-g ‹controllers›:‹path› Définis les cgroups à ajouter controllers est une liste de contrôleurs, et path le chemin relatif au cgroup dans la liste des contrôleurs donnés. Peut être spécifié plusieurs fois
-s, --tperm=mode Définis lespermissions du fichier tasks du cgroup
-t ‹tuid›:‹tgid› Définis le propriétaire et le groupe propriétaire du fichier tasks
^
15 juin 2013

htmlpdflatexmanmd




cgdelete

cgdelete

Supprime des cgroups

OPTIONS

‹controllers›:‹path› Définis le cgroup et ses enfants à supprimer
-r Supprime récursivement
^
15 juin 2013

htmlpdflatexmanmd




cgexec

cgexec

Lance la tâche dans le cgroup donné

OPTIONS

-g ‹controllers›:‹path› Définis le cgroup dans lequel la tâche va se lancer.
--sticky Avec cette option, cgred ne change pas les tâches enfant avec les droits du cgroups basé dans cgrules.conf

Exemples

lance ls dans le cgroup test1 dans tous les contrôleurs montés
cgexec -g *:test1 ls
Lance ls -l dans le cgroup test1 dans les contrôleurs cpu et memory
cgexec -g cpu,memory:test1 ls -l
lance ls -l dans le cgroup test1 dans les contrôleurs cpu et memory et le cgroup test1 dans le contrôleur swap
cgexec -g cpu,memory:test1 -g swap:test2 ls -l
^
15 juin 2013

htmlpdflatexmanmd




cgget

cgget

Affiche les paramètres des cgroups donnés

OPTIONS

‹path› Le nom du cgroup à lire.Peut être spécifié plusieurs fois
-a, --all Affiche les variables de tous les contrôleurs.
-g ‹controller› Défnis le contrôleur dont la valeur est à afficher
N'affiche pas les en-têtes
-r, --variable ‹name› Paramètre à afficher. Peut être spécifié plusieurs fois
-v, --values-only Affiche seulement les valeurs.

Exemples

cgget -r cpuset.cpus -r cpuset.mems first second
first:
cpuset.cpus=0-1
cpuset.mems=0
second:
cpuset.cpus=0
cpuset.mems=0
cgget -n -r cpuset.cpus -r cpuset.mems first second
cpuset.cpus=0-1
cpuset.mems=0
cpuset.cpus=0
cpuset.mems=0
cgget -nv -r cpuset.cpus -r cpuset.mems first second
0-1
0
0
0
cgget -n -g cpu /
cpu.rt_period_us=1000000
cpu.rt_runtime_us=950000
cpu.shares=1024
^
15 juin 2013

htmlpdflatexmanmd




cgred.conf

cgred.conf

Fichier de configuration de service cgred

   Fichier de configuration de service cgred de libcgroup. Contient des valeurs interne.

CONFIG_FILE Spécifie le fichier de configuration pour le service cgred
LOG_FILE Spécifie le fichier de log (défaut: envoie à syslog)
NODAEMON Equivalent à --nodaemon
LOG Niveau de verbosité (-v, -vv, -q ou --nolog)

^
11 juin 2013

htmlpdflatexmanmd




cgroup

cgroup

Présentation

   Les Control Groups fournissent un mécanisme pour agréger/partitionner des jeux de tâches, et tous les futures enfants, dans des groupes hiérarchiques.

   Un cgroup associe un jeu de tâches avec un jeu de paramètres pour un ou plusieurs sous-systèmes. un sous-système est un module qui utilise les facilités de groupement de tâches pour traiter ces groupes de tâche d'une manière particulière. un sous-système est typiquement un contrôleur de ressource.

   Une hiérarchie est un jeu de cgroups arrangée en arborescence, de manière à ce que chaque tâche dans le système soit dans exactement un cgroup dans la hiérarchie. Chaque hiérarchie a une instance du cgroup de système de fichier virtuel avec lui.

   Chaque tâche dans le système a un pointeur de référence vers un css_set. Un css_set contient un jeu de pointeur de référence vers des objets cgroups_subsys_state, un pour chaque cgroup enregistré dans le système.

   Un système de fichier hiérarchique de cgroup peut être monté pour le voir et le manipuler depuis l'espace utilisateur. On peut lister toutes les tâches attachées à un cgroup.

   Quand un cgroup est démonté, s'il y a des cgroups enfants, cette hiérarchie reste active. S'il n'y a pas de cgroups enfant, la hiérarchie est désactivé.

   Chaque tâche sous /proc a un fichier nommé cgroup affichant, pour chaque hiérarchie active, les noms des sous systèmes et le nom du cgroup.

   Chaque cgroup est représenté par un répertoire contenant les fichiers suivants:

tasks liste des tâches attachées au cgroup.
cgroup.procs liste des tgid dans ce cgroup.
notify_on_release Permet lorsque la dernière tâche d'un cgroup se termine et que le dernier cgroup enfant est supprimé, que le kernel lance une commande spécifiée dans le fichier release_agent
release_agent Le chemin à utiliser pour les notifications de release (existe dans le top cgroup uniquement)
cgroup.clone_children (0 ou 1) Tous les cgroups créés vont appeler post_clone pour chaque sous-système du nouveau cgroup. ce callback copie les valeurs du parent.
cgroup.event_control (0 ou 1) active l'exécution du release_agent
cpu planifie l'accès du cpu aux cgroup
cpu.shares Valeur entière de part relative du temps CPU disponible pour les tâches
cpu.rt_runtime_us Période en microsecondes contiguë la plus longue autorisé relative à rt_period_us
cpu.rt_period_us Période de temps en microsecondes de référence pour rt_runtime_us
cpuset Assigne des cpu et des nœud mémoire à des cgroups
cpuset.cpu_exclusive (0 ou 1) spécifie si des cpusets autres que celui-ci, des ses parents ou enfants peuvent partager les cpu spécifiés
cpuset.cpus Spécifie à quels CPU les tâches dans ce cgroup peuvent accéder
cpuset.mem_exclusive (0 ou 1) Spécifie si d'autre cpusets peuvent partager les nœuds de mémoire
cpuset.mem_hardwall (0 ou 1) Spécifie si les allocations au noyau de pages mémoire et données tampon sont restreintes aux nœuds mémoire spécifiés pour ce cpuset
cpuset.memory_migrate (0 ou 1) spécifie si une page en mémoire devrait migrer vers un nouveau nœud si les valeurs dans cpuset.mems changent
cpuset.memory_pressure Contient une moyenne de sollicitation de la mémoire des processus de ce cpuset. Est mis à jours lorsque memory_pressure_enabled est activé
cpuset.memory_pressure_enabled (0 ou 1) Spécifie si le système doit calculer la sollicitation mémoire (memory_pressure)
cpuset.memory_spread_page (0 ou 1) Spécifie si les tampons de système de fichier doivent être placés de manière régulières sur les nœuds mémoire alloués à ce cpuset
cpuset.memory_spread_slab (0 ou 1) Spécifie si les cache slab du noyau pour les opérations I/O doivent être placés de manière régulières sur le cpuset
cpuset.mems Spécifie les nœuds de mémoire auxquels les tâches de ce cgroup ont accès
cpuset.sched_load_balance (0 ou 1) Spécifie si le noyau va équilibrer les charges sur les CPU dans ce cpuset
cpuset.sched_relax_domain_level entier entre -1 et une valeur positive, représente la largeur de l'étendue des cpu sur laquelle le noyau va essayer d'équilibrer les charges. les valeurs sont:

        -1 Utilise la valeur par défaut du système pour l'équilibrage de charges
        0 Pas d'équilibrage de charge
        1 Équilibre immédiatement les charges sur les threads du même coeur
        2 Équilibre immédiatement les charges sur les coeurs du même chip
        3 Équilibre immédiatement les charges sur les CPU du même nœud ou la même lame
        4 Équilibre immédiatement les charges sur les CPU de même architecture NUMA
        5 Équilibre immédiatement les charges sur tous les CPU sur architecture NUMA

cpuacct Rapports automatiques sur les cpu utilisés
cpuacct.stat Rapporte le nombre de cycles CPU en unité USER_HZ pris par les tâches de ce cgroup et ses enfants dans le mode système
cpuacct.usage Rapporte le nombre de cycles CPU total en nanosecondes pris par les tâches de ce cgroup et enfants
cpuacct.usage_percpu Rapporte le nombre de cycles CPU total en nanosecondes sur chaque CPU pris par toutes les taches de ce cgroup et ses enfants
blkio Surveille et contrôle l'accès des tâches aux entrées/sorites sur des périphériques block
blkio.io_merged Rapporte le nombre de requêtes BIOS fusionnées en requêtes pour des opérations I/O
blkio.io_queued Rapporte le nombre de requêtes en file d'attente pour des opérations I/O
blkio.io_service_bytes Rapporte le nombre d'octets transférés depuis et vers des périphériques spécifiques
blkio.io_serviced Rapporte le nombre d'opérations I/O effectuées sur des périphériques spécifiques
blkio.io_service_time Rapporte le temps total pris par l'envoie de la demande et son achèvement pour les opérations I/O sur des périphériques spécifiques
blkio.io_wait_time Rapporte le temps total pour un service dans les files d'attentes des opération I/O sur des périphériques spécifiques
blkio.reset_stats Réinitialise les statistiques enregistrées
blkio.sectors Rapporte le nombre de secteurs transférés depuis/vers des périphériques spécifiques
blkio.time Rapporte le moment auquel un cgroup avait un accès I/O à des périphériques spécifiques, en ms
blkio.weight Poids relatif d'accès au block I/O (de 100 à 1000)
blkio.weight_device Poids relatif d'accès à des périphériques spécifiques au format majeur:minuer poid
blkio.avg_queue_size Rapporte la taille moyenne des files d'attente pour les opérations I/O
blkio.group_wait_time Rapporte la durée totale (en ns) q'un cgroup attendu une tranche de temps pour l'une de ses files d'attente
blkio.empty_time Rapporte la durée totale (en ns) qu'un cgroup a attendu sans requêtes en attente
blkio.idle_time Rapporte le temps totale (en ns) que le planification a passé à attendre un cgroup dans l'attente d'une meilleur requête que celles déjà dns les files d'attentes ou provenant d'autres cgroups (si CONFIG_DEBUG_BLK_CGROUP=y)
blkio.dequeue Rapporte le nombre de fois que des requêtes d'opérations I/O ont été retirés des files d'attentes par des périphériques spécifiques
net_cls repère les paquets réseau avec un ClassId
net_cls.classid valeur hexa indiquant un descripteur de contrôle du traffic
devices Autorise ou refuse l'accès aux périphériques dans un cgroup
devices.allow Spécifie à quels périphériques les tâches du cgroup peuvent accéder. Chaque entrée possède 4 champs : type (a, b ou c), majeur, mineur et accès (r, w, m : autorise à créer des fichiers de périphériques qui n'existent pas encore)
devices.deny Spécifie les périphériques que le cgroup n'a pas accès
devices.list Rapporte les périphériques pour lesquels les contrôles d'accès ont été définis pour ce cgroup
freezer suspend ou réactive les tâches dans un cgroup
freezer.state FROZEN (les tâches dans le cgroup sont suspendues), FREEZING ( le système est en train de suspendre les tâches dans le cgroup), THAWED (les tâches dans le cgroup sont réactivées)
perf_event Monitoring par cpu. (voir perf)
ns permet de grouper les processus dans des espaces de nom séparés
memory
memory.stat reporte des statistiques de mémoire:

        cache Cache de la page, inclut tmpfs (shmem), en octets
        rss caches swap et anonyme, n'inclut pas tmpfs (shmem), en octets
        mapped_file taille des fichiers mappés en mémoire, inclut tmpfs (shmem), en octets
        pgpgin nombre de pages chargées en mémoire
        pgpgout nombre de pages renvoyées de la mémoire
        swap usage swap, en octets
        active_anon caches swap et anonyme de la liste des LRU (dernier récemment utilisé) actifs, inclut tmpfs (shmem), en octets
        inactive_anon caches swap et anonyme de la liste des LRU (dernier récemment utilisé) inactifs, inclut tmpfs (shmem), en octets
        active_file mémoire sauvegardée sur fichier de la liste des LRU actifs, en octets
        inactive_file mémoire sauvegardée sur fichier de la liste des LRU inactifs, en octets
        unevictable mémoire ne pouvant pas être récupérée, en octets
        hierarchical_memory_limit limite de la mémoire pour la hiérarchie contenant le groupe de contrôle memory, en octets
        hierarchical_memsw_limit limite de la mémoire plus le swap pour la hiérarchie contenant le groupe de contrôle memory, en octets

memory.usage_in_bytes Rapporte l'utilisation mémoire total actuelle en octets
memory.memsw.usage_in_bytes Rapporte la somme de l'utilisation de la mémoire et de l'espace swap
memory.max_usage_in_bytes Rapporte le montant max e mémoire utilisée
memory.memsw.max_usage_in_bytes Rapporte la somme totale de mémoire et swap utilisé
memory.limit_in_bytes Définis la mémoire max utilisateur incluant le cache (-1 pas de limite)
memory.memsw.limit_in_bytes mémoire et swap max (-1 pas de limite)
memory.failcnt Rapporte le nombre de fois que la limite mémoire est atteinte (memory.limit_in_bytes)
memory.memsw.failcnt Rapporte le nombre de fois que la limite mémoire est atteinte (memory.memsw.limit_in_bytes)
memory.force_empty Vide la mémoire de toutes les pages utilisée lorsque défini à 0. uniquement quand aucune tâche n'est présente
memory.swappiness Définis la tendance du noyau à déloger la mémoire plutôt que de réclamer des pages depuis le cache de page (idem à /proc/sys/vm/swappiness)
memory.use_hierarchie (0 ou 1) spécifie si la mémoire utilisée devrait être prise en comptes sur une hiérarchie de cgroup, à 0, le sous-système ne récupère pas la mémoire d'une tâche enfant.

   Les nouveaux cgroups sont créé en utilisant l'appel système mkdir. les propriétés d'un cgroup sont modifiés en écrivant dans le fichier approprié dans ce cgroup.

Utiliser les cgroups

monter une hiérarchie cgroup:
mount -t tmpfs cgroup_root /sys/fs/cgroup
ajouter le sous-système cpuset:
mount -t cgroup cpuset -ocpuset /sys/fs/cgroup/cpuset
ajouter cpuset et memory:
mount -t cgroup -o cpuset,memory hier1 /sys/fs/cgroup/rg1
Changer de jeu de sous-systèmes:
mount -o remount,cpuset,blkio hier1 /sys/fs/cgroup/rg1
Spécifier le release_agent de la hiérarchie:
mount -t cgroup -o cpuset,release_agent="/sbin/cpuset_release_agent" xxx /sys/fs/cgroup/rg1
Changer la valeur du release_agent:
echo "/sbin/new_release_agent" › /sys/fs/cgroup/rg1/release_agent
Attacher une tâche à un cgroup:
echo `pidof bash` › tasks
^
15 juin 2013

htmlpdflatexmanmd




cgrules.conf

cgrules.conf

Fichier de configuration de libcgroup

   Fichier de configuration de libcgroup. Définis les cgroups à traiter, contient une liste de règles qui assignent à un group/user définis un cgroup dans un sous-système ou cgroup dans un sous-système.

2 format sont possible:
‹user› ‹controllers› ‹destination›
‹user›:‹process name› ‹controllers› ‹destination›
où:

user peut être, un nom d'utilisateur, un @groupe, '*', '%' équivalent à "ditto"
process name options, un nom de processus ou un chemin vers une commande à trziter
controllers liste de contrôlleurs séparés par des ',' ou '*'
destination Chemin relatif d'une hiérarchie contrôleur ou:

        %U username
        %u UID
        %g group
        %g GID
        %p process
        %P PID

   La premère règle qui matche est exécutée

Exemples

Les processus des étudiants dans le sous-système devices appartiennent au cgroup /usergroup/students
student devices /usergroup/students
Quand les étudiants exécutent cp, les processus dans le sous-système devices appartiennent au cgroup /usergroup/students/cp
student:cpdevices /usergroup/students/cp
Les processus lancés par n'importe qui du groupe admin appartiennent au cgroup admingroup
@admin *admingroup/
Les tâche de Peter pour le contrôleur cpu appartiennent au cgroup test1.
peter cpu test1/
Les tâche de Peter pour le contrôleur memory appartiennent au cgroup test2.
% memory test2/
Tout processus appartient au cgroup default
* * default/
^
15 juin 2013

htmlpdflatexmanmd




cgrulesengd

cgrulesengd

Service qui distribue les processus aux cgroups

   Quand un process change sont uid/gid effectif, il inspecte la liste des règles depuis cgrules.conf et place le processus dans le cgroup approprié. Le fichier est lu au lancement et peut être rechargé via SIGUSR2.

OPTIONS

-f ‹path›, --logfile=‹path› Écrit les logs dans le fichier donné
-s[facility], --syslog=[facility] logging facility
-n, --nodaemon Ne lance pas en tâche de fond
-v, --verbose mode verbeux
-q, --quiet mode silencieux
-Q, --nolog Désactive les logs
-d, --debug idem à -nvvf
-u ‹user›, --socket-user=‹user›
-g ‹group›, --socket-group=‹group› Définis le propriétaire du socket cgrulesengd. Assume que cgexec tourne avec les permissions suid adéquat pour qu'il puisse écrire dans ce socket quand --sticky est utilisé
^
15 juin 2013

htmlpdflatexmanmd




cgset

cgset

Définis les paramètres des cgroups donnés

OPTIONS

‹path› Nom du cgroup à changer. Peut être spécifié plusieurs fois
-r ‹name=value› Le nom du fichier et la valeur à écrire dans ce fichier. Peut être spécifie plusieurs fois
-copy-from ‹source_cgroup_path› Définis le nom du cgroup d'où copier les paramètres
^
15 juin 2013

htmlpdflatexmanmd




cgsnapshot

cgsnapshot

Génère des fichier de configuration pour les contrôleurs donnés

OPTIONS

-b file Affiche seulement les variables depuis la blacklist (défaut: /etc/cgsnapshot_blacklist.conf) ce fichier contient toutes les variables qui devraient être ignorés
-f, --file Redirige la sortie dans le fichier
-s, --silent Ignore toutes les alertes
-t, --strict N(affiche pas les variables qui ne sont pas dans la whitelist (défaut: /etc/cgsnapshot_whitelist)
-w file Définis le fichier blacklist
controller Définis le contrôleur dont les hiérarchies seront affichés
^
31 octobre 2016

htmlpdflatexmanmd




chattr

chattr

Changer les attributs dans un système de fichier linux

OPTIONS

-R Changer les attributs récursivement dans les répertoires et leur contenu
-f Supprimer les messages d'erreur
-v version définir le numéro de version/génération du fichier
-p projet Définis le numéro de projet du fichier

Attributs

a Mis, peut seulement être ouvert en mode ajout pour l'écriture. Seul le superutilisateur ou un processus possédant la capability CAP_LINUX_IMMUTABLE peut changer cet attribut
A Mis, le atime n'est pas modifié en cas d'accès au fichier.
c Mis, Le fichier automatiquement compressé sur le disque par le kernel.
C Mis, le fichier n'est pas sujet aux mises à jours copy-on-write. N'a pas d'effet sur les répertoires mais les fichier créés dans ce répertoire aurom l'attribut No_COW mis
d Mis, le fichier n'est pas candidat pour la sauvegarde avec le programme dump
D Mis pour un répertoire qui est modifié, les changements sont écris de manière synchrone sur le disque. Équivalent à l'option de montage dirsync appliqué à un sous-jeu de fichiers
e Mis, indique que le fichier utilise des extents pour mapper les blocks sur le disque. Ne peut pas être supprimé par chattr
E Utilisé par les patchs de chiffrement expérimentaux pour indiquer que le fichier a été chifré. Ne peut pas être modifié par chattr
h Indique que le fichier stocke ses blocks en unité de taille de block du système de fichier au lieu d'unité de secteurs, et signifie que le fichier est (ou à moment l'a été) supérieur à 2To. Ne peut pas être changé par chattr
i Le fichier de peut pas être modifié, supprimé ou renommé, aucun lien ne peut être créé vers ce fichier et aucune donnée ne peut être écrite dans ce fichier. Seul root ou un processus ayant CAP_LINUX_IMMUTABLE peut changer cet attribut
I Indique qu'un répertoire est indexé en utilisant les arborescences hashé (htree). Ne peut pas être changé par chattr
j Mis, un fichier écrit toutes ses données dans le journal avant d'être écrit dans le fichier lui-même. Seul root ou un processus ayant CAP_LINUX_IMMUTABLE peut changer cet attribut
N Indique que le fichier a des données stockées en ligne, dans l'inode lui-même. Ne peut pas être changé par chattr
P Pour un répertoire, force une structure hiérarchique pour les project id. Cela signifie que les fichiers et répertoires créé dans le répertoire héritent du project id du répertoire, les opérations de renommage sont contraints pour que lorsqu'un fichier ou répertoire et déplacé dans un autre répertoire, le project id match. De plus, les liens hard vers le fichier ne peuvent être créé que si le project id match.
s Mis, guand un fichier est supprimé, ses blocks sont remplis de 0 et écris sur disque.
S Mis, quand un fichier est modifié, les changements sont écris de manière synchrone sur le disque; équivalent à l'option sync.
t Mis, un fichier n'a pas de fragment de block partiel à la fin du fichier fusionné avec d'autres fichiers. Nécessaire pour les application tels que LILO qui lit le système de fichier directement et qui ne comprend pas les fichier 'tail-merged'
T Mis, un répertoire sera en haut des hiérarchies de répertoire pour l'allocateur de block Orlov. Par exemple, c'est une très bonne idée de définir cette attribut sur /home, pour que /home/john et /home/mary soient placés dans les groupes de block séparés.
u Mis, quand un fichier est supprimé, sont contenu est sauvé. Cela permet à l'utilisateur de demander sa récupération
X Utilisé par les patchs de compression expérimentaux pour indiquer que le contenu brut d'un fichier compressé peut être accédé directement. Ne peut pas être changé par chattr
Z Utilisé par les patchs de compression expérimentaux pour indiquer qu'un fichier compressé est dirty. Ne peut pas être changé par chattr
^
03 février 2016

htmlpdflatexmanmd




chcpu

chcpu

Configurer les cpu

   chcpu peut modifier l'état des cpu. il peut activer/désactiver les cpu, scanner à la recherche de nouveaux cpu, chnger le mode de dispatching de l'hyperviseur, demander et retourner des cpu à l'hyperviseur.

OPTIONS

-r, --rescan rescan pour détecter les nouveaux cpu dans le cas où le système ne les detecte pas automatiquement.
-c, --configure cpu-list Configure tous les cpu spécifiés. configurer un cpu signifie que l'hyperviseur prend un cpu du pool de cpu et l'assigne au hardware virtuel sur lequel le kernel tourne
-e, --enable cpu-list active tous les cpu listé. Un cpu doit être configuré avant.
-p, --dispatch mode définis le dispatching (polarization). n'a d'effet que si l'architecture hardware et l'hyperviseur supporte la polarisation cpu. les modes sont 'horizontal', la charge est répartie sur tous les cpus disponible; 'vertical', la charge est concentrée sur quelques cpu.
-d, --disable cpu-list Désactive tous les cpu spécifiés. Désactiver signifie que le kernel le met offline
-g, --deconfigure cpu-list Déconfigure tous les cpu spécifiés. signifie que l'hyperviseur les supprime du hardware virtuel sur lequel l'instance tourne et les retourne au pool de cpu. un cpu doit être offline avant.
^
03 novembre 2011

htmlpdflatexmanmd




chfn

chfn

Permet de modifier le nom complet et les informations associées à un utilisateur

   Il change le nom complet, l’office number, l’office extension et le home phone number pour un compte utilisateur. Ces informations sont affichées par finger. Un utilisateur normal peut changer ses propres informations, en fonction des restrictions dans /etc/login.defs. Ces champs ne doivent pas contenir de ’,’, excepté pour le champ other, ne doivent pas contenir de ’=’ ou de ’-’. Il est également recommandé d’éviter les caractères non US-ASCII, mais c’est surtout pour le phone number. Le champ other est utilisé pour stocker des informations de compte utilisé par d’autres applications. Sans option, chfn opère de manière interactive.

OPTIONS

-f Nom complet du compte
-r Numéro de bureau
-w téléphone du bureau
-h Téléphone personnel
-o permet de changer les portions indéfinies du champ GECOS.
^
03 novembre 2011

htmlpdflatexmanmd




chgpasswd

chgpasswd

Mettre à jour les mots de passe par lot

   Il lit une liste de paires groupe/mot de passe depuis l’entrée standard et met à jours dans les groupes existant. Chaque ligne est sous la forme :

  nom_du_groupe:password

  Par défaut, les mots de passe doivent être en texte claire, et sont cryptés par chgpasswd. L’algorithme de cryptage peut être défini pour le système avec la variable ECRYPT_METHOD dans /etc/login.defs, et peut être remplacé avec les options sur la ligne de commande.

OPTIONS

-c, --crypt-method spécifie la méthode de cryptage (DES, MD5, NONE, SHA256 et SHA512.
-e, --encrypted Indique que les mots de passe fournis sont chiffrés
-m, --md5 Permet d’utiliser md5, plutôt que DES, lorsque les mots de passe sont fournis en clair
-s, --sha-rounds Nombre de passes pour chiffrer en sha. (Entre 1000 et 999 999 999, définis par défaut dans /etc/login.defs)

   chgpasswd utilise un certain nombre de variables dans /etc/login.defs.
^
03 novembre 2011

htmlpdflatexmanmd




chpasswd

chpasswd

Permet de mettre à jours des mots de passe par lot

   chpasswd lit une liste de paires de noms d’utilisateurs et de mots de passe depuis l’entrée standard et utilise ces informations pour mettre à jour un groupe d’utilisateurs existants. Chaque ligne est au format suivant :

  Nom_utilisateur:mot_de_passe

   Par défaut, le mot de passe doit être fournis en texte clair, et sont cryptés par chpasswd. L’âge du mot de passe sera mis à jours, si nécessaire. Par défaut, les mots de passe sont cryptés par PAM, mais vous pouvez utiliser une méthode de cryptage différente. Excepté quand PAM est utilisée, chpasswd met d’abords à jours tous les mots de passe en mémoire, et effectue ensuite tous les changements sur disque si aucune erreur ne s’est produite. Quand PAM est utilisé, si un mot de passe ne peut pas être mis à jours, chpasswd continue et retournera un code d’erreur.

OPTIONS

-c, --crypt-method spécifie la méthode de cryptage (DES, MD5, NONE, SHA256 et SHA512.
-e, --encrypted Indique que les mots de passe fournis sont chiffrés
-m, --md5 Permet d’utiliser md5, plutôt que DES, lorsque les mots de passe sont fournis en clair
-s, --sha-rounds Nombre de passes pour chiffrer en sha. (Entre 1000 et 999 999 999, définis par défaut dans /etc/login.defs)

Fichiers

/etc/pam.d/chpasswd Configuration utilisée lorsque chpasswd utilise PAM.
^
03 novembre 2011

htmlpdflatexmanmd




chsh

chsh

Modifie l’interpréteur de commande initial de l’utilisateur

OPTIONS

-s, --shell Nom du nouvel interpréteur de commande initial

   Le nouveau shell doit être listé dans /etc/shells, sauf si c’est root qui le change. Un utilisateur avec un shell restreint ne peut pas changer son shell.
^
03 février 2016

htmlpdflatexmanmd




chvt

chvt

Change le terminal virtuel courant

   La commande chvt N passe /dev/ttyN comme terminal courant. L'écran correspondant est créé s'il n'existe pas. Pour gérer les VT non utilisés, utiliser deallocvt. La combinaison (Ctrl-)LeftAlt-FN où N est entre 1-12 a le même effet.

^
25 mars 2016

htmlpdflatexmanmd




cmtab

cmtab

Informations sur les systèmes de fichier gérés par cryptmount

   /etc/cryptmount/cmtab contient les informations sur les systèmes gérés par cryptmount. Le format est flexible:


TARGET_NAME {
    dev=DEVICE # REQUIRED
    flags=FLAG,FLAG,...
    startsector=STARTSECTOR
    numsectors=NUMSECTORS
    loop=LOOPDEV
    dir=MOUNT_POINT
    fstype=TYPE # REQUIRED
    mountoptions=MOPT,MOPT,...
    fsckoptions=FOPT;FOPT;...
    supath=SUPATH
    bootaction=BOOTACTION
    cipher=CIPHER
    ivoffset=IVOFFSET
    keyformat=KEYMANAGER
    keyfile=KEYFILE # REQUIRED
    keyhash=KEYHASH
    keycipher=KEYCIPHER
    keymaxlen=KEYMAXLEN
    passwdretries=NUMATTEMPTS
}

   Certains champs, tels que dev et fstype sont obligatoires. De nombreux champs ont des valeurs par défaut. Un champ contenant une valeur non-numérique peut contenir une référence à une variable d'environnement:

$(HOME) Répertoire personnel de l'utilisateur
$(UID) UID de l'utilisateur
$(USERNAME) Nom de l'utilisateur
$(GID) GID du groupe primaire de l'utilisateur
$(GROUPNAME) Groupe primaire de l'utilisateur

Définitions de cibles

dev Dpfinis le nom du périphérique ou du fichier.
flags "user", "nouser", "fsck", "nofsck", "mkswap", "nomkswap", "trim", "notrim". Défaut: user,fsck,nomkswap,notrim
startsector Secteur de début du système de fichier dans le périphérique. défaut: 0
numsectors Donne la longueur totale du système de fichier en secteur. Défaut: -1
loop Permet de spécifier un périphérique loopback. Défaut: auto
dir Point de montage
fstype Type de système de fichier
mountoptions Options de montage utilisées par mount
fsckoptions options utilisées par fsck
supath Définis la variable d'environnement PATH en lançant des sous-processus en tant que root. Peut être nécessaire pour fsck et mount. Défaut: /sbin:/bin:/usr/sbin:/usr/bin
bootaction Action lors du démarrage du système (none, mount, swap ou prepare)
cipher Algorithme de chiffrement à utiliser. Défaut: aes-cbc-plain
keyformat schéma de gestion de clé utilisé pour interagir avec le keyfile. (libgcrypt, luks, openssl-compact, builtin, raw). Défaut: builtin
keyfile Nom du fichier contenant la clé à utiliser
ivoffset Offset ajouté au numéro de secteur utilisé pour construire le vecteur d'initialisation de l'algorithme de chiffrement. Défaut: 0
keyhash Algorithme de hashage à utiliser
keycipher Algorithme de chiffrement à utiliser pour sécuriser la clé de déchiffrement
keymaxlen Longueur en octet de la clé de déchiffrement
passwdretries Nombre de tentative du mot de passe

Choix du keymanager

   cryptmount supporte différentes manières de protéger l'accès à la clé associée avec chaque système de fichier chiffré. Pour la plupart des utilisateurs, le keymanager builtin fournis a bon niveau de sécurité et une bonne flexibilité. Les keymanager alternatifs offre un grand choix de schéma de hashage de mot de pass et de compatibilité avec d'autres outils de chiffrement.

builtin Ce keymanager utilise un keyfile séparé. Une fonction de dérivation de clé (PBKPF2) utilisant l'algorithme de hashage SHA1, avec chiffrement blowfish-cbc est utilisé pour protéger la clé.
libgcrypt Ce keymanager utilise un keyfile séparé. Une fonction de dérivation de clé (PBKPF2) est utilisé pour protéger la clé, avec un algorithme de hashage et de chiffrement supporté par la version installé de la librairie libgcrypt.
luks Ce keymanager fournis une compatibilité avec le format LUKS. Au lieu d'un fichier séparé, LUKS utilise un en-tête dans le système de fichier lui-même.
openssl/openssl-compat Ce keymanager utiliser un keymanager séparé qui est compatible avec le format utilisé par l'outil de chiffrement opennssl. Une fonction de dérivation de clé (PBKPF2) est utilisé pour protéger la clé, avec un algorithme de hashage et de chiffrement disponible.
password Ce keymanager dérive la clé directement depuis le mot de passe de l'utilisateur
raw Ce keymanager utilise un keyfile séparé où la clé accès est stocké directement et sans chiffrement. Ce keymanager est utile pour gérer les partitions swap chiffrés, où le keyfile peut être choisis avec /dev/random et la clé sera différente à chaque fois quelle est lue.

Sécurité

   Parce que cryptmount nécessite d'opérer avec des privilèges setuid, il est très important que son fichier de configuration soit sécurisé. Idéalement, /etc/cryptmount/cmtab devrait être géré seulement par l'administrateur système, et tous les keyfiles devraient lisibles par leur propriétaire. cryptmount effectue des vérifications de sécurité sur /etc/cryptmount/cmtab chaque fois qui est lancé, et va refuser d'opérer sauf si les conditions suivant sont rencontrées:

- cmtab doit être possédé par root
- cmtab doit être un fichier régulier
- cmtab ne doit pas être en écriture globalement
- Le répertoire contenant cmtab doit être possédé par root
- Le répertoire contenant cmtab ne doit pas être en écriture globalement
- Pour chaque cible dans @CM_SYSCONFDIR@/cmtab, tous les chemins doivent être absolus

Exemples

L'exemple suivant de @CM_SYSCONFDIR@/cmtab consiste de 5 cibles, utilisant divers algorithmes de chiffrement et stockent leur système de fichier de différentes manières, incluant une cible représentant une partition swap chiffrée:
_DEFAULTS_ {
    passwdretries=3 # allow 3 password attempts by default
}
    
basic {
    dev=/home/secretiveuser/crypt.fs
    dir=/home/secretiveuser/crypt # where to mount
    loop=auto # find free loop-device
    fstype=ext3 mountoptions=default
    cipher=aes-cbc-plain # filesystem encryption
    keyfile=/home/secretiveuser/crypt.key
    keyformat=builtin
}
    
partition {
    dev=/dev/hdb62 # use whole disk partition
    dir=/mnt/crypt62
    fstype=ext3 mountoptions=nosuid,noexec
    cipher=serpent-cbc-plain
    keyfile=@CM_SYSCONFDIR@/crypt_hdb62.key
    keyformat=openssl # use OpenSSL key-encryption
    keyhash=md5 keycipher=bf-cbc # encryption of key file
}
    
subset {
    dev=/dev/hdb63
    startsector=512 numsectors=16384 # use subset of partition
    dir=/mnt/encrypted\ subset\ of\ hdb
    fstype=reiserfs mountoptions=defaults
    cipher=twofish-cbc-plain # filesystem encryption
    keyfile=@CM_SYSCONFDIR@/crypt_hdb63.key
    keyformat=libgcrypt
    keyhash=md5 keycipher=blowfish-cbc # encryption of key file
}
    
encswap { # encrypted swap partition
    bootaction=swap
    dev=/dev/disk/by-id/scsi-SATA_ST500_ABCDEFG-part37
    startsector=16896 numsectors=1024 # use subset of partition
    fstype=swap flags=mkswap cipher=twofish-cbc-plain
    keyfile=/dev/random keymaxlen=16 keyformat=raw
}
    
luks { # partition created by cryptsetup-luks
    dev=/dev/hdb63
    dir=/mnt/luks-partition-$(USERNAME)
    keyformat=luks
    keyfile=/dev/hdb63
    fstype=ext3
}

^
28 août 2015

htmlpdflatexmanmd




convertquota

convertquota

Convertit l'ancien format de quota au nouveau quota

   convertquota convertit les fichiers de quota de l'ancien format quota.user et quota.group au nouveau format aquota.user et aquota.group.

OPTIONS

-u, --user Convertit le fichier de quota utilisateur.
-g, --user Convertit le fichier de quota de groupe.
-f, --convert-format oldformat,newformat convertit le fichier de quota depuis oldformat vers newformat
-e, --convert-endian Convertit le format de fichier vfsv0 en big endian vers little endian.
^
03 février 2016

htmlpdflatexmanmd




cpuid

cpuid

Périphérique d'accès aux identifiants de CPU x86

   CPUID fournit une interface pour demander des informations concernant un CPU x86. On accède à ce périphérique en utilisant lseek(2) ou pread(2) avec le niveau CPUID approprié et en lisant des blocks de 16 octets. Des lectures plus importantes indiquent la lecture de plusieurs niveaux consécutifs.

   Les 32 bits LSB dans le fichier sont utilisés comme registre d'entrée %eax, et les 32 bits MSB comme registre d'entrée %ecx, ce dernier étant utilisé pour compter les niveaux eax, comme pour eax=4.

   Ce pilote utilise /dev/cpu/CPUNUM/cpuid, ou CPUNUM est le numéro mineur, et sur un système multiprocesseur enverra les accès au CPU numéro CPUNUM d'après la liste dans /proc/cpuinfo. Ce fichier est protégé de telle sorte que seul root ou membres du groupe root puissent y accéder.

Notes

   L'instruction CPUID peut être exéucutée directement par un programme utilisant de l'assembleur en ligne. Cependant ce périphérique fournit une méthode d'accès commode à tous les CPU sans changer l'affinité du processus.

   La plupart des informations de cpuid sont renvoyés par le noyau de façon formatée dans /proc/cpuinfo ou dans les sous-répertoires de /sys/devices/system/cpu. Un accès direct à CPUID par ce périphérique ne doit être utilisé que dans les cas exceptionnels.

   Le pilote cpuid n'est pas chargé automatiquement. Avec les noyaux modulaires il est possible de le charger avec modprobe cpuid. Il n'y a pas de prise en charge des fonctions CPUID qui nécessitent des registres d'entrée supplémentaires.
^
22 mai 2010

htmlpdflatexmanmd




cron

cron

Utilitaire de planification de tâches

   cron est un utilitaire pour exécuter des commandes à une date et une heure spécifique. cron est démarré automatiquement depuis /etc/init.d en entrant dans un runlevel multi-users.

OPTIONS

-f Ne démonise pas cron
-l Active la compatibilité LSB des noms dans les fichiers /etc/cron.d
-L Définit le niveau de log

Notes

   Cron recherche dans /var/spool/cron/crontab (ces fichiers sont nommés d'après les comptes dans /etc/passwd). Les crontab trouvés sont chargés en mémoire. Notez que les crontab dans ce dossier ne devraient pas être modifiés, la commande crontab doit être utilisé pour accéder à ces fichiers.

  Cron lit aussi /etc/crontab, qui a un format légèrement différent. additionnellement, cron lit les fichiers dans /etc/cron.d. En général un admin ne devrait pas utiliser /etc/cron.d/, mais utiliser plutôt /etc/crontab.
^
22 mai 2010

htmlpdflatexmanmd




crontab

crontab

Installer/Désinstaller des tâches cron

   crontab est utilisé pour installer, désinstaller ou lister les tables utilisées par cron. Chaque utilisateur peut avoir son propre crontab. Ces fichier sont maintenus dans /var/spool/cron/crontab.

  Si le fichier /etc/cron.allow existe, l'utilisateur doit y être listé pour utiliser cette commande. si /etc/cron.deny existe, l'utilisateur ne doit pas y être listé pour pouvoir utiliser cette commande.

OPTIONS

-u permet de spécifier l'utilisateur, sinon crontab utilise le crontab de l'utilisateur courant
-l affiche les tâche installée
-r supprimer le crontab courant
-e  permet d'éditer le crontab courant
-i modifie l'option -r pour demander confirmation avant de supprimer

Fichiers crontab

   Certaines variable sont déjà paramètrés: SHELL vaut /bin/sh, et LOGNAME et HOME sont paramétrés avec /etc/passwd. si MAILTO est paramétré, cron peut envoyer un mail.

  Cron supporte le module pam-env, et charge l'environnement spécifié par /etc/environement et /etc/security/pam_env.conf.

le format de cron chaque ligne a 5 champs suivis par une commande, suivi par un le caractère newline ('\n')
le format de crontab Il est identique mais il inclue un champs pour spécifier l'utilisateur pour la commande.


champs___________valeurs permises
minute______________0-59
heure_______________0-23
jour du mois________1-31
mois________________1-12 ou le nom
jour de la semaine__0-7 ou le nom

- Un champs peut être un * qui signifie toutes les valeurs.
- Les plages de nombre sont permise ex: 8-11
- Les listes sont permises ex: "1,2,5,9", "0-4,8-12"
- des 'pas' peuvent être spécifié avec la plage. ex: "0-23/2" signifie 0,2,4,6,8,10,12,14,16,18,20,22.
- Le jour d'une exécution peut être spécifiée par 2 champs: jour du mois et jours de la semaine.
30 4 1,15 * 5 cette commande sera exécutée à 4h30 le 1er et le 15 de chaque mois, plus tous les vendredi
- Au lieu des 5 champs, un de ces 8 termes spécial peut être utilisé:

        @reboot Lance une fois, au démarrage
        @yearly Lance une fois par an, "0 0 1 1 *"
        @annually idem
        @monthly Lance une fois par mois "0 0 1 * *"
        @weekly Lance une fois par semaine "0 0 * * 0"
        @daily Lance une fois par jour "0 0 * * *"
        @midnight idem
        @hourly lance une fois par heure "0 * * * *"

Exemples

modifier le shell utilisé
SHELL=/bin/bash
envoyer un mail a paul
MAILTO=paul
lancer 5 minute après minuit, chaque jour
5 0 * * * $HOME/bin/daily.job ›› $HOME/tmp/out 2›&1
lancer à 14h14 le premier de chaque mois
15 14 1 * * $HOME/bin/monthly
lancer à 22h les jours de la seamine
0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids ?%
23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"
5 4 * * sun echo "run at 5 after 4 every sunday"
^
22 mars 2016

htmlpdflatexmanmd




cryptdisks_start

cryptdisks_start, cryptdisks_stop

wrapper de cryptsetup qui parse /etc/crypttab

   cryptdisks_start est un wrapper de cryptsetup qui parse /etc/crypttab tout comme /etc/init.d/cryptdisks le fait et démarre le mappage dm-crypt qui correspond au nom spécifié.

   cryptdisks_stop est un wrapper de cryptsetup qui parse /etc/crypttab tout comme /etc/init.d/cryptdisks le fait et stop le mappage dm-crypt qui correspond au nom spécifié.

^
22 mars 2016

htmlpdflatexmanmd




cryptmount

cryptmount

Monter/démonter/configurer un système de fichier chiffré

   cryptmount permet de monter ou démonter un système de fichier chiffré dans nécessiter de privilèges root, et l'assister root dans la création de nouveau système de fichiers chiffrés. Une fois la configuration initiale du système de fichier par l'administrateur système, l'utilisateur doit seulement fournir le mot de passe de déchiffrement pour que cryptmount configure automatiquement device-mapper et les cibles loopback avant de monter le système

   cryptmount a été écris en réponse aux différences entre la nouvelle infrastructure device-mapper de linux 2.6 et l'ancien cryptoloop qui permettait aux utilisateurs standards d'accéder aux systèmes de fichiers directement via mount.

OPTIONS

-a, --all Agit sur toutes les cible disponible, ex: pour monter toutes les cibles
-m, --mount Monte la cible spécifiée. L'utilisateur devra fournir un mot de passe pour débloquer la clé de déchiffrement pour le système de fichier.
-S, --status Indique si la cible est montée ou non
-l, --list Liste toutes les cibles disponible, incluant des informations sur le système de fichier et le point de montage.
-c, --change-password Change le mot de passe qui protège la clé de déchiffrement pour un système de fichier donné.
-g, --generate-key size Génère une clé de déchiffrement opur un nouveau système de fichier, avec la taille spécifiée en octets
-e, --reuse-key existing-target Définis une clé de déchiffrement pour un nouveau système de fichier, en utilisant une clé existante pour un autre système de fichier. Uniquement disponible pour root
-f, --config-fd num Lit la configuration des cible depuis le descripteur de fichier spécifié au lieu du fichier de configuration par défaut. Uniquement disponible pour root
-m, --passwd-fd num Lit les mots de passe depuis le descripteur de fichier spécifié au lieu du terminal. Chaque mot de passe est lu une seule fois.
-p, --prepare Prépare les périphériques device-mapper et loopback nécessaire pour accéder à la cible, mais ne la monte pas. Utilisé par root pour installer un système de fichier sur un périphérique chiffré
-r, --release Relache tous les périphériques device-mapper et loopback associés avec un cible particulière. Uniquement disponible pour root.
-s, --swapon Active le paging et swaping pour la cible. Uniquement disponible pour root.
-x, --swapoff Désactive le paging et swaping pour la cible. Uniquement disponible pour root.
-k, --key-managers Liste tous les formats disponibles pour protéger les clés d'accès au système de fichier
-B, --system-boot Configure toutes les cibles marquées "bootaction". Généralement utilisé pour monter automatiquement les systèmes de fichiers chiffré. Uniquement disponible pour root.
-Q, --system-shutdown Stop toutes les cibles marquées bootaction. L'opposé de -B. Uniquement disponible pour root.
-n, --safetynet Tente de stopper toute cible mounté qui devrait normalement être arrêtée avec --unmount ou --swapoff. Uniquement disponible pour root, et prévu exclusivemeent durant l'extinction du système.

Codes de sortie

1 Option de ligne de commande non-reconnue
2 Nom de cible non-reconnue
3 Erreur en exécutant le programme helper
100 Privilèges insuffisants
101 Erreur de sécurité à l'installation

Exemple d'utilisation

   Pour pouvoir créer un nouveau système de fichier chiffré par cryptmount, utiliser le programme cryptmount-setup qui peut être utilisé par le superuser pour le configurer interactivement.

   Alternativement, une configuration manuelle permet un contrôle avancé. Avant de le faire, il faut s'assurer que le kernel supporte /dev/loop et /dev/mapper (modprobe -a loop dm-crypt).

Ensuite, supposons que l'on souhaite définir un nouveau système de fichier chiffré qui aura comme nom "opaque". Si on a une partition libre, disons /dev/hdb63, on peut donc l'utiliser directement pour stocker le système de fichier chiffré. Alternativement, si l'on souhaite stocker le système de fichier chiffré dans un fichier ordinaire, on doit créer un fichier avec par exemple:
dd if=/dev/zero of=/home/opaque.fs bs=1M count=512
Puis remplacer toutes les occurences de /dev/hdb63 avec /home/opaque.fs.

Premièrement, il faut ajouter une entrée dans /etc/cryptmount/cmtab, qui décris le chiffrement qui sera utilisé pour protéger le système de fichier lui-même et la clé d'accès, comme suit:
opaque {
dev=/dev/hdb63 dir=/home/crypt
fstype=ext2 mountoptions=defaults cipher=twofish
keyfile=/etc/cryptmount/opaque.key
keyformat=builtin
}

   Ici, on utilise l'algorithme twofish pour chiffrer le système de fichier lui-même, avec le gestionnaire de clé embarqué utilisé pour protéger la clé de déchiffrement (dans /etc/cryptmount/opaque.key) qui sera utilisé pour chiffrer le système de fichier lui-même, on peut exécuter, en root:

   Cela va générer une clé 32 octets (256bits), qui est connu pour être supportée par twofish, et la stocke dans une forme chiffrée après avoir demandé le mot de passe.

Si on exécute, en root:
cryptmount --prepare opaque
Le mot de passe sera demandé, qui va permettre à cryptmount de définir une cible device-mapper (/dev/mapper/opaque). On peut désormais utiliser les outils standard pour créer le système de fichier dans /dev/mapper/opaque:
mke2fs /dev/mapper/opaque
après avoir exécuté:
cryptmount --release opaque
mkdir /home/crypt
Le système de fichier chiffré est prêt. Généralement, les utilisateurs peuvent le monter avec:
cryptmount -m opaque
ou
cryptmount opaque
et le démontent avec
cryptmount -u opaque

   cryptmount conserve un enregistrement sur quel utilisateur a monté chaque système de fichier pour pouvoir fournir un mécanisme de blockage pour s'assurer que seul le même utilisateur (ou root) peut le démonter.

Changement de mot de passe

Une fois un système de fichier utilisé, on peut souhaiter changer le mot de passe d'accès, par exemple:
cryptmount --change-password opaque

Système de fichier chiffré avec LUKS

   cryptmount peut être utilisé pour fournir un accès simple à aux systèmes de fichier chiffrés compatibles avec LUKS.

Pour accéder à une partition LUKS existante, une entrée a besoin d'être créé dans /etc/cryptmount/cmtab. Par exemple, si la partition /dev/hdb62 est utilisé pour contenir un système de fichier ext3 LUKS, une entrée sous la forme:
LUKS {
keyformat=luks
dev=/dev/hdb62 keyfile=/dev/hdb62
dir=/home/luks-dir fstype=ext3
}

Que permet de monter via cryptmount sous /home/luks-dir en exécutant:
cryptmount LUKS
cryptmount va également permettre à un utilisateur qui connaît un des mots de passe d'accè de changer leur mot de passe via
cryptmount --change-password LUKS

   cryptmount fournis également un support basic pour créer un nouveau système de fichier chiffré LUKS, qui peut être placé dans des fichiers ordinaires aussi bien que des partitions disque, via --generate-key. Cependant, pour exploiter toutes les fonctionnalité de LUKS, tel qu'ajouter plusieurs mots de passes, il faut utiliser cryptsetup.

   Il est fortement recommandé de ne pas tenter d'utiliser le support LUKS en combinaison avec les fonctionnalités de cryptmount pour stocker plusieurs systèmes de fichiers chiffrés dans une simple partition disque ou un fichier ordinaire. Cela est dû à la supposition dans le design de cryptsetup-luks que la clé LUKS est toujours stockée au début de la partition.
^
22 mars 2016

htmlpdflatexmanmd




cryptmount-setup

cryptmount-setup

Définir un nouveau système de fichier chiffré

   cryptmount-setup aide à la configuration initiale du chiffrement d'un système de fichier, pour être géré par cryptmount. Lancé en root, il permet de créer un système de fichier de bas dans un fichier ordinaire. La taille, l'emplacement, le point de montage et le propriétaire du système de fichier peuvent être sélectionnés interactivement.

^
25 mars 2016

htmlpdflatexmanmd




cryptsetup

cryptsetup

Gérer les volumes chiffré dm-crypt et LUKS

   cryptsetup est utilisé pour définir les mappages device-mapper gérés par dm-crypt. Cela inclus les volume dm-crypt et LUKS. La différence est que LUKS utilise en en-tête de méta-données et peut ainsi offrir plus de fonctionnalités que dm-crypt. D'un autre côté, l'en-tête est visible et vulnérable.

   De plus, cryptsetup fournis un support limité des volumes historiques loopaes et pour les volumes compatibles TrueCrypt.

   Beaucoup d'informations sur les riques de l'utilisation de stockage chiffré, la gestion des problèmes et sur les aspects de sécurité peuvent être trouvés dans la FAQ Cryptsetup.

Commandes de base

open ‹device› ‹name› --type ‹device_type› Ouvre (créé un mappage avec) le nom. device_type peut être plain, luks, loopaes ou tcrypt.
close ‹name› Supprime la mappage existant et détruit la clé de la mémoire kernel
status ‹name› Reporte le status pour la mappage donné
resize ‹name› Redimentionne un mappage active

Mode Plain

   plain dm-crypt chiffre le périphérique secteur par secteur avec un simple, non-salted hash de la passphrase. aucune vérification n'est effectuée, aucune métadonnée n'est utilisée. Il n'y a pas d'opération de formattage. Quand le périphérique brut est mappé, les opérations de périphériques peuvent être utilisée sur le périphérique mappé, incluant la création du système de fichier. Les périphériques de mappage peuvent être créés dans /dev/mapper/‹name›.

Extensions LUKS

   LUKS est un standard pour le chiffrement de disque. Il ajoute une en-tête standardisé au début du périphérique, une zone de slot directement derrière l'en-tête et les données bulk ensuite. Toute ce jeu est appelé un conteneur LUKS. Le périphérique où un conteneur LUKS réside est appelé un périphérique LUKS.

   LUKS peut gérér plusieurs passphrases qui peuvent être révoqués individuellement ou changés et peuvent être néttoyés du média persistant de manière sécurisée. Les passphases sont protégées contre le brute-force et les attaques par dictionnaire par PBKDF2, qui implémente une itération de hash et un salt dans une fonction.

   Chaque passphrase, également appelée une clé, est associée avec un des 8 slots. Les opérations de clé qui ne spécifient pas un slot affectent le premier slot qui matche la passphrase fournie ou le premier slot vide si une nouvelle passphrase est ajoutée.

   Le paramètre device peut également être spécifié par un UUID LUKS au format UUID=‹uuid›. Pour spécifier un en-tête détaché, le paramètre --header peut être utilisé dans toutes les commandes LUKS et prend toujours précédence sur le paramètre positionnel device.

  Les options LUKS valides sont les suivantes:

luksFormat ‹device› [‹key file›] Initialise une partition LUKS et définis la passphrase initiale (slot 0), soit en demandant, soit via le fichier spécifié. Noter que si le 2ème argument est présent, la passphrase est prise du fichier donné, sans avoir besoin de l'option --key-file. Noter également que '-' comme nom de fichier lit la passphrase depuis l'entrée standard. cette action ne peut être utilisé que sur des périphériques LUKS qui ne sont pas mappé.
open --type luks ‹device› ‹name› Ouvre le périphérique LUKS et définis un mappage une fois la vérification de la passphrase effectuée.
luksSuspend ‹name› Suspend un périphérique actif (toutes les opérations IO seront blockés et les accès au périphérique attendent indéfiniment.
luksResume ‹name› Résume un périphérique suspendu et redemande une passphrase, si --key-file n'est pas donné
luksAddKey ‹device› [‹key file with new key›] Ajoute une nouvelle passphrase. Une passphrase doit être fournie interactivemenet ou via --key-file.
luksRemoveKey ‹device› [‹key file with passphrase to be removed›] Supprime la passphrase fournie du périphérique LUKS. La passphrase à supprimer peut être spécifiée interactivement ou via --key-file
luksChangeKey ‹device› [‹new key file›] Change une passphrase existante.
luksKillSlot ‹device› ‹key slot number› Détruit la clé du périphérique LUKS.
luksErase ‹device› Supprime tous les keyslots et rend le conteneur inaccessible. Cette opération est irréversible
luksUUID ‹device› Affiche le UUID du périphérique LUKS. Définis un nouvel UUID is --uuid est spécifié
isLuks ‹device› Retourne true, si le périphérique est un périphérique LUKS.
luksDump ‹device› Dump les informations d'en-tête d'une périphériques LUKS. Si l'options --dump-master-key est utilisé, la clé maître est dumpé au lieu du keyslot.
luksHeaderBackup ‹device› --header-backup-file ‹file› Stocke un backup binaire de l'en-tête LUKS et la zone keyslslot.
luksHeaderRestore ‹device› --header-backup-file ‹file› Restaure un backup binaire d'un en-tête LUKS.

Extensions TCRYPT

   cryptsetup supporte le mappage de TrueCrypt, tcplay ou VeraCrypt en utilisant l'API kernel Linux. Le changement de formattage d'en-tête et l'en-tête TCRYPT n'est pas supporté.

   L'extension TCRYPT nécessite l'API crypto disponible dans l'espace utilisateur. (CRYPTO_USER_API_SKCIPHER) Parce que l'en-tête TCRYPT est chiffré, il faut toujours fournir une passphrase valide.

   cryptsetup devrait reconnaître toutes les variantes d'en-tête, excepté les chaînes de chiffrement utilisant le mode de chiffrement LRW avec block de chiffrement 64-bits (blowfish en mode LRW n'est pas reconnu, c'est une limitation de l'API crypto du kernel)

   Parce que l'en-tête TCRYPT est chiffré, il faut toujours fournir une passphrase valide et un keyfile

   Pour reconnaître un périphérique VeraCrypt, utiliser l'option --veracrypt. VeraCrypt est une extension de l'en-tête TrueCrypt avec un compteur d'itération amélioré, donc le déblocage peut prendre plus de temps.

   Note: L'activation avec tcryptOpen est supporté uniquement pour les chaînes de chiffrement utilisant les modes LRW ou XTS.

   tcryptDump devrait fonctionner pour tous les périphériques TCRYPT reconnus et ne nécessite pas de privilège root.

   Pour mapper les périphériques système (avec un boot loader) utiliser l'option --tcrypt-system.

   Si vous avez un périphérique TCRYPT comme fichier image et souhaitez mapper plusieurs partitions chiffrées avec le chiffrement système, créer un mappage loopback avec les partitions en premier (losetup -P), et utiliser la partition loop comme paramètre de périphérique.

   Pour utiliser un en-tête caché, utiliser --tcrypt-hidden. Pour utiliser en-tête backup, utiliser l'option --tcypt-hidden.

open --type tcrypt ‹device› ‹name› Ouvre un périphérique TCRYPT et définis le mappage. keyfile permet de combiner le contenu du fichier avec la passphrase et peut être répétée. Noter qu'utiliser des keyfiles est compatible avec TCRYPT et est différent de la logique keyfile LUKS.
tcryptDump ‹device› Dump les informations d'en-tête. Si --dump-master-key est utilisé, la clé maître est dumpé au lieu de l'en-tête.

Divers

repair ‹device› Tente de réparer les méta-données du périphérique. Uniquement pour les périphériques LUKS
benchmark ‹options› benchmark les chiffrements et les fonction de dérivations de clé (KDF). Sans paramètres, tente de mesurer les configuration communes. Les paramètre --cipher, --key-size ou --hash doivent être spécifiés.

OPTIONS

-v, --verbose mode verbeux
--debug Mode debug
-h, --hash Spécifie le hash de la passphrase à ouvir
-c, --cipher définis le chiffrement
-y, --verify-passphrase Demande 2 fois la passphrase
-d, --keyfile lit la passphrase depuis le fichier
--keyfile-offset Saut n octets au début du fichier de clé
-l, --keyfile-size Taille de la clé en octets dans le fichier de clé
--new-keyfile-offset Saute n octets en ajoutant une nouvelle passphrase dans le fichier de clé avec luksAddKey.
--new-keyfile-size Taille de la clé en octet en ajoutant une nouvelle passphrase dans le fichier de clé avec luksAddKey.
--master-key-file Utilise la clé maître stockée dans un fichier. Pour luksFormat, cela permet de créer un en-tête LUKS avec cette clé maître.
--dump-master-key Pour luksDump, inclus la clé maître dans les informations affichées.
--use-random, --use-urandom Spécifie le générateur de nombre pseudo-aléatoire utilisé pour clé la clé de volume
-S, --key-slot Spécifie le slot de clé à utiliser. Tous les autres slots seront désactivé.
-b, --size Force la taile du périphérique en secteurs de 512 octets.
-o, --offset Décalage du début dans le périphérique en secteurs de 512 octets
-p, --skip Saut n secteurs de 512 octets dans le périphérique.
-r, --readonly Définis un mappage lecture seule
--shared Créé un mappage additionnel pour un périphérique ciphertext commun.
--i, --iter-time Nombre de temps en ms pour le traitement PBKDF2.
-q, --batch-mode mode silencieux
-t, --timeout Temps d'attente de la passphrase
-T, --tries Nombre de tentative pour l'entrée de passphrase invalide
--align-payload Aligne le payload au limites de n secteurs de 512 octets.
--uuid Utilise l'UUID fournis au lieu d'en générer un nouveau
--allow-discards Autorise l'utilisation des requêtes discards (TRIM) déconseillé pour des raisons de sécurité
--perf-same_cpu_crypt Effectue un chiffrement avec le même CPU qui gère les E/S.
--perf-submit_from_crypt_cpus Désactive les écriture offload dans un thread séparé après le chiffrement.
--test-passphrase N'active pas le périphériques, vérifie simplement la passphrase
--header Utilise un périphérique de méta-donnée séparé ou un fichier où se trouve l'en-tête LUKS
--force-password N'utilise pas la vérification du mot de passe LUKS

Codes de retour

0 L'opération s'est déroulé avec succès
1 Mauvais paramètres
2 N'a pas les permissions
3 Out of memory
4 Mauvais périphérique spécifié
5 Le périphérique existe déjà
^
24 mars 2016

htmlpdflatexmanmd




cryptsetup-reencrypt

cryptsetup-reencrypt

Outil de re-chiffrement de périphérique LUKS offline

   cryptsetup-reencrypt re-chiffre les données dans un périphérique LUKS. Durant le processus le périphérique LUKS est marqué non-disponible. Attention, il n'est pas résistant aux erreurs kernel et matériel.

OPTIONS

-v, --verbose mode verbeux
--debug Mode debug
-c, --cipher définis le chiffrement
-s, --key-size Taille de la clé en bits. Doit être un multiple de 8
-h, --hash Spécifie le hash utilisé dans le schéma de configuration de clé LUKS et de clé de volume
-i, --iter-time Nombre de ms de traitement PBKDF2 pour le nouvel en-tête LUKS
--use-random, --use-urandom Spécifie le générateur de nombre pseudo-aléatoire utilisé pour clé la clé de volume
-d, --keyfile lit la passphrase depuis le fichier
-S, --key-slot Spécifie le slot de clé à utiliser. Tous les autres slots seront désactivé.
--keyfile-offset Saut n octets au début du fichier de clé
-l, --keyfile-size Taille de la clé en octets dans le fichier de clé
--keep-key Ne change pas la clé de chiffrement, rechiffre simplement l'en-tête et les keyslots.
-T, --tries Nombre de tentative pour l'entrée de passphrase invalide
--device-size Spécifie la taille du périphérique, au lieu de la taille réelle
--reduce-device-size Agrandit les données d'offset en diminuant la taille du périphérique.
-N, --new Créé un nouvel en-tête
--decrypt Supprime le chiffrement
--use-directio Utilise direct-io pour les options d'E/S.
--use-fsync Utilise l'appel fsync après chaque block écris.
--write-log Met à jours le fichier de log après chaque block écris.
-q, --batch-mode mode silencieux

Codes de retour

0 L'opération s'est déroulé avec succès
1 Mauvais paramètres
2 N'a pas les permissions
3 Out of memory
4 Mauvais périphérique spécifié
5 Le périphérique existe déjà

Exemples

Rechiffrer /dev/sdb1 (change la clé de volume)
cryptsetup-reencrypt /dev/sdb1
Rechiffre et change le chiffrement de le mode de chiffrement
cryptsetup-reencrypt /dev/sdb1 -c aes-xts-plain64
Ajoute le chiffrement LUKS à un périphérique non-chiffré
fdisk -u /dev/sdb
cryptsetup-reencrypt /dev/sdb1 --new --reduce-device-size 4096S
Supprimer le chifffrement LUKS
cryptsetup-reencrypt /dev/sdb1 --decrypt
^
22 mars 2016

htmlpdflatexmanmd




/etc/crypttab

/etc/crypttab

informations statiques sur les systèmes de fichier chiffrés

   Ce fichier contient des informations sur les systèmes de fichiers chiffrés. crypttab est seulement lu par les programmes (cryptdisks_start et cryptdisks_stop), et non en écriture. C'est à l'administrateur système de créer et maintenir ce fichier. Chaque système de fichier est décris sur un ligne sépartée; les champs sur chaque ligne sont séparés par des espaces. L'ordre des enregistrements dans crypttab est importante parce qu'il est lu séquentiellement.

   Le premier champ, target, décris le nom du périphérique mappé. Il doit être un nom de fichier dans composant répertoire. Un périphérique mappé sera créé sous /dev/mapper/target.

   Le second champ, source-device, décris soit le périphérique block spéciale, ou le fichier qui contient les données chiffrées. Au lieu de donner le périphérique explicitement, l'UUID est supporté également.

   Le troisième champ, Key-file, décris le fichier à utiliser comme clé pour déchiffrer les données. Noter que le fichier de clé sera utilisé comme passphrase; la passphrase ne doit pas être suivie par le caractèse newline. Peut églalement être un nom de périphérique.

   Si le fichier de clé est la chaîne "none", une passphrase sera lue interactivement depuis la console. Dans ce cas, les options precheck, check, checkargs et tries peuvent être utiles.

   Le quatrième champ, options, décris les options cryptsetup associées avec le processus de chiffrement. Au minimum, le champ devrait contenir soit la chaîne luks respectivement tcrypt ou les options cipher, hash, et size. Les options sont au format key=value. Noter que les 4 champs sont obligatoires.

OPTIONS

cipher=‹cipher› Algorithme de chiffrement (ignoré pour LUKS et TCRYPT).
size=‹size› Taille de la clé de chiffrement (ignoré pour LUKS et TCRYPT)
hash=‹hash› Algorithme de hashage (ignoré pour LUKS et TCRYPT)
offset=‹offset› Offset de début (ignoré pour LUKS et TCRYPT)
skip=‹skip› Secteur du début à sauter (ignoré pour LUKS et TCRYPT)
verify Vérifie le mot de passe
readonly Le périphérique est lecture seule
discard Permet l'utilisation des requêtes discards (TRIM) pour le périphérique. déconseillé pour des raisons de sécurité.
luks Utilise le périphérique avec les extensions LUKS
tcrypt Utilese le périphérique avec les extensions TCRYPT
veracrypt Utilise l'extension VeraCrypt de TCRYPT.
swap Lance mkswap sur le périphérique créé
tmp=‹tmpfs› Lance mkfs avec le type tmpfs spécifié dans le périphérique créé. Défaut: ext4
precheck=‹precheck› Vérifie le contenu du périphérique source par un programme. Si la vérification échoue, le périphérique n'est pas créé.. cryptdisks/cryptroot recherche un programme dans /lib/cryptsetup/checks par défaut. preckeck n'est pas invoqué par les périphériques LUKS
check=‹check› Vérifie le contenu du périphérique cible par un programme. Si la vérification échoue, le périphérique n'est pas créé.. cryptdisks/cryptroot recherche un programme dans /lib/cryptsetup/checks par défaut.
checkargs=‹arguments› Donne les arguments spécifiés au programme de vérification.
tries=‹num› L'entrée de la passphrase est tentée num fois en cas d'erreur. Défaut=3. 1 ne retente pas, et 0 demande la passphrase jusqu'à ce quelle soit correct.
initramfs Processus hook initramfs traitant le périphérique root, tout périphérique avec cette option sont traités dans initramfs.
noearly Les scripts init sont invoqués 2 fois durant le processus de boot. Une fois avant lvm et raid, et une fois après.
noauto Ignore entièremenet le périphérique au processus de boot.
loud mode verbeu. Affiche une alerte si un périphérique n'existe pas.
quiet mode silencieu.
keyscript=‹path› L'exécutable utilisé avec le fichier de clé et la sortie est utilisée comme clé.
keyslot=‹slot› Slot de la clé (LUKS uniquement)
header=‹path› fichier d'en-tête détaché (ignoré pour les périphériques dm-crypt plain)
tcrypthidden Utilise l'en-tête TCRYPT caché.

checkscripts

blkid Vérifie les systèmes de fichier inconnus. Supporte un type comme argument via checkargs: "" réussis si un fs valide est trouvé, "none" réussis si aucun fs valide n'est trouvé, "ext4" (xfs, swap, crypto_LUKS, etc) réussis si un fs ext4 est trouvé.
un_blkid Vérifie les système de fichier connus.

Exemples

Périphérique d'échange chiffré:
cswap /dev/sda6 /dev/urandom cipher=aes-xts-plain64,size=256,hash=sha1,swap
Disque LUKS chiffré avec mot de passe intéractif, identifié par son UUID:
cdisk0 UUID=12345678-9abc-def012345-6789abcdef01 none luks
disque TCRYPT chiffré avec mot de passe interactif:
tdisk0 /dev/sr0 none tcrypt
Disque ext4 chiffré avec mot de passe interactif, retente 5 fois:
cdisk1 /dev/sda2 none cipher=aes-xts-plain64,size=256,hash=sha1,checkargs=ext4,tries=5
Utiliser un script de vérification spécifié, sans retentative:
cdisk2 /dev/sdc1 none cipher=aes-xts-plain64,size=256,hash=sha1,check=customscript,tries=1
Utiliser Twofish et un hash RIPEMD-160:
cdisk3 /dev/sda3 none cipher=twofish,size=256,hash=ripemd160

Variables d'environnement

CRYPTDISKS_ENABLE à yes, lance les initscripts cryptdisks au démarrage.
CRYPTDISKS_MOUNT Spécifie les points de montage qui sont montés avant d'invoquer cryptdisks. Prend les points de montage configuré dans /etc/fstab comme arguments, séparés par un espace.
CRYPTDISKS_CHECK Spécifie le checkscript par défaut à lancer avec le périphérique cible après avoir invoqué cryptdisks
CRYPTDISKS_PRECHECK Spécifie le checkscript par défaut à lancer avec le périphérique dm-crypt, avant d'invoquer cryptdisks
^
07 mai 2016

htmlpdflatexmanmd




ctrlaltdel

ctrlaltdel

Définis la fonction de la combinaison ctrl-alt-del

   Dans le kernel linux (linux/kernel/sys.c), il y a 2 fonctions supportées pour la séquence ctrl-alt-del: un reset hard, qui reboot immédiatement la machine sans appeler sync(2) et sans autre préparation; et un reset soft, qui envoie un SIGINT au processus init. Si cette option est utilisée, init doit supporter cette fonctionnalité.

^
03 février 2016

htmlpdflatexmanmd




deallocvt

deallocvt

dé-alloue les consoles virtuelles

   La commande deallocvt dé-alloue la mémoire et les structures de données kernel pour les consoles virtuelles inutilisées. Si un ou plusieurs arguments N sont données, seul les consoles /dev/ttyN sont dé-alloués.

   Une console virtuele est inutilisée si est n'est pas la console courante, et qu'aucun processus ne l'a ouvert en lecture ou écriture, et aucun texte n'a été séléctionné dans son écran.

^
29 octobre 2011

htmlpdflatexmanmd




deluser

deluser, delgroup

Retirer un utilisateur ou un groupe

   Retire un utilisateur ou un groupe en fonction des options dans /etc/deluser.conf et /etc/adduser.conf. Par défaut, deluser ne retire pas le répertoire personnel, sa boite aux lettre ou tout autre fichier qu'il possède.

OPTIONS

--conf utilise le fichier spécifié au lieu de /etc/deluser.conf et /etc/adduser.conf
--group Retire un groupe. opération par défaut si invoqué par delgroup
--force Permet de supprimer le compte root
--quiet mode silencieux
--system ne supprime que les comptes systèmes
--backup sauvegarde tous les fichiers du répertoire personnel et la boite aux lettres de l'utilisateur dans un fichier nommé /$utilisateur.tar.gz.
--backup-to Chemin où placer les fichiers de sauvegarde (défaut /) --backup devient implicite.
--remove-home supprime le répertoire personnel et la boite aux lettres de l'utilisateur
--remove-all-files supprime tous les fichiers du système possédé par l'utilisateur

Valeur de retour

0 opération réussie
1 le compte à supprimer n'est pas un compte système
2 l'utilisateur n'existe pas
3 le groupe n'existe pas
4 erreur interne
5 le groupe n'est pas vide
6 l'utilisateur n'appartient pas au groupe indiqué
7 impossible de retirer un utilisateur de son groupe primaire
8 perl-modules n'est pas installé
9 pour supprimer root, vous devez indiquer --force
^
29 octobre 2011

htmlpdflatexmanmd




deluser.conf

deluser.conf

Fichier de configuration pour deluser et delgroup

   Fichier de configuration pour deluser et delgroup. Ces derniers lisent également adduser.conf: les paramètres de deluser.conf peuvent surcharger adduser.conf.

REMOVE_HOME Supprime le répertoire personnel et la boite aux lettres (0 ne pas supprimer, 1 supprimer)
REMOVE_ALL_FILES Supprime tous les fichiers du système appartenant à l'utilisateur (0 ne pas supprimer, 1 supprimer). Si défini, REMOVE_HOME n'a aucun effet.
BACKUP si une des option précédente est activée, tous les fichiers sont sauvegardés avant d'être supprimés.
BACKUP_TO chemin où placer les backups.
NO_DEL_PATHS Liste d'expression rationnelles, séparées par des espaces. Chaque fichier est comparé à ces expressions, si une expression matche, le fichier n'est pas supprimé. (par défaut seul les fichiers dans /home sont supprimés)
ONLY_IF_EMPTY Ne supprime un groupe que s'il n'a plus aucun utilisateur.
EXCLUDE_FSTYPES Expression rationnelle qui décrit les systèmes de fichiers à exclure lors de la recherche des fichiers à supprimer (défaut: "(proc|sysfs|usbfs|devpts|tmpfs)")

^
28 mars 2016

htmlpdflatexmanmd




depmod

depmod

Génère modules.dep et les fihiers de map

   Génère les fichiers modules.dep et les map. Les modules du kernel Linux peuvent fournir des services (appelés symboles) pour d’autres modules (en utilisant une des variantes EXPORT_SYMBOL dans le code). Si un second module utilise ce symbole, il dépend du premier module. depmod crée une liste de dépendances de module en lisant chaque module dans /lib/modules/version et détermine quels symboles ils exportent et quels symboles ils nécessitent. Par défaut, cette liste est écrite dans modules.dep, et une version hashée binaire modules.dep.bin dans le même répertoire. Si des noms de fichiers sont donnés sur la ligne de commande, seuls ces modules sont examinés. depmod créé également une liste de symboles fournis par module dans le fichier modules.symbols et sa version hashé binaire modules.symbols.bin

   Si une version est donnée, utilise celle donnée plutôt que la version courante du kernel. depmod génère également des fichiers map dans le répertoire de sortie utilisé par les anciennes infrastructures hotplug.

OPTIONS

-a, --all sonde tous les modules. par défaut si aucun fichier n’est donné en ligne de commande.
-A, --quick Recherche les nouveaux modules et régénère les fichiers, ou quitte si aucun nouveau module n’est trouvé
-b, --basedir Utilise le répertoire spécifié au lieu de /lib/modules/version
-C, --config Utilise le fichier ou le répertoire spécifié au lieu de /etc/depmod.conf ou /etc/depmod.d/
-e, --errsyms Combiné à -F, report les symboles nécessaire à des modules qui ne sont fournis par aucun module ni le kernel.
-E, --symvers Combiné avec -e, reporte toutes les versions de symbole fournis par les modules qui correspondent pas avec les versions de symbole fournis par le kernel dans son Module.symvers. Incompatible avec -F
-F, --filesyms Spécifie le fichier system.map produit à la compilation du kernel.
-m, --map Permet la génération des fichiers map
-n, --dry-run Envoie le modules.dep résultant et les divers fichiers map sur stdout au lieu de les écrire dans le répertoire des modules.
-P Certaines architectures préfixent les symboles avec un caractère supplémentaire, donné avec cette options
-v, --verbose Affiche tous les symboles dont chaque module dépends
^
28 mars 2016

htmlpdflatexmanmd




depmod.d

depmod.d

Configuration de depmod

   Configuration de depmod. L’ordre dans lequel les modules sont traités peut être altéré sur une base globale ou par module. Le format des fichiers sous depmod.d est simple: Une commande par ligne, les lignes blanche et les lignes commençant par # sont ignorés. ’\’ à la fin d’un ligne pour scinder une ligne longue en plusieurs

Commandes

search subdirectory... Spécifie l’ordre de traitement des sous-répertoires sous /lib/modules. La priorité est donnée du premier listé au dernier listé. Le mot clé spécial built-in réfère aux répertoires de module standard installé par le kernel. Par défaut la priorité est donné à un répertoire nommé update en utilisant cette recherche : "update built-in"
override modulename kernelversion modulesubdirectory Permet de spécifier la version d’un module à utiliser en priorité quand plusieurs modules ont le même nom. Il est possible de spécifier un kernel ou tous les kernel en utilisant ’*’, et de spécifier le sous-répertoire sous /lib/modules où le module cible est installé.
^
03 février 2016

htmlpdflatexmanmd




/dev/console

/dev/console



   Un système Linux a jusqu'à 63 consoles virtuelles (périphériques caractère avec le numéro majeur 4 et mineur 1 à 63), généralement appelés /dev/ttyn avec 1 ‹= n ‹= 63. La console courante est également adressée par /dev/console ou /dev/tty0, le périphérique caractère avec le numéro majeur 4 et mineur 0, avec le mode 0622 et le propriétaire root:tty

   Démarrer un processus sur une console peut se faire avec init, mingetty ou agetty, ou demander à openvt de démarrer un processus sur la console, ou démarre X, qui va trouver une console inutilisée, et y afficher sa sortie.

   Pour basculer d'une console à l'autre, on peut utiliser Alt+Fn ou Ctrl+Alt+Fn pour basculer sur la console n. AltGr+F permet de basculer à la console n+12, ou utiliser Alt+RightArrow ou Alt+LeftArrow, ou utiliser le programme chvt.

   La commande deallocvt va libérer la mémoire prise par le tampon d'affichage pour les consoles qui ne sont associées avec un processus.

Propriétés

   Les consoles gèrent beaucoup d'états. Les consoles simulent des terminaux VT100. Une console est réinitialisée en affichant les 2 caractères ESC c. Toutes les séquences d'échappement se trouvent dans console_codes(4).
^
07 mars 2015

htmlpdflatexmanmd




/dev/full

/dev/full

Périphérique full

   Écrire dans ce fichier échoue avec une erreur ENOSPC. Peut être utilisé pour tester comment un programme réagis aux erreurs de disque plein. Lire depuis ce fichier retourne des caractères \0

Ce fichier est généralement créé par:
mknod -m 666 /dev/full c 1 7
chown root:root /dev/full

^
03 février 2016

htmlpdflatexmanmd




/dev/hd

/dev/hd

Périphérique de disque dur MFM/IDE

   Les hd* sont des périphériques blocs permettant l'accès aux contrôleurs de disques durs MFM/IDE. Le disque maître sur le premier contrôleur IDE (numéro majeur 3) est hda, le disque esclave est hdb. Le disque maître du second contrôleur (numéro majeur 22) est hdc, et le disque esclave (hdd).

   La notation générale des périphériques blocs IDE a la forme hdX ou hdXP, dans laquelle X est une lettre indiquant le disque physique, et P un nombre représentant la partition sur ce disque physique. La première forme est utilisée pour accéder au disque dans son ensemble. Les numéros de partitions sont assignées dans l'ordre de détection, et seules les partitions non vides et non étendues reçoivent un numéro. Toutefois, les numéros de partition de 1 à 4 sont donnés aux 4 partitions indiquées dans le MBR ( partitions primaires), qu'elles soient vides ou non, et étendues ou non. Ainsi, la première partition logique sera hdX5. Les partitions de type DOS et de type BSD sont supportées. Il peut y avoir au plus 63 partitions sur un disque IDE.

   Par exemple, /dev/hda correspond au premier disque IDE du système dans son ensemble, et /dev/hdb3 correspond à la 3ème partition primaire DOS sur le second disque.

Ils sont typiquement créés ainsi:
mknod -m 660 /dev/hda b 3 0
mknod -m 660 /dev/hda1 b 3 1
mknod -m 660 /dev/hda2 b 3 2
...
mknod -m 660 /dev/hda8 b 3 8
mknod -m 660 /dev/hdb b 3 64
mknod -m 660 /dev/hdb1 b 3 65
mknod -m 660 /dev/hdb2 b 3 66
...
mknod -m 660 /dev/hdb8 b 3 72
chown root:disk /dev/hd*

^
03 février 2016

htmlpdflatexmanmd




/dev/loop

/dev/loop, /dev/loop-control

périphériques loop

   Le périphérique loop est un périphérique loop qui map ses blocks de données non pas sur un périphérique physique comme un disque dur, mais aux blocks d'un fichier régulier dans un système de fichier ou dans un autre périphérique block. Cela peut être utile par exemple pour fournir un périphérique block pour une image de système de fichier stocké dans un fichier, pour qu'il puisse être monté avec la commande mount.

On peut faire:
dd if=/dev/zero of=file.img bs=1MiB count=10
sudo losetup /dev/loop4 file.img
sudo mkfs -t ext4 /dev/loop4
sudo mkdir /myloopdev
sudo mount /dev/loop4 /myloopdev

   Un fonction tranfert peut être spécifiée pour chaque périphérique loop pour chiffrer/déchiffrer.

   Depuis Linux 3.1, le kernel fournis le périphérique /dev/loop-control, qui permet à une application de trouver dynamiquement un périphérique libre, et d'ajouter et supprimer des périphériques du système.

Le programme ci-dessous utilise le périphérique /dev/loop-control pour trouver un périphérique loop, l'ouvre, ouvre un fichie à utiliser comme stockage sous-jacent, puis l'associe avec le périphérique loop. La session shell suivante démontre l'utilisation du programme:
› dd if=/dev/zero of=file.img bs=1MiB count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.00609385 s, 1.7 GB/s
› sudo ./mnt_loop file.img
loopname = /dev/loop5

Programme source:
#include ‹fcntl.h›
#include ‹linux/loop.h›
#include ‹sys/ioctl.h›
#include ‹stdio.h›
#include ‹stdlib.h›
#include ‹unistd.h›

#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \
                } while (0)
    
int
main(int argc, char *argv[])
{
    int loopctlfd, loopfd, backingfile;
    long devnr;
    char loopname[4096];
    
    if (argc != 2) {
        fprintf(stderr, "Usage: %s backing-file\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    
    loopctlfd = open("/dev/loop-control", O_RDWR);
    if (loopctlfd == -1)
        errExit("open: /dev/loop-control");
    
    devnr = ioctl(loopctlfd, LOOP_CTL_GET_FREE);
    if (devnr == -1)
        errExit("ioctl-LOOP_CTL_GET_FREE");
    
    sprintf(loopname, "/dev/loop%ld", devnr);
    printf("loopname = %s\n", loopname);
    
    loopfd = open(loopname, O_RDWR);
    if (loopfd == -1)
        errExit("open: loopname");
    
    backingfile = open(argv[1], O_RDWR);
    if (backingfile == -1)
        errExit("open: backing-file");
    
    if (ioctl(loopfd, LOOP_SET_FD, backingfile) == -1)
        errExit("ioctl-LOOP_SET_FD");
    
    exit(EXIT_SUCCESS);
}

^
03 février 2016

htmlpdflatexmanmd




/dev/mem

/dev/mem, /dev/kmem, /dev/port

Mémoire système, mémoire du noyau, et ports d'entrées-sorties.

   mem est un périphérique caractère représentant une image de a mémoire principale de l'ordinateur. Il peut être utilisé pour examiner et modifier la mémoire système. Les adresses dans mem sont interprétés comme des adresses physiques. Les références à des adresses inexistantes renvoient des erreurs. Éxaminer ou éditer la mémoire est susceptible de conduire à des résultats indésirables quand les bits lecture ou écriture seule sont concernés.

Il est créé par:
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem

Le fichier kmem est identique à mem sauf qu'il s'agit de la mémoire virtuelle du noyau plutôt que de la mémoire physique. Il est créé ainsi:
mknod -m 640 /dev/kmem c 1 2
chown root:kmem /dev/kmem

port est identique à mem, mais ici, ce sont les ports d'entrées-sorties qui sont représentés. Il est créé ainsi:
mknod -m 660 /dev/port c 1 4
chown root:mem /dev/port

^
07 mars 2015

htmlpdflatexmanmd




/dev/null

/dev/null, /dev/zero

Périphérique null

   Les données écrites vers ce fichier spéciaux dont supprimés. Lire depuis /dev/null retourne toujours la fin d'un fichier. Lire depuis /dev/zero retourne toujours des octets contenant 0 (caractères \0)

null et zero sont généralement créés par:
mknod -m 666 /dev/null c 1 3
mknod -m 666 /dev/zero c 1 5
chown root:root /dev/null /dev/zero

^
03 février 2016

htmlpdflatexmanmd




/dev/sd

/dev/sd

Contrôleur de disques SCSI

   Les noms de ces périphériques blocs suivent la convention suivante: sdlp, ou l est une lettre indiquant le lecteur physique, et p est un nombre caractérisant la partition sur ce disque physique. Souvent le numéro de partition p, sera absent si le périphérique correspond à l'ensembre du disque.

Les disques SCSI ont un numéro majeur valant 8, et un numéro mineur de la forme (16 addentry articles autoadd autofind autoprod createalpha createbeta createdb createprod findentry fullpowa generator.php genhtml genman genmd gentex html insert man md pdf regen setfor setfor2 sql temp temp-new-pc tex threads ToDo numéro_disque) + numéro_partition, ou numéro_disque est le numéro du disque physique dans l'ordre de détection, et numéro_partition est le suivant:
partition 0 = disque entier
partitions 1-4 = partitions primaires DOS.
partitions 5-8 = partitions étendues (logiques) DOS.

   Par exemple, /dev/sda aura un majeur 8, mineur 0, et se référera à l'ensemble du premier disque SCSI. /dev/sdb3 aura un majeur 8, mineur 19, et indique la 3ème partition primaire DOS sur le second disque SCSI du système.

   Actuellement, seuls les périphériques blocs sont disponibles, les interfaces "raw" ne sont pas encore implémentés.

^
03 février 2016

htmlpdflatexmanmd




/dev/tty

/dev/tty

Terminal de contrôle

   Le fichier /dev/tty est un fichier spécial en mode caractères, avec un numéro majeur 5 et mineur 0. Il possède les permissions 0666 et appartient à root:tty. Il s'agit d'un équivalent au terminal de contrôle d'un processus, s'il en a un.

   En plus de requêtes ioctl(2) supportées par les périphériques tty, la requête ioctl(2) TIOCNOTTY est disponible, qui permet de détacher le processus appelant de son terminal de contrôle.

   Si le processus est un leader de session, alors SIGHUP et SIGCONT seront envoyés au groupe de processus au premier plan, et tous les processus de la session perdent leur terminal. Le processus tente d'ouvrir /dev/tty. S'il réussit il se détache alors du terminal avec TIOCNOTTY. Si l'ouverture échoue, il n'est évidemment pas attaché à un terminal et n'a pas besoin de se détacher.

^
03 février 2016

htmlpdflatexmanmd




/dev/ttyS

/dev/ttyS

Lignes de communication série

ttyS[0-3] sont des fichiers spéciaux de périphériques caractères utilisées pour la connexion de terminaux série. Ils sont typiquement créés de la manière suivante:
mknod -m 660 /dev/ttyS0 c 4 64 # adresse de base 0x03f8
mknod -m 660 /dev/ttyS1 c 4 65 # adresse de base 0x02f8
mknod -m 660 /dev/ttyS2 c 4 66 # adresse de base 0x03e8
mknod -m 660 /dev/ttyS3 c 4 67 # adresse de base 0x02e8
chown root:tty /dev/ttyS[0-3]

^
22 mars 2016

htmlpdflatexmanmd




dm-crypt

dm-crypt

Chiffrement transparent des périphériques block

   la cible crypt de Device-Mapper fournis un chiffrement transparent des périphériques blocks utilisant l'API crypto du kernel

Paramètres

cipher Algorithme de chiffrement et un mode de génération IV optionel (ex: des, aes-cbc-essip:sha256, twofish-ecb). /proc/crypto contient les modes crypto supportés
key Clé utilisée pour le chiffrement. Encodé en hexadécimal.
keycount Mode compatibilité multi-clé. On peut définis keycount clé et les secteurs sont chiffrés en accord avec leur offset (le secteur 0 utilise key0, etc.)
iv_offset L'offset IV est un compteur de secteur qui sont ajoutés au numéro du secteur avant de créer l'IV
device_path Périphérique qui est utilisé comme backend et contient la donnée chiffrée.
offset Secteur de départ dans le périphérique où les données chiffrée commencent
#opt_params Nombre de paramètres optionnels.

Paramètres optionnels

allow_discards Block discard request passé au périphérique crypté. Défaut: ignore ces requêtes
same_cpu_crypt Effectue le chiffrement en utilisant le même cpu que l'IO qui l'a émis.
submit_from_crypt_cpus Désactive l'écriture offload dans un thread séparé après le chiffrement. L'écriture bénéficie à CFQ, mais peut dégrader les performances dans certains cas.

Scripts d'exemple

LUKS (Linux Unified Key Setup) est la manière préférée pour définir le chiffrement de disque avec dm-crypt en utilisant l'utilitaire cryptsetup
[[
#!/bin/sh
# Crée un périphérique crypto avec dmsetup
dmsetup create crypt1 --table "0 `blockdev --getsize $1` crypt aes-cbc-essiv:sha256 babebabebabebabebabebabebabebabe 0 $1 0"
]]
    
[[
#!/bin/sh
# Crée un périphérique en utilisant cryptsetup et LUKS avec le chiffrement par défaut:
cryptsetup luksFormat $1
cryptsetup luksOpen $1 crypt1
]]

^
06 avril 2014

htmlpdflatexmanmd




dmesg

dmesg

Affiche ou contrôle le tampon du kernel. Par défaut, lis tous les messages du tampon

OPTION

-C, --clear Vide la tampon
-c, --read-clear Efface de tampon après l'avoir affiché
-D, --console-off Désactive l'affichage des messages sur la console
-d, --show-delta Affiche le timestamp et le temps delta passé entre les messages.
-E, --console-on Affiche les messages sur la console
-f, --facility list Restreint la sortie à la listes des facilités définis
-k, --kernel Affiche les messages du kernel
-l, --level list Restreint la sortie à la liste des level définis
-n, --console-level level Définis le niveau dont le log des messages est fait sur la console. Par exemple, -n 1 ou -n alert empêche tous les messages à l'exception des messages d'urgence (panic) sur la console. Tous les niveau d'alerte continuent d'être écris dans /proc/kmsg.
-r, --raw Affiche le tampon en brut
-s, --buffer-size size Spécifie la taille du tampon. Défaut: 16392.
-T, --ctime Affiche les timestamp en human-readable
-t, --notime n'affiche pas les timestamps du kernel
-u, --userspace Affiche les messages de l'espace utilisateur
-x, --decode Décode les numéro de level et de facilité en préfixe human-readable
^
28 août 2015

htmlpdflatexmanmd




edquota

edquota

Éditer les quotas utilisateurs

   edquota est un éditeur de quota. Un ou plusieurs utilisateurs ou groupe (ou UID/GID) peuvent être spécifiés sur la ligne de commande. Pour chacun, un fichier temporaire est créé avec une représentation ASCII des quotas disques courant pour cet utilisateur ou groupe. Les quotas peuvent ainsi être modifiés, ajoutés, etc.

   Les utilisateurs sont autorisés à dépasser leur limite soft pour une période de grâce qui peut être spécifié par système de fichier. Une fois la période de grâce expirée, la limite soft est forcée comme limite hard.

   Un fois l'éditeur terminé, edquota lit le fichier temporaire et modifie les fichiers de quota binaire pour refléter les changements. L'éditeur invoqué est soit EDITOR, soit VISUAL. Seul root peut éditer les quotas.

OPTIONS

-r, --remote Édite également les quota non-locaux en utilisant rpc.rquotad sur le serveur distant. Cette option est disponible seulement si les outils de quotas ont été compilés avec le support sur RPC.
-m, --no-mixed-pathnames Actuellement, les chemins des points de montage NFS4 sont envoyés sans le dernier '/'. rpc.rquotad l'utilise pour reconnaître les montages NFS4. Cette option envoie toujours des chemin avec le dernier '/'.
-u, --user Édite les quotas utilisateur
-g, --group Édite les quotas de groupe
-p, --prototype=protoname Duplique les quotas de l'utilisateur de prototype spécifié pour chaque utilisateur spécifié. C'est le mécanisme normal utilisé pour initialiser les quotas pour les utilisateurs et les groupes.
-F, --format=format-name Éite les quotas au format spécifié: vfsold (16-bits UID), vfsv0 (32bits UID), vfsv1 (format 64bits) rpc (quota sur NFS), xfs (quota sur les système XFS).
-f, --filesystem filesystem Effectue les opérations spécifiée seulement pour le système de fichier spécifié.
-t, --edit-period Édite les temps de limites soft pour chaque système de fichier.
-T, --edit-times Édite le temps pour pour la softlimit. peut être 'unset' ou un nombre et une unité.
^
10 septembre 2011

htmlpdflatexmanmd




/etc/fstab

/etc/fstab

Informations statiques sur les systèmes de fichier

   Le fichier fstab contient des informations sur les divers systèmes de fichiers du système. Chaque système de fichier est décrit sur une ligne séparée, les champs sont séparés par des espaces ou des tabulations. Les lignes commençant par un '#' sont des commentaires. L'ordre des enregistrements dans fstab est important parce que fsck, mount et umount tiennent compte de cet ordre.

   Le premier champ, (fs_spec), décrit le périphérique bloc ou le système de fichier distant à monter. Pour un montage ordinaire il va maintenir un node de périphérique block (créé par mknod) pour le périphérique à monter, comme /dev/cdrom ou /dev/sdb7. Pour les montages NFS, on aura toujours ‹host›:‹dir›. Pour procfs, utiliser proc.

   Au lieu de donner le périphérique explicitement, on peut indiquer le système de fichier (ext2 ou xfs) qui est monté par son UUID ou le label du volume (cf: e2label ou xfs_admin), écrire LABEL=‹label› ou UUID=‹UUID›. Cela va rendre le système plus robuste; ajouter ou supprimer un disque SCSI change le nom du périphérique mais pas son label.

   Le second champ, (fs_file), décrit le point de montage pour le système de fichier. Pour les partitions swap, ce champ devrait être spécifié par 'none'. Si le nom du point de montage contient des espaces, ils peuvent être échappés avec '\040'.

   Le Troisième champ (fs_vfstype), décrit le type de système de fichier. Linux supporte de nombreux systèmes de fichiers, tels que adfs, affs, autofs, coda, coherent, cramfs, devfs, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, uff, ufs, umsdos, vfat, xenix, xfs, et d'autres. Pour lister les systèmes de fichiers supportés, consulter /proc/filesystems. Une entrée swap dénote une partition ou un fichier utilisé pour le swap. Une ligne est ignorée si l'entrée est 'ignore'. C'est utile pour montrer les partitions du disque qui ne sont actuellement pas utilisés. Une entrée none est utile pour lier ou déplacer des montages.

   Le quatrième champ, (fs_mntops), décrit les options de montage associées avec le système de fichier. Elles sont spécifiées sous la forme d'une liste séparées par une ','. Ce champ contient au moins le type de montage, plus des options additionnelles appropriées au type de système de fichier. Les options communes à tous les systèmes de fichier sont:

noauto ne pas monter quand mount -a est invoqué
user Autorise un utilisateur le monter.
owner Autorise le propriétaire du périphérique de le monter
comment Utilisé par les programmes de gestion fstab.

   Le cinquième champ (fs_freq) est utilisé par dump pour déterminer quel système de fichier a besoin d'être dumpé. Si ce champ n'est pas présent, une valeur 0 est retournée et dump assumera que le système de fichier n'a pas besoin d'être dumpé.

   Le sixième champ, (fs_passno), est utilisé pour fsck pour déterminer l'ordre dans lequel il vérifie les systèmes de fichiers au reboot. '/' devrait avoir la valeur 1, et les autres systèmes de fichiers, 2. Les systèmes de fichiers dans un lecteur seront vérifiés séquentiellement, mais des systèmes de fichiers sur des lecteurs différents seront vérifiés simultanément. Si ce champ n'est pas présent ou vaut 0, une valeur 0 est retournée et fsck assume que le système de fichier n'as pas besoin d'être vérifié.

   La manière 'propre' de lire les enregistrements de fstab est d'utiliser les routines getmntent(3)

^
14 août 2011

htmlpdflatexmanmd




/etc/group

/etc/group

Informations sur les groupes du système

   Il est sous la forme: group_name:password:GID:user_list

group_name le nom du groupe
password le mot de passe chiffré du groupe. Si ce champ est vide, aucun mot de passe n'est défini
GID L'identifiant numérique unique du groupe
user_list une liste d'utilisateurs qui sont membres de ce groupe, séparés par une virgule.

^
14 août 2011

htmlpdflatexmanmd




/etc/gshadow

/etc/gshadow

Informations cachées sur les groupes du système

   Ce fichier ne doit par être accessible en lecture par les utilisateurs normaux afin de maintenir la sécurité des mots de passe. Chaque ligne de ce fichier contient les champs suivant, séparés par ':'

nom du groupe Doit être un nom de groupe valide, qui existe sur le système.
mot de passe mot de passe chiffré du groupe. Le mot de passe du groupe est utilisé quand un utilisateur qui n'est pas membre du groupe veut avoir les permissions de ce groupe. Ce mot de passe remplace tout mot de passe définis dans /etc/group
administrateurs Liste d'utilisateurs, séparés par des ','. Les administrateurs peuvent changer le mot de passe ou les membres du groupe.
membres Liste d'utilisateurs, séparés par des ','. devrait être identique à la liste des utilisateurs dans /etc/group.

^
29 octobre 2011

htmlpdflatexmanmd




/etc/login.defs

/etc/login.defs

Fichier de configuration de la suite des mots de passe cachés pour le système

OPTIONS

CHFN_RESTRICT (string) Spécifie quelles valeur dans le gecos de /etc/passwd peut être changé par des utilisateurs normaux en utilisant chfn peut être un combinaison des lettre f, r, w, h pour respectivement, le nom complet, numéro de salle, téléphone du bureau et télephone personnel. yes est équivalent à rwh et no vaut frwh. Non spécifié, seul root peut effectuer ces changements.
CONSOLE_GROUPS (string) liste de groupes à rajouter à l'utilisateur lors d'une connexion sur une conole (déterminé par CONSOLE).
CREATE_HOME (bool) indique si un répertoire personnel doit être créé par défaut pour les nouveaux utilisateurs (ne s'applique pas pour les utilisateurs systèmes)
DEFAULT_HOME (bool) Indique si la connexion est permise dans '/', s'il n'est pas possible d'accéder à son home.
ENCRYPT_METHOD (string) Définis les algorithmers de chiffrement par défaut du système pour coder les mots de passe (DES (defaut), MD5, SHA256, SHA512). remplace la variable MD5_CRYPT_ENAB. N'affecte que la génération des mots de passe des groupes.
ENV_HZ (string) définis, sera utilisé pour définir la variable d'environnement HZ lorsqu'un utilisateur se connecte. doit être précédée par 'HZ='. HZ est uniquement définis lors d'une connection avec sulogin.
ENV_PATH (string) défini, sert à définir PATH. doit être précédé par PATH= (défaut : PATH=/bin :/usr/bin)
ENV_SUBPATH (string) Définis, est utilisé pour définir PATH pour root. doit être précédé par PATH= (défaut : PATH=/sbin :/bin :/usr/sbin :/usr/bin)
ERASECHAR (nb) le caractère ERASE du terminal (010 = backspace, 0177 = DEL) peut être spécifié en octal ou en hexa.
FAIL_DELAY (nb) Délai en secondes avant qu'un essaie soit permis après un échec de connexion.
FAKE_SHELL (string) définis, login exécute cet interpréteur de commande au lieu de celui définis dans /etc/passwd.
GID_MAX
GID_MIN Plage de GID utilisé pour la création des groupes normaux
HUSHLOGIN_FILE (string) définis, ce fichier peut désactiver tous les affichages habituels durant la séquence de connexion. si le nom de l'utilisateur ou le shell sont trouvés dans le fichier, le mode silencieux est activé (ou si le fichier existe dans le répertoire personnel de l'utilisateur)
KILLCHAR (nb) le caractère KILL du terminal (025 = CTRL/U). peut être spécifié en octal ou en hexa.
LOG_OK_LOGINS (bool) Activer la journalisation des connexions réussies.
LOG_UNKFAIL_ENAB (bool) Active l'affichage des noms d'utilisateurs inconnus quand les echecs de connexions sont enregistrées.
LOGIN_RETRIES (nb) nombre max de tentatives de connexions.
LOGIN_TIMEOUT (nb) temps maximum pour la connexion
MAIL_DIR (string) Répertoire des courriels.
MAIL_FILE (string) Emplacement des boites aux lettres des utilisateurs, relatif à leur répertoire personnel.
MAX_MEMBERS_PER_GROUP (nb) Nombre max de membres par entrée de groupe. (défaut 0 : pas de limite). pour limiter les lignes à 1024 caractères, utiliser 25.
MD5_CRYPT_ENAB (bool) Indique si les mots de passe doivent être cryptés en utilisant MD5.
PASS_MAX_DAYS (nb) Nb de jour de validité d'un mot de passe. après cette periode, le mot depasse doit être changé. à -1, désactive cette restriction.
PASS_MIN_DAYS (nb) Nombre minimum de jours avant lamodification du mot de passe. (-1 désactive cette restriction)
PASS_WARN_AGE (nb) nombre de jour pendatn lequel l'utilisateur recevra un avertissement que son mot depasse arrive en fin de validité.
SHA_CRYPT_MIN_ROUNDS (nb)
SHA_CRYPT_MAX_ROUNDS (nb) Quand ENCRYPT_METHOD est à SHA256 ou SHA512, celà définis le nombre de passe SHA utilisé. (défaut : 5000) doit être entre 1000 et 999999999. Si une seule des ces 2 valeur est spécifiée, elle est utilisée. N'affecte que la génération des mots de passe des groupes.
SULOG_FILE (string) définis, les activités su sont enregistrées dans ce fichier.
SU_NAME (string) si définis, le nom de la commande à afficher en utilisant 'su -'. sinon, utilise le shell courant.
SYS_GID_MAX (nb)
SYS_GID_MIN (nb) PLage de GID pour les groupes systèmes
SYS_UID_MAX (nb)
SYS_UID_MIN (nb) Plage d'UID pour les utilisateurs systèmes.
SYSLOG_SG_ENAB (bool) Autorise le syslogdes activité sg
SYSLOG_SU_ENAB (bool) Autorise le syslog des activité su, en plus du fichier sulog.
TTYGROUP (string)
TTYPERM (string) Permissions du terminal : le tty login sera possédé par le groupe TTYGROUP, et les permissions seront à TTYPERM. Par défaut, définis au groupe primaire de l'utilisateur et les permissions à 600.
TTYTYPE_FILE (string) définis, le fichier map le ligne TTY au paramètre dd'environnement TERM. Chaque ligne du fichier est dans un format du genre 'vt100 tty01'
UID_MAX (nb)
UID_MIN (nb) Plage d'UID pour la création des utilisateurs normaux.
UMASK (nb) Masque de mode de création des fichiers (défaut 022)
USERDEL_CMD (string) Commande exécutée à la suppression d'un utilisateurs.
USERGROUPS_ENAB (bool) à yes, userdel supprime le groupe de l'utilisateur s'il ne contient pas d'autres membres, et useradd créé par défaut un groupe portant le nom de l'utilisateur.

Références croisées

chfn CHFN_RESTRICT
chgpasswd ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
chpasswd SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
gpasswd ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
groupadd GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN
groupdel MAX_MEMBERS_PER_GROUP
groupmems MAX_MEMBERS_PER_GROUP
groupmod MAX_MEMBERS_PER_GROUP
grpck MAX_MEMBERS_PER_GROUP
grpconv MAX_MEMBERS_PER_GROUP
grpunconv MAX_MEMBERS_PER_GROUP
login CONSOLE_GROUPS DEFAULT_HOME ERASECHAR FAIL_DELAY FAKE_SHELL HUSH_LOGIN KILLCHAR LOGIN_RETRIES LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB TTYGROUP TTYPERM TTYTYPE_FILE USERGROUPS_ENAB
newgrp / sg SYSLOG_SG_ENAB
newusers ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK
pwck PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
pwconv PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
su CONSOLE_GROUPS DEFAULT_HOME ENV_PATH ENV_SUBPATH SULOG_FILE SU_NAME SYSLOG_SU_ENAB
sulogin ENV_HZ
useradd CREATE_HOME GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK
userdel MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP
^
28 mars 2016

htmlpdflatexmanmd




/etc/modprobe.d

/etc/modprobe.d, /lib/modprobe.d, /run/modprobe.d/

Configuration pour modprobe

   Parce que la commande modprobe peut ajouter ou supprimer plus d'un module, dû aux dépendances, on a besoin d'une méthode pour spécifier quelles options sont utilisée avec ces modules. Tous les fichiers *.conf dans /etc/modprobe.d permettent de spécifier les options à utiliser pour les modules. Peut aussi être utilisés pour créer des alias pour des modules, ou pour modifier le comportement de modprobe. Noter que les noms des modules et leus alias peut utiliser '-' ou '_' de manière interchangeable.

   Le format est simple : Une commande par ligne, les lignes blanche et les lignes commençant par # sont ignorés. ’\’ à la fin d’un ligne pour scinder une ligne longue en plusieurs.

Commandes

alias wildcard modulename Permet de donner un nom alternatif pour un module (ex: alias my-mod really_long_module_name) Certains modules contiennent leur propre alias (voir modinfo) utilisé si aucun alias n’est définis.
blacklist modulename indique que tous les alias interne d’un module sont ignorés.
install modulename command... Lancer cette commande au lieu d’insérer le module normalement. Peut-être une commande Shell. Cette commande sera remplacée dans le future.
options modulename option... Permet d’ajouter des options au module spécifié
remove modulename command... Identique à install mais est utilisé avec modprobe -r
softdep modulename pre: modules... post: modules... Permet de spécifier des softs ou optionnellement des dépendances de modules. Le nom du module peut être utilisé sans ces modules optionnels, mais généralement avec des fonctionnalités manquant. Par exemple, un pilote pour un stockage HBA peut nécessiter un module à charger pour utiliser ses fonctionnalités. Les modules pre et post sont des listes de nom et/ou alias d’autres modules que modprobe va tenter d’installer ou supprimer dans l’ordre avant et après le module donné. (ex: softdep c pre: a b post: d e == modprobe a b c d e). softdep a la précédence sur les modules avec les commandes install et remove avec le même module.
^
28 mars 2016

htmlpdflatexmanmd




/etc/modules

/etc/modules

Modules du kernel à charger au démarrage

   Le fichier /etc/modules contient une liste de modules, un module par ligne suivi par des paramètres optionnels. Tout ce qui suit ’#’ est considéré comme commentaire.

^
14 août 2011

htmlpdflatexmanmd




/etc/netgroup

/etc/netgroup

Informations concernant les groupes réseaux, qui sont des associations hôte/utilisateur/domaine, utilisés pour la vérification des permissions pour les accès ou montages distants.

   Chaque ligne consiste d’un nom de groupe réseau, suivi par une liste de membres, où un membre est soit un autre netgroup, soit une association (hôte,utilisateur,domaine).

   Un de ces champs peut être vide, impliquant un "*", ou peut être "-" qui indique 'aucune valeur valide'. Une machine passerelle devrait être listée sous tous les noms d’hôtes possibles par lequel il peut être reconnus:

  gateway (server,,)(server-sn,,)(server-bb,,)

  La fonction getnetgrent devrait être utilisée pour accéder à la base netgroup.

^
14 août 2011

htmlpdflatexmanmd




/etc/passwd

/etc/passwd

Information sur les comptes utilisateurs

   Ces informations consistent en 7 champs séparés par des ':'

- Nom de connexion
- mot de passe chiffré
- identifiant numérique unique
- identifiant numérique du groupe primaire
- nom complet de l'utilisateur ou champ de commentaire
- répertoire personnel
- interpréteur de commande

- Le champ du mot de passe peut être vide. Dans ce cas, aucun mot de passe n'est nécessaire pour s'authentifier avec le compte donné. Si ce champ contient 'x', alors le mot de passe chiffré se trouve dans le fichier shadow, sinon le compte n'est pas valide.
- Le champ de commentaire est utilisé par différents utilitaires système, tels que finger.
- Le champ du répertoire de travail correspond au nom du répertoire de travail initial. login utilise cette information pour définir la valeur de la variable d'environnement HOME.
- Le champ de l'interpréteur de commande correspond au nom du shell initial à exécuter. login utilise cette information pour définir la variable d'environnement SHELL. Si ce champ est vide, /bin/sh est utilisé par défaut.

^
14 août 2011

htmlpdflatexmanmd




/etc/shadow

/etc/shadow

Informations sur les mots de passe des utilisateurs

   Ce fichier ne doit pas être accessible en lecture par les utilisateurs normaux. Chaque ligne de ce fichier contient 9 champs, séparés par un ':'

- nom de connexion de l'utilisateur
- mot de passe chiffré
- date du dernier changement de mot de passe
- âge minimum du mot de passe
- âge maximum du mot de passe
- période d'avertissement de mot de passe
- période d'inactivité de mot de passe
- date de fin de validité de compte
- champ réservé

- Si le champ du mot de passe contient une chaîne qui ne peut pas être un résultat valable de crypt(3), par exemple si elle contient les caractères '!' ou '*', alors l'utilisateur ne pourra pas utiliser son mot de passe pour se connecter. Un mot de passe commençant par '!' signifie un mot de passe bloqué.
- Le champ du dernier changement de mot passe est exprimé en jours depuis le 1 janvier 1970. La valeur 0 signifie que l'utilisateur devrait changer son mot de passe la prochaine fois qu'il se connecte. Si le champ est vide, cette fonction est considéré désactivée.
- Un âge minimum de mot de passe à 0 signifie qu'il n'y a pas d'âge minimum pour changer de mot de passe.
- Si l'âge maximum du mot de passe est vide, cela signifie que le mot de passe n'expire jamais. Si la valeur est inférieure à l'âge minimum, l'utilisateur ne peut pas changer de mot de passe.
- Le champ de période d'avertissement de mot de passe spécifie le nombre de jours pendant lequel l'utilisateur est alerté que son mot de passe va expirer. Si ce champ est vide ou vaut 0, il n'y a pas de période d'alerte.
- Le champ de période d'inactivité de mot de passe spécifie le nombre de jours après qu'un mot de passe ait expiré pendant lequel le mot de passe reste valide. Après expiration, aucune connexion n'est possible. Si ce champ est vide il n'y a pas de période d'inactivité.
- La date de fin de validité de compte est exprimé en nombre de jour depuis le 1 janvier 1970. Si ce champ est vide, cela signifie que le compte n'expire jamais.

^
22 mai 2010

htmlpdflatexmanmd




fcron

fcron

Remplace cron et implémente des options supplémentaires

   fcron charge les fichiers fcrontab utilisateur, puis il calcul l'heure et la date de la prochaine exécution de chaque tâche, et calcul le temps qu'il doit attendre, et se met en attente. Quand il se réveille, il vérifie chaque tâche chargée et les lance si nécessaire. Quand une tâche est exécutée, fcron change son user:group pour correspondre à la tâche, l'exécute et mail la sortie à l'utilisateur.

  note: fcron attend au moins 20 secondes après qu'il a été démarré avant d'exécuter une tâche pour éviter d'utiliser trop de ressource durant le démarrage du système.

OPTIONS

-f, --foreground Ne pas même en tâche de fond, dans ce mode les message d'information sont placés sur la sortie standard en plus de syslog.
-b, --background Force l'exécution en tâche de fond.
-s, --savetime Sauvegarde fcrontab sur le disque tous les n sec (défaut 1000)
-m, --maxserial Définit le nombre maximum de tâche qui peuvent être exécutées simultanément. par défaut 1.
-q, --queuelen Définit le nombre de tâche que la file d'attente peut contenir.
-c, --configfile Spécifier le fichier de configuration à utiliser (par défaut /etc/fcron.conf)
-o, --once Exécute toutes les tâches qui doivent être lancées quand fcron est démarré, les attend, puis se termine. Définit firstsleep à 0. Peut être utile avec l'option -y et -f dans un script.
-y, --nosyslog Ne pas logger dans syslog
-l, --firstsleep Définis le délai initial en secondes avant qu'une tâche soit exécutée (défaut 20sec)
-n, --newspooldir Créer le dossier spécifié comme spool pour fcron.

Fichiers

/etc/fcron.conf Fichier de configuration pour fcron, fcrontab et fcrondyn. Contient les paths et les programmes par défaut à utiliser
/etc/fcron.allow Les utilisateurs autorisés à utiliser fcrontab et fcrondyn
/etc/fcron.deny Les utilisateurs non autorisés à utiliser fcrontab et fcrondyn
/etc/pam.d/fcron Fichier de configuration PAM
^
22 mai 2010

htmlpdflatexmanmd




fcron.conf

fcron.conf

Fichier de configuration de fcron

OPTIONS

fcrontabs=directory (/var/spool/fcron)
pidfile=file-path (/var/run/fcron.pid)
fifofile=file-path (/var/run/fcron.fifo) nécessaire pour fcrondyn pour communiquer avec fcron.
fcronallow=file-path (/etc/fcron.allow)
fcrondeny=file-path (/etc/fcron.deny)
shell=file-path (/bin/sh)
sendmail=file-path (/usr/lib/sendmail)
editor=file-path (/usr/bin/vi)
^
22 mai 2010

htmlpdflatexmanmd




fcrondyn

fcrondyn

Intéragir avec le service fcron. Il peut par exemple, lister les tâches utilisateurchargées par fcron, lancer l'une d'elles, modifier la priorité d'une tâche en cours d'exécution, envoyer un signal à une tâche, etc.

OPTIONS

-i Mode interactif
-x lancer la commande spécifié et revient immediatement.
-c spécifier le fichier de configuration (par défaut /etc/fcron.conf)

Commandes

quit, q quitter fcrondyn (pour le mode interactif)
ls [user] Afficher toutes les tâche de user
ls_lavgq [user] idem mais uniquement pour les tâche en file d'attente de charge système.
ls_serialq [user] idem mais uniquement pour les tâches en file d'attente sérialisée
ls-exeq [user] idem mais uniquement les tâche en cours d'exécution
detail jobid Afficher les détails d'une tâche jobid est fournis par ls
runnow jobid Lancer la tâche maintenant, modifie la date et heure de prochaine exécution.
run jobid idem mais no modifie pas la date et l'heure de la prochaine exécution
kill sig jobid Envoyer un signal à une tâche
renice x jobid Modifier la priorité d'une tâche

Champs utilisés par les commandes detail et ls

ID ID dela tâche
USER Utilisateur auquel appartient la tâche
PID PID de la tâche en cours
INDEX Index de la tâche dans la file d'attente séquentielle
R&Q Indique le nombre d'instances de la tâche en cours ou en attente d'exécution dans la file d'attente
OPTIONS Indique les principales options positionnées de la tâche. L pour les tâches ne s'exécutant qu'en dessous d'une charge système donnée (L pour Load average), LO si une seule instance de la tâche peut se trouver dans dans la file d'attente de charge système (LO pour Lavg Once), S pour les tâches s'exécutant séquentiellement (S pour Serial), SO pour les tâches qui ne seront exécutées séquentiellement que pour leur prochaine exécution (SO pour Serial Once), et ES pour les tâches dont plusieurs instances peuvent s'exécuter simultanément (ES pour allow the Execution of Several instances).
LAVG Trois valeurs correspondant à la charge système moyennée sur 1, 5 et 15 minutes (dans cet ordre) en dessous de laquelle la tâche sera exécutée, sinon elle sera placée en attente d'une charge système adéquate
UNTIL champ correspondant à l'option until
STRICT Champ correspondant à l'option strict. Y pour yes, N pour non.
SCHEDULE Indique la date et l'heure prévues de la prochaine exécution de la tâche. Veuillez noter que l'heure indiquée est celle du système sur lequel tourne fcron, et non celle du fuseau horaire que l'utilisateur peut éventuellement définir avec l'option timezone de fcrontab
CMD La commande à exécuter
^
22 mai 2010

htmlpdflatexmanmd




fcrontab

fcrontab

Installer-gérer les tables fcron

   fcrontab est le programme utilisé pour installer, éditer, lister et supprimer les tables utilisées par fcron. Comme fcron utilise en interne un format non lisible, l'utilisateur ne peut pas éditer directement son fcrontab. Un utilisateur peut installer un fcrontab s'il est listé dans /etc/fcron.allow et pas dans /etc/fcron.deny.

OPTIONS

-u Spécifier l'utilisateur. ne devrait être utilisé que par root.
-l Liste le fcrontab de l'utilisateur courant
-e  Éditer le fcrontab de l'utilisateur courant.
-r Supprimer le fcrontab de l'utilisateur courant.
-z Réinstaller le fcrontab de l'utilisateur courant.
-n  Ignore la version précédente de fcrontab.
-c Spécifie le fichier de configuration
-d Mode debuggage

   Chaque ligne dans un fichier crontab peut être:

- une configuration d'environnement
- une configuration d'options
- des entrées basées sur la durée totale de fonctionnement du système depuis la dernière exécution de la tâche
- des entrées basées sur un temps absolu (comme les entrées normales de crontab)
- des entrées lancées périodiquement

Configuration de l'environnement

   ils sont sous la forme: name = value. Quand fcron exécute une commande, il définit toujours USER, HOME et SHELL comme définit dans /etc/passwd. HOME et SHELL peuvent être remplacés par un paramètre dans fcrontab, mais pas USER. La variable MAILTO permet de spécifier à qui mailer les sorties.

Entrées basées sur le temps écoulé depuis le démarrage du système

Les entrées des commandes qui ont été lancées une fois toutes les n minutes sont sous la forme:
@options fréquence commande
où la fréquence est une valeur de temps sous la forme:
valeur+multiplieur[+valeur+multiplier[...]+valeur_en_minutes]
exemple:
"12h02", "3w2d5h1"
il s'gait du temps d'exécution de fcron. les multiplieurs valides sont:
mois(m), semaine(w), jours(d), heure(h) et seconde(s)

   options sert à placer une valeur de temps: il sera interprété comme @first(‹time›). Si option n'est pas spécifé, frequence est utilisé.

   Ce type d'entrée ne garantie pas de date et heure d'exécution (vu que la tâche est retardé à chaque démarrage par le temps passé depuis l'arrêt), mais peut être pratique pour des tâches dépendant du nombre de choses faites par les utilisateurs.

  Le temps restant avant la prochaine exécution est sauvegardé toutes les 1800 secondes (afin de limiter les dommages provoqués par un plantage) et lorsque fcron quitte après avoir reçu un signal SIGTERM, c.-à-d. lorsque l'on arrête le système.

Exemples

récupérer vos mails toutes les 30 minutes:
@ 30 getmails -all
Effectuer quelques tests de sécurité toutes les 48 heures de fonctionnement du système, envoyer un mail au super-utilisateur
@mailto(root),forcemail 2d /etc/security/msec/cron-sh/security.sh

Entrées basée sur une date et une heure

   Le deuxième type d'entrée d'un fichier fcrontab commence par un caractère & optionnel qui peut être immédiatement suivi par un nombre optionnel définissant la fréquence d'exécution. il possède cinq champs de date et d'heure, ainsi qu'une commande shell:

  &options min hrs jour-du-mois mois jour-de-la-semaine commande

  Noter que la commande shell peut être précédée par un nom d'utilisateur. La fréquence est interprétée de la façon suivante: lancer cette commande après x correspondances des champs date et heure.

champ____________Valeurs permises
minute______________0-59
heure_______________0-23
jour du mois________1-31
mois________________1-12 (ou leur noms)
jour de la semaine__0-7 (ou leur noms)

   un * signifie toutes les valeur. Les listes sont des valeur séparée par une virgule (1,4,8). Les intervalles sont séparés par un "-" (1-9), le pas est spécifié après un "/" (*/2), pour désactiver certaines valeur les précéder par " " (5-8 6 7)

  Si un jour de mois et un jour de semaine sont donnés, la commande sera exécutée seulement si les deux correspondent au jour et à l'heure actuels à moins que l'option dayor n'ait été positionnée.

Exemples

Lancer ma_commande tous les jours à 12:05, 12:35, 13:05, 13:35, 14:05 et 14:35
& 05,35 12-14 * * * macommande -u moi -o fichier
Récupérer les mails toutes les heures aux minutes 20, 21, 22, et 24.
20-24 23 * * * * getmail
Sauvegarder mon travail de la journée toutes les nuits à 03:45 avec une faible priorité, sauf le dimanche, envoyer la sortie par mail à jim et lancer cette tâche au démarrage si la machine était éteinte à 03:45
&nice(10),mailto(jim),bootrun 45 03 * * * 0 "save —mon travail"

Entrées lancées périodiquement

Le troisième type d'entrée fcrontab commence par le caractère "%", suivi par un mot-clef parmi une des trois différentes listes, puis par des options.
hourly , daily , monthly , weekly
Indique à fcron de lancer la commande une fois entre le début et là fin de l'intervalle de temps correspondant.
midhourly , middaily , nightly , midmonthly , midweekly
identique aux précédant, excepté que les intervalles de temps sont définis au milieu de l'intervalle.
exemple:
%nightly,mail(no) * 21-23,3-5 echo "une entrée nigthly"
mins , hours , days , mons , dow
Lance cette commande une fois durant CHAQUE intervalle de temps spécifié, ignorant les champs suivants le mot-clef dans la définition de l'intervalle de temps
Un tel mot-clef est suivi par 5 champs de date et d'heure (les mêmes champs utilisés pour une ligne basée sur un temps absolu. exemple:
%hours * 0-22 * * * echo "Ok."
note:
%mins 15 2-4 * * * echo
lancera echo tous les jours à 2:15, 3:15 ET 4:15.
%hours 15 2-4 * * * echo
lancera echo seulement UNE FOIS soit à 2:15, soit à 3:15 OU BIEN à 4:15.

Options

   Les options peuvent être positionnées soit pour chaque ligne située après la déclaration, soit pour une ligne de manière individuelle. Dans le premier cas, la configuration est faite sur une ligne complète après un point d'exclamation "!", dans le second cas, elle est faite après l'un des symboles suivants "&", "%" ou "@", suivant le type de planification. Veuillez noter qu'une déclaration d'option dans une planification écrase la déclaration globale de la même option.

   Les options sont séparées par des virgules "," et leurs arguments, s'il y en a, sont placés entre parenthèses. Les espaces ne sont pas permises. Une déclaration d'option est de la forme:

option[(arg1[,arg2][...])][,option[(arg1[...])]][...]

bootrun, b Lancer une ligne "&" au démarrage defcron si celle-ci avait du être lancée pendant l'arrêt du système.
dayand Effectuer un ET logique entre le jour de la semaine et le jour du mois.
dayor Effectuer un OU logique entre le jour de la semaine et le jour du mois.
exesev Définis si une tâche peut être exécutée plusieurs fois simultanément
first, f Temps avant la première exécution d'une tâche basée sur le temps de fonctionnement du système. Utile dans les cas suivants : vous avez plusieurs tâches à exécuter, disons, toutes les heures. En positionnant différentes valeurs first pour chaque tâche, vous évitez que celles-ci soient lancées simultanément chaque fois. Vous pouvez également la mettre à 0, ce qui est pratique lorsqu'elle est utilisée avec l'option volatile.
forcemail Envoie la sortie par mail même si celle-ci est vide.
lavg Définit les valeurs de la charge moyenne du système sur 1,5 et 15 minute (dans cet ordre) en dessous desquelles la tâche pourra être lancée. Ces valeurs ne peuvent avoir qu'une seule décimal. Mettre une valeur à 0 pour ignorer la charge moyenne correspondante.
lavg1, lavg5, lavg15 Définir le seuil des valeurs de charge moyenne du système sur 1, 5 ou 15 minutes. Définir l'une d'elles à 0 pour ignorer la charge moyenne correspondante.
lavgand Effectuer un ET logique entre les valeurs de charge moyenne du système 1, 5 et 15 minutes.
lavgonce Une tâche peut-elle être mise plusieurs fois simultanément dans la file d'attente de charge moyenne du système.
lavgor Effectuer un OU logique entre les valeurs de charge moyenne du système à 1, 5 et 15 minutes.
mail, m Envoyer la sortie par mail
mailto Spécifier l'adresse mail.
nice,n Modifier la priorité de la tâche
nolog Journaliser seulement les erreurs des tâches correspondantes
noticenotrun fcron devrait-il prévenir l'utilisateur par mail de la non exécution d'une tâche % ou d'une tâche & ? (à cause de l'arrêt du système dans les deux cas ou d'une charge moyenne trop élevée dans le second cas).
random Dans une ligne lancée périodiquement, cette option répond à la question : Cette tâche devrait-elle être lancée aussitôt que possible dans son intervalle de temps d'exécution (plus sûr), ou bien fcron doit-il définir une date et heure aléatoire d'exécution dans ce même intervalle de temps ?. Veuillez noter que si cette option est positionnée, la tâche peut ne pas être lancée si fcron n'est pas en cours d'exécution durant tout l'intervalle d'exécution. En outre, sachez qu'il peut être relativement facile pour une personne compétente de deviner l'heure de la prochaine exécution d'une tâche utilisant l'option random : il est donc préférable de ne pas baser la sécurité de quelque chose de sensible sur l'aléa de cette option. Cependant, cela ne devrait pas poser de problème pour la plupart de ses utilisations.
reset Positionner toutes les options à leur valeurs par défaut
runas Lancer avec les permissions et l'environnement de l'utilisateur spécifié (seul root peut utiliser cette option)
runfreq, r Lancer toutes le "runfreq" correspondances de date et d'heure. (cette options est ignorée dans le cas d'entrées basées sur le temps écoulé depuis le démarrage du système).
serial, s fcron fait tourner au plus 1 tâche séquentielle en même temps (càd. pour lesquelles l'option serial est définie), et autant de tâches qui sont à la fois séquentielles et dont l'exécution dépend aussi de la charge système (autrement dit pour lesquelles les options serial et lavg sont définies). Cette valeur peut être modifiée grâce à l'option -m de fcron. Cette option trouve toute son utilité dans le cas de tâches lourdes afin d'éviter une surcharge du système.
serialonce Définit si un tâche peut être mise plusieurs fois dans la file d'attente séquentielle.
stdout Si fcron s'exécute en arrière plan, permet la sortie sur stderr/stdout plutôt que par mail.
strict Lorsqu'une tâche % de la file d'attente de charge moyenne du système est à la fin de l'intervalle de temps d'exécution, doit-elle être retirée de la file d'attente (strict(true), ainsi la tâche ne sera pas exécutée), ou bien doit-elle y rester jusqu'à ce que la charge moyenne du système permette son exécution (strict(false)) ?
timezone Lancer la tâche dans le fuseau horaire fourni. timezone-name est une chaîne qui doit être valide du point de vue de la variable d'environnement TZ
until Définir le délai d'attente maximal pour les valeurs de charge système. Si le délai est dépassé, la tâche sera lancée indépendemment de la charge système. Définir until à 0 pour désactiver le délai d'attente.
volatile Activé, fcron ne retient pas le temps écoulé depuis la dernière exécution des tâches « volatiles » entre deux démarrages de fcron, et agit comme si les lignes avaient été fraîchement ajoutées à chaque démarrage de fcron. Utile lorsque fcron est lancé à partir d'un script qui tourne, par exemple, seulement pendant une connexion à Internet non permanente : l'exécution des tâches volatiles est alors basée sur le temps depuis le début de la connexion et le lancement de fcron plutôt que sur le temps absolu. Enfin, veuillez noter que cette option s'associe bien à l'option first.

Exemple de fichier fcrontab

Utiliser /bin/bash
SHELL=/bin/bash
Envoyer la sortie par mail à l'utilisateur thib, quelque soit le propriétaire de ce fcrontab.
!mailto(thib)
Définir une variable équivalente à "Salut thib et paul !" les caractères newline sont échappés avec une barre oblique inverse "\" et les guillemets servent à conserver les espaces de début et de fin de chaîne
TEXT= " Salut\
thib et\
paul ! "
On veut utiliser la file d'attente séquentielle mais pas l'option bootrun
!serial(true),b(0)
Lancer la première fois après 5 minutes de fonctionnement du système, puis toutes les heures par la suite
@first(5) 1h echo "Lancer toutes les heures"
Lancer tous les jours
@ 1d echo "fcron quotidien"
Lancer une fois dans la matinée et une fois dans l'après-midi si le système est en fonctionnement à n'importe quel moment pendant ces intervalles de temps
%hours * 8-12,14-18 * * * echo "Hé patron, je bosse aujourd'hui !"
Lancer une fois par semaine à l'heure du déjeuner
%weekly * 12-13 echo "J'ai laissé allumé mon système au moins une fois\
à l'heure du déjeuner cette semaine."
Lancer tous les samedi et dimanche à 9:05
5 9 * * sat,sun echo "Bonjour Thibault !"
Lancer tous les jours pairs du mois de mars à 18:00, sauf le 16
0 18 2-30/2 16 Mar * echo "Il est temps de se rentrer à la maison !"
La ligne précédente est équivalente à
& 0 18 2-30/2 16 Mar * echo "Il est temps de se rentrer à la maison !"
Mettre toutes les options à leur valeur par défaut et définir runfreq pour les lignes qui vont suivre
!reset,runfreq(7)
Lancer une fois toutes les 7 correspondances (grâce à la déclaration précédente), ainsi, si le système est en fonctionnement tous les jours à 10 heures,
La commande sera lancée une fois par semaine
& 0 10 * * * echo "Si vous avez vu ce message pour la dernière fois il y a 7 jours,\
c'est que cette machine a fonctionné tous les jours à 10 heures durant la dernière semaine.\
Si vous avez eu ce message il y a 8 jours, c'est que cette machine n'a pas fonctionné\
un jour à 10:00 heures depuis le dernier message, etc."
Attendre toutes les heures que la charge système moyenne sur 5 minutes soit inférieure à 0.9
@lavg5(0.9) 1h echo "La charge moyenne système est faible"
Attendre au maximum 5 heures chaque jour une baisse de la charge système
@lavgand,lavg(1,2.0,3.0),until(5h) 1d echo "La charge système vient de diminuer"
Attendre le meilleur moment pour lancer une tâche lourde
@lavgor,lavg(0.8,1.2,1.5),nice(10) 1w echo "C'est une très lourde tâche"
Lancer une fois toutes les nuits soit entre 21:00 et 23:00, soit entre 3:00 et 6:00
%nightly,lavg(1.5,2,2) * 21-23,3-6 echo "Il est temps de récupérer\
la dernière version de Mozilla !"
^
07 octobre 2011

htmlpdflatexmanmd




findfs

findfs

Trouve un système de fichier par label ou UUID

   findfs recherche les périphériques block dans le système en recherchant un système de fichier ou une partition avec le tag spécifié. Les tags supportés sont:

Options

LABEL un label de système de fichier
UUID Un UUID de système de fichier
PARTUUID Un UUID de partition
PARTLABEL Un label de partition

   Si un système de fichier ou une partition est trouvé, le nom du périphérique sera affiché sur la sortie standard. La vue d'ensemble complète des systèmes de fichiers et des partitions peut par exemple être obtenus avec lsblk --fs, partix --show ‹disk›, blkid

Codes de retour

0 Réussite
1 Le label ou l'uuid est introuvable
3 Erreur d'utilisation, mauvais nombre d'argument ou option inconnue

Variables d'environnement

LIBBLKID_DEBUG =all Activer la sortie de débogage de libblkid
^
07 mai 2016

htmlpdflatexmanmd




findmnt

findmnt

Touver un système de fichier

   findmnt liste tous les systèmes de fichier montés ou recherche un système de fichier. La commande findmnt est capable de rechercher dans /etc/fstab, /etc/mtab, /proc/self/mountinfo. Si le périphérique ou son point de montage n'est pas donné, tous les systèmes de fichier sont affichés. Le périphérique peut être spécifié par nom de périphérique, maj:min, label ou uuid de système de fichier, ou partuuid ou partlabel de partition.

OPTIONS

-A, --all Désactive tous les filtres intégrés et affiche tous les systèmes de fichier.
-a, --ascii Utilise les caractères ascii pour formater l'arborescence
-b, --bytes Affiche les colonnes SIZE, USED et AVAIL en octet au lieu du format human-readable.
-c, --canonicalize Canonise tous les chemins affichés
-D, --df Imite la sortie de df. Équivalent à -o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET mais sur tous les pseudo systèmes de fichier.
-d, --direction word Direction de recherche soit forward, soit backward
-e, --evaluate Convertit tous les tags (LABEL, UUID, PARTUUID ou PARTLABEL) en nom de périphérique
-F, --tab-file path Recherche dans un fichier alternatif.
-f, --first-only Affiche seulement le premier système de fichier qui correspond
-i, --invert Inverse le sens de correspondance
-k, --kernel Recherche dans /proc/self/mountinfo.
-l, --list Utilise le format de sortie en liste.
-m, --mtab Recherche dans /etc/mtab
-N, --task tid Utilise un espace de nom alternatif /proc/‹tid›/mountinfo au lieur du défaut /proc/self/mountinfo.
-n, --noheadings N'affiche pas la ligne d'en-tête
-O, --options list Limite de jeu de systèmes de fichier affiché.
-o, --output Définis les colonnes affichées.
-P, --pairs Utilise le format clé="valeur"
-p, --poll[=list] Monitor les changements dans /proc/self/mountinfo. Les actions supportées sont mount, umount, remount et move.
-R, --submounts Affiche récursivement tous les sous-montages pour les systèmes de fichier sélectionnés. Les restrictions définies par les options -t, -O, -S, -T et --direction ne sont pas appliqués aux sous-montages. N'a pas d'effet pour --mtab ou --fstab.
-r, --raw Utilise le format brut.
-S, --source spec Définis explicitement la cible du montage.
-t, --types list Limite le jeu de systèmes de fichiers affichés. Plus d'un type peut être spécifié. La liste peut être préfixé avec 'no' pour exclure les types.
-u, --notruncate ne tronque par le texte dans les colonnes.
-v, --nofsroot N'affiche pas un [/dir] dans la colonne SOURCE pour les sous-volume bind-mounts ou btrfs
-w, --timeout milliseconds Spécifie la limite maximale de temps pour lequel --poll se bloque.

Exemples

Affiche tous les systèmes de fichier NFS dans /etc/fstab
findmnt --fstab -t nfs
Affiche tous les systèmes de fichier dans /etc/fstab où le répertoire de montage est /mnt/foo. Affiche également les montages liés où /mnt/foo est une source
findmnt --fstab /mnt/foo
Affiche tous les systèmes de fichier dans /etc/fstab où le répertoire de montage est /mnt/foo
findmnt --fstab --target /mnt/foo
Affiche tous les systèmes de fichier dans /etc/fstab et convertit LABEL= et UUID= en nom de périphérique
findmnt --fstab --evaluate
Affiche seulement le point de montage œu le système de fichier avec le label "/boot" est monté.
findmnt -n --raw --evaluate --output=target LABEL=/boot
Monitor les montage, démontage, remontage et déplacement dans /mnt/foo
findmnt --poll --target /mnt/foo
Attend le démontage de /mnt/foo
findmnt --poll=umount --first-only --target /mnt/foo
Monitor les remontages en mode lecture-seule sur tous les systèmes de fichier ext3
findmnt --poll=remount -t ext3 -O ro

Variables d'environnement

LIBMOUNT_FSTAB Écrase le chemin par défaut du fichier fstab
LIBMOUNT_MTAB Écrase le chemin par défaut du fichier mtab
LIBMOUNT_DEBUG à 0xffff active la sortie de débuggage pour findmnt
^
07 mai 2016

htmlpdflatexmanmd




free

free

Affiche la quantité de mémoire utilisée et libre dans le système

   free affiche la quantité totale de mémoire physique libre et utilisée et la mémoire swap dans le système, ainsi que les tampons utilisé par le kernel. La colonne de mémoire partagée représente soit la valeur MemShared (kernel 2.4), ou la valeur Shmem (kernels 2.6), de /proc/meminfo. La valeur est 0 si aucune entrée n'est exporté par le kernel.

OPTIONS

-b, --bytes Affiche la quantité de mémoire en octets
-k, --kilo Affiche la quantité de mémoire en Ko (défaut)
-m, --mega Affiche la quantité de mémoire en Mo
-g, --giga Affiche la quantité de mémoire en Go
--tera Affiche la quantité de mémoire en To
-h, --human Affiche tous les champs ajusté automatiquement
-c, --count count Affiche le résultat ‹count› fois. Exige l'option -s
-l, --lohi Affiche des statistiques mémoire basse et haute détaillées
-o, --old Affiche la sortie dans l'ancien format
-s, --seconds seconds Répète l'affichage tous les ‹seconds› secondes
--si Utilise les puissances de 1000 au lieu des puissances de 1024
-t, --total Affiche une ligne montrant les totaux des colonnes
^
03 décembre 2016

htmlpdflatexmanmd




fstrim

fstrim

Supprimer les blocks non-utilisés dans un système de fichier monté

   Cet utilitaire est utilisé pour les disques Solid-State Drives et les stocake à provisionnement léger. Lancer fstrim fréquemment, ou en utilisant mount -o discard peut réduire les effets négatifs du la durée de vie des disques SSD de mauvaise qualité. Un fréquence d'une fois par semaire est suffisante.

OPTIONS

-a, --all Trim tous les fs dans les périphériques qui supportent les opérations de suppression.
-o, --offset offset Décalage d'octet dans le système de fichier depuis lequel la recherche commence. Défaut: 0.
-l, --length length Nombre d'octets à rechercher peur les blocks à supprimer. Défaut: jusqu'à la fin du fs
-m, --minimum minimum-size Plage libre contigüe minimum à supprimer, en octets.
-v, --verbose mode verbeux

Codes des status

0 succès
1 Échec
32 Tout à échoué
64 Certains fs on réussis, d'autre non
^
05 septembre 2015

htmlpdflatexmanmd




getcap

getcap

Examine les capabilities d'un fichier

   getcap affiche le nom et les capabilities de chaque fichier spécifié

OPTIONS

-r Recherche récursivement
-v Affiche toutes les entrées recherchées, même si elle nom pas de capabilities
^
29 août 2015

htmlpdflatexmanmd




getfacl

getfacl

Récupère les listes de contrôle d'accès des fichiers

   Pour chaque fichier, getfacl affiche le nom du fichier, propriétaire, groupe propriétaire, et l'ACL. Si un répertoire a une ACL par défaut, getfacl affiche également l'ACL par défaut.

   Si getfacl est utilisé dans un système de fichier qui ne supporte pas les ACL, getfacl affiche les permissions d'accès définis par les bits de permissions traditionnels.

   Le format de sortie de getfacl est comme suit:

1: # file: somedir/
2: # owner: lisa
3: # group: staff
4: # flags: -s-
5: user::rwx
6: user:joe:rwx #effective:r-x
7: group::rwx #effective:r-x
8: group:cool:r-x
9: mask::r-x
10: other::r-x
11: default:user::rwx
12: default:user:joe:rwx #effective:r-x
13: default:group::r-x
14: default:mask::r-x
15: default:other::---

   Les lignes 1--3 indiquent le nom du fichier, propriétaire, et groupe propriétaire.

   La ligne 4 indique les bits de mode spéciaux.

   Les lignes 5, 7 et 10 correspondent au champs user, group et other des bits de permission de fichier. Ce sont les entrées d'ACL de base.

   Les lignes 6 et 8 sont les utilisateurs et groupes nommés.

   La ligne 9 est le masque de droits effectifs

   Les lignes 11--15 affichent l'ACL par défaut associée avec ce répertoire.

OPTIONS

-a, --access Affiche la liste de contrôle d'accès du fichier
-d, --default Affiche l'ACL par défaut
-c, --omit-header N'affiche pas la ligne d'en-tête
-e, --all-effective Affiche les commentaires de droits effectifs
-E, --no-effective N'affiche pas les commentaires de droits effectifs
-s, --skip-base Saute les fichiers qui ont seulement les entrées d'ACL de base
-R, --recursive Liste les ACL de tous les fichiers et répertoire récursivement
-L, --logical Mode logique, traverse les liens symboliques. Seulement avec -R
-P, --physical Mode physique, ne traverse pas les liens symboliques. Seulement avec -R
-t, --tabular Utilise un format de sortie alternatif.
p, --absolute-names N'enlève pas le dernier '/'.
-n, --numeric Liste les UID,GID
-- Fin des arguments de la ligne de commande
Si un paramètre est un '-', lis depuis l'entrée standard
^
05 septembre 2015

htmlpdflatexmanmd




getfattr

getfattr

Récupérer les attributs étendus des objets du système de fichier

   Pour chaque fichier, getfattr affiche le nom du fichier, et le jeu de noms d'attributs étendus (et les valeurs optionnelles) qui sont associés avec le fichier.

Le format de sortie de getfattr est comme suit:
1: # file: somedir/
2: user.name0="value0"
3: user.name1="value1"
4: user.name2="value2"
5: ...

   La ligne 1 identifie le nom du fichier pour lequel les lignes suivantes sont reportés. Les lignes restantes affichent les paire nom/valeur associés avec le fichier spécifié.

OPTIONS

name, --name=name Dump la valeur de l'attribut étendu nommé
-d, --dump Dump les valeurs de tous les attributs étendus
-e en, --encoding=en Encode les valeur après les avoir récupéré. Les valeur valides de en sont text, hex, base64. Les valeurs encodé en texte sont entre guillemets, les chaîne en hexa sont préfixé avec 0x et les chaines base64 sont préfixés avec 0s.
-h, --no-dereference Ne déréférence pas les liens symboliques.
-m pattern, --match=pattern Inclus seulement les attributs qui correspondent à l'expression régulière
--absolute-names N'enlève par le '/' restant.
--only-values Dump les attributs étendus au format brut, sans les encoder
-R, --recursive Liste les attributs de tous les fichiers et répertoires récursivement
-L, --logical Suit les liens vers les répertoires.
-P, --physical Ne suit pas les liens symboliques vers les répertoires
^
31 mai 2010

htmlpdflatexmanmd




getty

getty, agetty

Ouvre un port de terminal, demande un nom d'utilisateur et apples /bin/login.

   agetty a plusieurs fonctionnalités non standard qui sont utiles pour les lignes série et modem.

Paramètres

port Un nom de chemin relatif au répertoire /dev. Si un « - » est utilisé, agetty suppose que son entrée standard est déjà connectée à un port de terminal et que la connection à un utilisateur distant est déjà établie.
vitesse_baud,... Une liste de vitesses en baud séparées par des virgules. Chaque fois que agetty reçoit un caractère BREAK, il avance dans la liste, qui sera considérée comme une liste circulaire.
term La valeur à utiliser pour la variable d’environnement TERM. Ceci surcharge toute valeur positionnée par init(8) et qui est héritée par login et par l’interpréteur de commande.

OPTIONS

-8 Suppose que le terminal gère les caractères 8 bits, désactiver de ce fait la détection de parité.
-h Activer le contrôle de flux matériel (RTS/CTS). L’application est libre de désactiver le contrôle de flux logiciel (XON/XOFF) quand elle le juge opportun.
-i Ne pas afficher le contenu de /etc/issue (ou autre) avant d’écrire l’invite de connexion
-f Afficher le contenu du fichier spécifié au lieu de /etc/issue. L’option -i surcharge cette option.
-I Définit une chaîne initiale à envoyer au terminal ou au modem avant d’envoyer des données utiles. Ceci peut être utilisé pour initialiser un modem.
-l Appeler un programme de connexion autre que /bin/login.
-H Écrire l’hôte de connexion spécifié spécifié dans le fichier utmp. Normalement, aucun hôte de connexion n’est fourni, puisque agetty est utilisé pour les connexions matériels locales et les terminaux du système. Cependant, cette option peut être utile pour identifier les concentrateurs de terminaux et équivalent.
-m Essayer d’extraire la vitesse depuis le message de statut CONNECT produit par les modems compatibles Hayes
-n  Ne pas demander d’identifiant de connexion à l’utilisateur. Cela peut être utilisé avec l’option -l lors d’une connexion à un système non standard comme les systèmes BBS
-t Quitter si aucun nom d’utilisateur n’a pu être lu pendant la durée spécifiée en secondes.
-L Forcer la ligne à être une ligne locale sans détection des retour à la ligne. Utile lorsque que vous avez un terminal attaché dont la ligne série ne définit pas le signal de retour à la ligne.
-U Activer la détection des terminaux à caractères majuscules seuls.
-w Attendre que l’utilisateur ou le modem envoie un caractère retour à la ligne ou nouvelle ligne avant d’envoyer le fichier /etc/issue et l’invite de connexion. Cela est très utile lors de connexions avec l’option -I.

Exemples

exemple dans inittab pour une ligne série ou une console tty
/sbin/agetty 9600 ttyS1
Pour un terminal connecté directement sans détection de porteuse
/sbin/agetty -L 9600 ttyS1 vt100
Pour une ligne avec un vieux modem supportant les vitesses de 9600, 2400 et 1200 bauds.
/sbin/agetty -mt60 ttyS1 9600,2400,1200

Suites d'échappement des fichiers issue

   Le fichier issue (/etc/issue) ou le fichier défini avec l’option -f peut contenir certains codes d’échappement afin d’afficher le nom du système, la date, le temps, etc. Tous les caractères d’échappement sont formés d’un backslash (\) immédiatement suivi par l’une des lettres listées ci-dessous.

b Insérer la vitesse en bauds de la ligne actuelle.
d Insérer la date actuelle.
s Insérer le nom du système, le nom du système d’exploitation.
l Insérer le nom de la ligne tty actuelle.
m Insérer l’identifiant de l’architecture de la machine, par exemple i486.
Insérer le nom de noeud, ou nom d’hôte, de la machine.
o Insérer le nom de domaine NIS de la machine.
O Insérer le nom de domaine DNS de la machine.
r Insérer le numéro de version de l’OS, par exemple 1.1.9.
t Insérer l’heure actuelle.
u Insérer le nombre d’utilisateurs actuellement connectés.
U Isérer la chaîne « 1 user » (1 utilisateur) ou « ‹n› users » où ‹n› est le nombre d’utilisateur actuellement connectés.
v Insérer la version de l’OS, par exemple sa date de construction etc.

Exemples

Par exemple, sur mon système, le fichier /etc/issue contient
This is \n.\o (\s \m \r) \t
qui affichera
This is thingol.orcan.dk (Linux i386 1.1.9) 18:29:30

Fichiers

/var/run/utmp le fichier d’état système.
/etc/issue affiché avant l’invite de connexion.
/dev/console rapports d’anomalies (si syslog(3) n’est pas utilisé).
/etc/inittab fichier de configuration de init(8).
^
03 novembre 2011

htmlpdflatexmanmd




gpasswd

gpasswd

Administrer group et gshadow

   Permet d’administrer /etc/group et /etc/gshadow. Chaque groupe peut avoir des administrateurs, des membres et un mot de passe. Appelé par un administrateur de groupe.

OPTIONS

Excepté pour -A et -M, les options ne peuvent pas être combinées
-a, --add Ajoute l’utilisateur spécifié au groupe
-d, --delete Supprime l’utilisateur du groupe
-r, --remove-password Supprime le mot de passe du groupe. Seuls les membres du groupe seront autorisés à utiliser newgrp pour joindre le groupe
-R, --restrict Restreint l’accès au groupe. Seuls les membres du groupe seront autorisés à utiliser newgrp pour joindre le groupe.
-A, --administrators Définis les liste des administrateurs du groupe
-M, --members Définis la liste des membres du groupe.

   gpasswd utilise des variables de login.defs.
^
29 octobre 2011

htmlpdflatexmanmd




groupadd

groupadd

Permet de créer des groupes

   Permet de créer des groupes en utilisant les valeurs spécifiées en ligne de commande, plus les valeurs par défaut du système. Il est généralement conseillé d'utiliser des noms de groupe qui respectent l'expression régulière suivante: [a-z_][a-z0-9_-]*[$]?. Sous debian, la seule contrainte est que les noms des groupes ne doivent pas commencer avec un '-', ni un ':' ou un espace blanc. Les noms des groupes sont limités à 32 caractères.

OPTIONS

-f, --force Force la commande à quitter avec un code de succès si le groupe spécifié existe déjà. utilisé avec -g, si le GID existe déjà, un autre GID est utilisé.
-g, --gid GID du groupe à créer. Doit être unique sauf si -o est spécifié
-K, --key clé=valeur Surcharge les valeur par défaut dans /etc/login.defs. Peut être spécifié plusieurs fois.
-o, --non-unique permet d'ajouter un groupe avec un GID non-unique.
-p, --password mot de passe chiffré, comme renvoyé par crypt(3). Par défaut, désactive le mot de passe.
-r, --system Créé un groupe système.

Configuration

Les variables suivantes de /etc/login.defs sont utilisées:
GID_MAX
GID_MIN
MAX_MEMBERS_PER_GROUP
SYS_GID_MAX
SYS_GID_MIN

Valeurs de retour

0 succès
2 erreur de syntaxe
3 paramètre non valable pour l’option
4 GID déjà utilisé
9 nom de groupe déjà utilisé
10 impossible de mettre à jour le fichier des groupes
^
29 octobre 2011

htmlpdflatexmanmd




groupdel

groupdel

Permet de supprimer un groupe

   Il n'est pas possible de supprimer un groupe primaire d'un utilisateur existant.

Configuration

Les variables suivantes dans /etc/login.defs sont utilisées:
MAX_MEMBERS_PER_GROUP

Valeurs de retour

0 succès
2 erreur de syntaxe
6 le groupe n'existe pas
8 impossible de supprimer le groupe primaire d'un utilisateur existant
10 impossible de mettre à jour le fichier des groupes
^
29 octobre 2011

htmlpdflatexmanmd




groupmod

groupmod

Permet de modifier un groupe existant

OPTIONS

-g, --gid Change le GID du groupe. Les fichiers appartenant à l'ancien GID doivent être changés manuellement.
-n, --new-name Change le nom du groupe
-o, --non-unique avec -g, permet de spécifier un GID non-unique.
-p, --password mot de passe chiffré, comme renvoyé par crypt(3)

Configuration

Les variables suivantes dans /etc/login.defs sont utilisées:
MAX_MEMBERS_PER_GROUP

Valeurs de retour

0 succès
2 erreur de syntaxe
3 paramètre non valable pour l'option
4 GID déjà utilisé
6 le groupe n'existe pas
9 nom de groupe déjà utilisé
10 impossible de mettre à jour le fichier des groupes
^
03 novembre 2011

htmlpdflatexmanmd




grpck

grpck

Vérifier l’intégrité des informations sur les groupes systèmes

   Toutes les entrées dans /etc/group et /etc/gshadow sont vérifiées afin de s’assurer qu’elles ont le bon format et qu’elles contiennent des données valides. Les vérifications effectuées sont :

        - nombre correct de champs
        - unicité et validité des noms des groupes
        - GID valide (/etc/group uniquement)
        - liste valide de membres et administrateurs
        - une entrée dans /etc/group correspondant à une entrée dans /etc/gshadow

   La vérification du nombre de champs et de l’unicité du nom des groupes est fatale, et il sera demandé à l’utilisateur de supprimer la ligne. Si l’utilisateur refuse de supprimer la ligne, les autres vérifications ne sont pas effectuées.

OPTIONS

-r Mode lecture seule.
-s Trie les entrées par GID.

   Par défaut, grpck vérifie group et shadow. Il est possible de choisir l’un ou l’autre avec les paramètres group et shadow

  gpasswd utilise des variables dans login.defs

Valeurs de retour

0 succès
1 erreur de syntaxe
2 entrée de groupe ou plus est incorrecte
3 impossible d’ouvrir les fichiers group
4 impossible de verrouiller les fichiers group
5 impossible de mettre à jour les fichiers group
^
31 mai 2010

htmlpdflatexmanmd




halt

halt, reboot, poweroff

Redémarrer, arrêter ou éteindre le système

   Ces programme permettent de redémarrer, arrêter ou éteindre le système. Appelé avec --force ou en runlevel 0 ou 6, cet outil invoque l'appel système reboot(2) et redémarre directement le système. Sinon, il appel simplement shutdown avec les arguments appropriés.

OPTIONS

-f, --force N'invoque pas shutdown.
-p, --poweroff dit à halt d'agir comme poweroff
-w, --wtmp-only n'appel pas shutdown ou reboot et écrit seulement l'enregistrement dans /var/log/wtmp
--verbose Mode verbeux
^
20 juin 2016

htmlpdflatexmanmd




haveged

haveged

Génération de nombres aléatoires

   haveged génère un flux imprédictible de nombres aléatoires depuis les effets indirects des événements hardware sur l'état caché (caches, prédicteurs de branche, tables de traduction mémoire, etc) en utilisant l'argorithme HAVEGE (HArdware Volatile Entropy Gathering and Expansion). L'algorithme opère en userspace, sans privilèges spéciaux.

   Linux utilise les interfaces /dev/random et /dev/urandom pour fournir des nombres aléatoire. Les mécanismes standard pour remplir /dev/random peuvent ne pas être suffisants pour répondre à la demande du système. Dans ces circonstances haveged peut être lancé comme services privilégié pour remplir /dev/random.

OPTIONS

-b nnn, --buffer=nnn Définis la taille du tampon en KW. (défaut: 128KW = 512Kio)
-d nnn, --data=nnn Définis la taille du cache de données en Ko. Défaut: 16 ou déterminé dynamiquement
-f file, --file=file Définis le fichier une utilisation non-service. Défaut: "sample"
-F, --foreground Ne lance pas en tâche de fond
-i nnn, --inst=nnn Taille du cache d'instruction en Ko. Défaut: 16 ou déterminé dynamiquement
nnn, --number=nnn Nombre d'octets écris dans le fichier de sortie.
-o ‹spec›, --onlinetest=‹spec› Spécifie les tests online à lancer ‹spec› consiste de groupes optionnels "t"ot et "c"ontinuous, chaque groupe indiquant les procédures à lancer, utilisant "a‹n›" pour indiques une procédure AIS-31 variante A, et "b" pour indiques la procédure B. Les spécification sont indépendante de l'ordre. Les tests "tot" sont lancés seulement à l'initialisation. En test continue, la séquence de test est cyclique.
-p file, --pidfile=file Définis le chemin du fichier pid. Défaut: /var/run/haveged.pid
-r n, --run=n Définis le niveau d'exécution pour le service. 0=lance en service, doit être root. 1=Affiche la configuration et se termine. ؏, écris N Kio sur la sortie. déprécié, utiliser --number
-v n, --verbose=n Diagnostique. -1 signifie tous les diagnostiques (défaut0):

        1 Affiche le sommaire build/tunning en se terminant
        2 Affiche les détails de retentatives de test online
        4 Affice le timing pour les collection
        8 Affiche a couche de boucle de collection
        16 Affiche les offsets de code de boucle de collection
        32 Affiche tous les détails de tests online terminés

-w nnn, --write=nnn Définis le write_wakeup_threshold de l'interface à nnn bits. uniquement en run level 0.

NOTES

   haveged définis l'algorithme HAVEGE pour une efficacité maximum en utilisant un hiérarchie de défauts, options de ligne de commande, informations de système de fichier virtuel, et informations cpuid si disponible. Sous certaines circonstances, l'entrée utilisateur n'est pas requise pour d'excellents résultats.

   Les tests run-time fournissent l'assurance des opérations de haveged. La suite de test est modélisée sur la spécification AIS-31 du German Common Criteria, BIS. Cette spécification est typiquement appliquée aux périphériques aléatoires, nécessitant une certification formelle. Parce qu'haveged tourne sur différentes plateformes hardware, la certification ne peut pas être un but, mais la suite de test AIS-31 fournis un moyen de valider la sortie de haveged avec les même tests opérationnels appliqués aux périphériques hardwares certifiés.

Fichiers

   Si haveged est lancé en tant que service, les fichiers suivants sont requis:

/dev/random
/proc/sys/kernel/osrelease
/proc/sys/kernel/random/poolsize
/proc/sys/kernel/random/write_wakeup_threshold

Exemples

Écrire 1,5Mo de données aléatoirs dans /tmp/random
haveged -n 1.5M -f /tmp/random
Générer un /tmp/keyfile pour le chiffrement de disque avec LUKS
haveged -n 2048 -f /tmp/keyfile
Écraser la partition /dev/sda1 avec des données aléatoires
haveged -n 0 | dd of=/dev/sda1
Générer des mots de passe ASCII aléatoires de 16 caractères
(haveged -n 1000 -f - 2›/dev/null | tr -cd '[:graph:]' | fold -w 16 && echo ) | head
Écrire un flux d'octets dans un pipe. pv mesure la vitesse d'écriture dans le pipe
haveged -n 0 | pv › /dev/null
Évaluer la vitesse de génération de 1Go de données aléatoires
haveged -n 1g -f - | dd of=/dev/null
Créer un fichier clé aléatoire contenant 65 clé aléatoire pour le programme de chiffrement aespipe
haveged -n 3705 -f - 2›/dev/null | uuencode -m - | head -n 66 | tail -n 65
Tester la qualité des données générée avec la suite de test dieharder
haveged -n 0 | dieharder -g 200 -a
Générer 16k de données, tester avec la procédure A et B avec résultats détaillés.
haveged -n 16k -o tba8ca8 -v 33
Génèrer également 16k de données avec un buffer plus grand. Le test c peut être complété
haveged -n 16k -o tba8ca8 -v 33 -b 512
^
11 février 2012

htmlpdflatexmanmd




host.conf

host.conf

Fichier de configuration du resolveur. Il doit contenir une paire clé/valeur par ligne.

Mots clés

order Spécifie comment les recherches de l'hôte doivent être exécutée. (valeur : bind, hosts, et nis)
trim Doit être suivi par une liste de domaines, séparés par ';' ou ',' et un point de terminaison. la librairie resolv+ utilise le nom de domaine donné depuis la fin d'un nom d'hôte résolu via DNS. Utilisé avec les hôtes et domaines locaux. N'affecte pas les noms d'hôte récupérés via NIS. Peut être spécifié plusieurs fois.
multi on|off à on, resolv+ retourne toutes les adresses valides pour un hôte qui apparaît dans /etc/hosts au lieu du premier.
nospoof on|ff à on, resolv+ tente d'empêcher le spoofing de nom d'hôte pour améliorer la sécurité de rlogin et rsh.
spoofalert on|off à on et avec nospoof à on, resolv+ log les erreurs dans syslog
spoof off|nowarn|warn à off, les adresse spoofée sont permises sans logger les erreurs. à warn, resolv+ empêche le spoofing de nom d'hôte et log les erreurs, à nowarn, empêche le spoofing mais ne log rien.
reorder on|off à on, resolv+ tente de réordonner les adresses d'hôte pour que les adresses locales soient listée en premier.

Environnement

   Ces variables permettent de remplacer les valeurs de /etc/host.conf

RESOLV_HOST_CONF pointe vers le fichier à lire au lieu de /etc/host.conf
RESOLV_SERV_ORDER Remplace la commande order
RESOLV_SPOOF_CHECK Remplace les commandes nospoof, spoofalert et spoof de la même manière que la commande spoof
RESOLV_MULTI Remplace la commande multi
RESOLV_REODER Remplace la commande reorder
RESOLV_ADD_TRIM_DOMAINS Une liste de domaines, séparés par ';' , ':' ou ',', qui sont ajouté à la liste des domaines.
RESOLV_OVERRIDE_TRIM_DOMAINS Une liste de domaines, séparés par ';' , ':' ou ',', qui remplacent la liste des domaines de la commande trim+
^
03 novembre 2011

htmlpdflatexmanmd




hostname

hostname, domainname, ypdomainname, nisdomainname, dnsdomainname

Affiche le nom d’hôte ou le domaine du système

hostname affiche ou définis le nom d’hôte
domainname Affiche ou définis le domaine NIS du système
ypdomainname Affiche ou définis le domaine NIS du système
nisdomainname Affiche ou définis le domaine NIS du système
dnsdomainname affiche le domaine dns du système

Afficher le nom

   Sans argument, ces commandes affiche le nom d’hôte ou le domaine du système

Définir le nom

   Appelé avec un argument ou avec l’option --file, ces commandes définissent le nom d’hote ou le domaine du système. Noter que ce n’est effectif que jusqu’au reboot du système.

  Le nom d’hôte est généralement définis une fois au démarrage du système dans /etc/init.d/hostname.sh (normalement lit le fichier /etc/hostname)

OPTIONS

-a, --alias Affiche le nom alias de l’hôte. dépréciée
-b, --boot toujours définir le nom d’hôte. S’il n’est pas spécifié, utilise localhost
-d, --domain Affiche le domaine DNS
-F, --file Le le nom d’hôte depuis le fichier spécifié
-f, --fqdn, --long Affiche le fqdn.
-A, --all-fqdns Affiche tous les fqdn de la machine.
-i, --ip-address Affiche les addresses réseau de l’hôte. Ne fonctionne que si le nom peut être résolu
-I, --all-ip-addresses Affiche toutes les adresses réseau de l’hôte
-s, --short Affiche le nom court
-v, --verbose mode verbeux
-y, --yp, --nis Affiche le domaine NIS

Fichiers

/etc/hostname Contient le nom d'hôte de la machine
^
31 mai 2010

htmlpdflatexmanmd




init

init

Parent de tous les processus. Son rôle principal est de créer des processus depuis un script stocké dans /etc/inittab. L'ID du processus init est toujour 1

runlevels

   un runlevel est une configuration du système qui permet de sélectionner un groupe de processus. Il existe 8 runlevel. le runlevel peut être changé avec telinit qui envoie le signal approprié à init. Les runlevels S, 0, et 6 sont réservés. Le runlevel S est utilisé pour initialiser le système au boot. Les runlevels S et 1 sont des modes simple utilisateur. Runlevel 0 est utilisé pour arrêter le système, runlevel 6 est utilisé pour rebooter le système. Après avoir booté au travers du runlevel S, le système entre dans un mode multi-utilisateurs (2 à 5). Les runlevels 7-9 dont aussi valides, bien qu'ils ne soient pas documentés.

Boot

Après qu'init ai été invoqué en tant que dernière étape de la séquence de boot du kernel, il cherche le fichier /etc/inittab pour voir s'il y'a une entrée de type initdefault, qui détermine le runlevel initial du système. S'il n'est pas spécifié, le runlevel doit être entré dans la console système.
En mode simple utilisateur, /sbin/sulogin est invoqué sur /dev/console
En entrant en mode simple utilisateur, init initialise les réglages des consoles stty.
En entrant en mode multi-utilisateur pour la première fois, init effectue les entrées boot et bootwait pour permettre aux systèmes de fichiers d'être montés avant que les utilisateurs puissent se logger. Ensuite toutes les entrées correspondant au runlevel sont traitées.
En démarrant un nouveau processus, init vérifie d'abord si le fichier /etc/initscript existe. Si c'est le cas, il utilise ce script pour démarrer le processus.
Chaque fois qu'un enfant se termine, init enregistre la raison dans /var/run/utmp et /var/log/wtmp

Changer les runlevels

   Une fois tous les processus lancés, init attend qu'un de ses processus meurt, un signal powerfail, ou jusqu'à ce qu'il soit signalé par telinit de changer de runlevel. Quand une de ces 3 conditions se produit, il ré-examine /etc/inittab.

  Si init n'est pas en mode simple utilisateur et reçoit un signal POWERFAIL (SIGPWR), il lit le fichier /etc/powerstatus, et lance une commande basée sur le contenu de ce fichier. L'utilisation de SIGPWR et /etc/powerstatus n'est pas conseillé.

  Quand init change de runlevel, il envoie un SIGTERM à tous les processus qui ne sont pas définis dans le nouveau runlevel. Puis il attend 5 secondes avant de forcer ces processus avec SIGKILL. Noter que init assume que tous ces processus (et leur descendant) restent dans le même groupe de processus qu'init a crée pour eux. Si un de ces processus change de groupe, il ne recevra pas ces signaux.

Variables d'environnement

PATH /bin :/usr/bin :/sbin :/usr/sbin
INIT_VERSION la version d'init
RUNLEVEL Le runlevel système courant
PREVLEVEL Le runlevel système précédant
CONSOLE La console système. S'il n'est pas définit par init, sera /dev/console par défaut.

Flags

   Il est possible de passer des flags à init depuis le bootloader (ex : grub). Init accepte les flags suivant:

-s,S, single boot en mode simple utilisateur. Dans ce mode /etc/inittab est examiné et les scripts rc sont généralement lancés avant que le shell du mode simple utilisateur ne soit démarré.
1-5 Permet de spécifier le runlevel sur lequel booter.
-b, emergency Boot directement en mode simple utilisateur sans lancer de script de démarrage.
-a, auto LILO ajoute 'auto' à la ligne de commande si le kernel est booté avec la ligne de commande par défaut (sans l'intervention de l'utilisateur). init définit alors la variable AUTOBOOT à yes.
-z permet d'étendre un peu la ligne de commande, et donc prenne un peu plus d'espace dans la pile. Init peut ainsi manipuler la ligne de commande pour que ps(1) affiche le runlevel courant.

Interface

   init écoute les messages sur un fifo dans /dev/initctl. Telinit l'utilise pour communiquer avec init.

Signaux

   init réagit à certains signaux:

SIGHUP a le même effet que telinit q
SIGUSR1 init ferme et ré-ouvre son fifo /dev/initctl. utile pour les scripts de boot quand /dev est remonté.
SIGINT Généralement le kernel envoie ce signal à init quand ctrl+alt+del est pressé. Il active l'action ctrlaltdel.
SIGWINCH le kernel envoie ce signal quand la touche KeyboardSignal est pressée. Active l'action kbrequest
^
31 mai 2010

htmlpdflatexmanmd




initscript

initscript

Script qui exécute les commandes inittab

   Quand ce script existe, init l'utilise pour exécuter les commandes depuis inittab. Ce script peut être utilisé pour définis différentes choses comme ulimit et umask par défaut pour tous les utilisateurs.

Exemples


# Set umask to safe level, and enable core dumps.
umask 022
ulimit -c 2097151
PATH=/bin :/sbin :/usr/bin :/usr/sbin
export PATH
    
# Increase the hard file descriptor limit for all processes
# to 8192. The soft limit is still 1024, but any unprivileged
# process can increase its soft limit up to the hard limit
# with "ulimit -Sn xxx" (needs a 2.2.13 or later Linux kernel).
ulimit -Hn 8192
    
# Execute the program.
eval exec "$4"

^
31 mai 2010

htmlpdflatexmanmd




inittab

inittab

Fichier de configuration de init

Une entrée de runlevel a le format suivant:
id:runlevels:action:process

id séquence unique de 1 à 4 caractères qui identifie l'entrée dans inittab.
runlevels liste les runlevels pour lesquels l'action spécifiée doit être exécutée
action décrit l'action à exécuter
process spécifie le processus à exécuter. S'il commence avec un '+', init ne créera pas de utmp et wtmp pour ce processus. nécessaire pour les getty qui insistent pour faire leur propre utmp/wtmp. c'est aussi un bug historique.

   Le champ runlevels peut contenir plusieurs caractères pour différents runlevels. Les actions valides sont:

respawn Le processus sera redémarré s'il est terminé (ex getty)
wait Le processus sera démarré une fois en entrant dans le runlevel et init attendra qu'il se termine
once Le processus sera exécuté une fois en entrant dans le runlevel.
boot Le processus sera exécuté au boot Le champs runlevel est ignoré
bootwait Le processus sera exécuté durant le boot, init attendra qu'il se termine(ex : /etc/rc). Le runlevel est ignoré.
off Ne fait rien ondemand Sera exécuté quand le runlevel est appelé, cependant aucun changement de level ne sera exécuté.(les runlevels ondemand sont a, b, et c)
initdefault spécifie le runlevel par défaut après le boot. Le champs process est ignoré
sysinit Le processus sera exécuté durant le boot. Il sera exécuté avant une entrée boot ou bootwait. Le runlevel est ignoré.
powerwait Le processus est exécuté quand le courant s'affaiblit.
powerfail comme powerwait, excepté qu'init n'attend pas que le processus se termine
powerokwait Le processus sera exécuté une fois qu'init est informé que le courant est revenu
powerfailnow Le processus sera exécuté quand la batterie est vide et le courant s'arrête.
ctrlaltdel Le processus sera exécuté quand init recevra le signal SIGINT. généralement en pressant ctrl+alt+del
kbrequest Le processus sera exécuté quand init reçoit un signal depuis une combinaison de touches spécial.

Exemple simple


id:1:initdefault :
rc ::bootwait :/etc/rc
1:1:respawn :/etc/getty 9600 tty1
2:1:respawn :/etc/getty 9600 tty2
3:1:respawn :/etc/getty 9600 tty3
4:1:respawn :/etc/getty 9600 tty4

   Il exécute /etc/rc durant le boot et lance getty sur tty1 à tty4

Exemple plus élaboré


id:2:initdefault :
    
# script d'initialisation/configuration au moment du boot
si ::sysinit :/etc/init.d/rcS
    
# quoi faire en mode simpleutilisateur
:S:wait :/sbin/sulogin
    
# /etc/init.d execute les scripts S et K pendant le changement de runlevel
l0:0:wait :/etc/init.d/rc 0
l1:1:wait :/etc/init.d/rc 1
l2:2:wait :/etc/init.d/rc 2
l3:3:wait :/etc/init.d/rc 3
l4:4:wait :/etc/init.d/rc 4
l5:5:wait :/etc/init.d/rc 5
l6:6:wait :/etc/init.d/rc 6
    
# quoi faire si ctrl+alt+del sont pressés
ca ::ctrlaltdel :/sbin/shutdown -t1 -h now
    
# Runlevel 2,3 : getty sur les consoles virtuelles
# Runlevel 3 : getty sur le terminal (ttyS0) et le modem (ttyS1)
1:23:respawn :/sbin/getty tty1 VC linux
2:23:respawn :/sbin/getty tty2 VC linux
3:23:respawn :/sbin/getty tty3 VC linux
4:23:respawn :/sbin/getty tty4 VC linux
S0:3:respawn :/sbin/getty -L 9600 ttyS0 vt320
S1:3:respawn :/sbin/mgetty -x0 -D ttyS1

^
28 mars 2016

htmlpdflatexmanmd




insmod

insmod

Insert un module dans le kernel linux

   insmod est un programme simple pour insérer un module dans le kernel. La plupart des utilisateurs utilisent modprobe, qui est plus simple à utiliser.

^
31 mai 2010

htmlpdflatexmanmd




insserv

insserv

Autorise un script init installé en lisant l'en-tête et calcule les dépendances.

Exemple


### BEGIN INIT INFO
# Provides : boot_facility_1 [ boot_facility_2 ...]
# Required-Start : boot_facility_1 [ boot_facility_2 ...]
# Required-Stop : boot_facility_1 [ boot_facility_2 ...]
# Should-Start : boot_facility_1 [ boot_facility_2 ...]
# Should-Stop : boot_facility_1 [ boot_facility_2 ...]
# X-Start-Before : boot_facility_1 [ boot_facility_2 ...]
# X-Stop-After : boot_facility_1 [ boot_facility_2 ...]
# Default-Start : run_level_1 [ run_level_2 ...]
# Default-Stop : run_level_1 [ run_level_2 ...]
# X-Interactive : true
# Short-Description : single_line_description
# Description : multiline_description
### END INIT INFO

insserv scanne /etc/insserv.conf et le contenu de /etc/insserv.conf.d/. exemple:
# All local filesystems are mounted
# (done during boot phase)
$local_fs boot
    
# Low level networking
$network network route
    
# Named is operational
$named named
    
# All remote filesystems are mounted
# (in some cases /usr may be remote).
$remote_fs $local_fs nfs
    
# System logger is operational
$syslog syslog
    
# All network daemons are running
$netdaemons portmap inetd
    
# Services which need to be interactive
‹interactive› boot.crypto

OPTIONS

-v, --verbose mode verbeux
-c ‹config›, --config ‹config› Spécifier le chemin vers insserv.conf et insserv.conf.d
-o ‹path›, --override ‹path› l'en-tête trouvé dans ce chemin va remplacer l'en-tête existant dans les scripts.
-p ‹path›, --path ‹path› spécifier le dossier init.d
-n, --dryrun ne pas mettre à jourslesliens
-r, --remove supprime les scripts listés de tous les runlevels
-d, --default utilise les runlevels par défaut dans les scripts.
-f, --force ignore si un service requis est manquant

[[/]path/to/init.d/] chemin relatif ou absolue vers le dossier des scripts.Défaut : /etc/init.d
[[/]path/to/init.d/]script ... Liste des scripts qui doivent être ajoutés aux runlevels
[[/]path/to/init.d/]script[,start=‹lvl1,lvl2,...›] Liste des scripts qui doivent être ajoutés aux runlevels spécifiés
-r [[/]path/to/init.d/]script ... Liste de scripts qui devraient être supprimés des runlevels

Fichiers

/etc/insserv.conf Fichier de configuration
/etc/insserv.conf.d/ dossier contenant les fichiers de configurations
/etc/insserv/overrides/ Chemin pour remplacer les en-têtes des scripts
/etc/init.d/ le dossier contenant les script init
/etc/init.d/.depend.boot
/etc/init.d/.depend.start
/etc/init.d/.depend.stop Les fichiers de dépendances produits par insserv avec l'aide de startpar
^
31 mai 2010

htmlpdflatexmanmd




invoke-rc.d

invoke-rc.d

Exécute des scripts dans /etc/init.d dans le style des services SystemV

   Les actions standard sont: start, stop, force-stop, restart, reload, force-reload et status. D'autres actions sont acceptées, mais peuvent causer des problèmes avec policy-rc.d, des alertes sont générées si la couche de politiques est active. Tous les autres paramètres sont passés aux scripts init invoqués.

OPTIONS

--quiet mode silencieux
--force essaye de lancer le scipt sans regarder les règles et les erreurs.
--try-anyway essaye de lancer un script si une erreur non-fatale est détéctée.
--disclose-deny retourne le code de status 101 au lieu de 0 si l'action du script est refusé par les rêgles.
--query Retourne un des code status 100-106. Ne lance pas le script, et implique --disclose-deny et --no-fallback
--no-fallback Ignores any fallback action requests by the policy layer.

Codes de status

0 aucune erreur ne s'est produit
1 - 99 réservé au script init.d, indique généralement une erreur.
100 nom de script init inconnu. le script n'a pas été enregistré correctement avec update-rc.d ou que le script n'existe pas.
101 action non permise
102 erreur du script init ou de règles.
103 erreur de syntaxe
104 le script aurait pu se lancer mais l'option --query a été spécifié
105 mode incertain. Ne peut pas déterminer l'action, et --query est spécifié.
106 les rêgles refusent l'action, and supplied an allowed fallback action to be used instead.

Fichiers

/etc/init.d/ scripts init System V
/usr/sbin/policy-rc.d Init script policy layer helper
/etc/runlevel.conf configuration des runlevel file-rc (si le package file-rc est utilisé).
/etc/rc‹x›.d/ configuration des runlevel System V (si le package sysv-rc n'est pas utilisé).
^
25 mars 2016

htmlpdflatexmanmd




ipcmk

ipcmk

Créer des ressources IPC

OPTIONS

-M, --shmem Créé un segment de mémoire partagé de la taille spécifiée, en octets par défaut.
-Q, --queue Créé une file de message
-S, --semaphore Créé un tableau de sémaphore avec le nombre d'éléments spécifiés
-p, --mode Permissions d'accès pour la ressource. Défaut: 0644
^
25 mars 2016

htmlpdflatexmanmd




ipcrm

ipcrm

supprimer des ressources IPC

   ipcrm supprime des objets IPC et les structures de données associées du système. Pour supprimer de tels objets, vous devez être root, ou le créateur ou le propriétaire de l'objet.

   les objets IPC system V sont de 3 types: mémoire partagée, files de messages, et sémaphore. La suppression d'objet de type file de message ou sémaphore est immédiate. Un objet de mémoire partagé est seulement supprimé après que tous les processus attaché se soient détaché de l'objet

   2 syntaxes sont supportées. L'ancienne syntaxe spécifie un mot clé à 3 lettres indiquant quelle classe d'objet doit être supprimer, suivi par un ou plusieurs identifiant IPC pour les objets de ce type.

   La syntaxe SUS-compliant permet la spécification de 0 ou plusieurs objets de tous les 3 types dans une simple ligne de commande, avec les objets spécifiés soit par clé soit par identifiant. Les clé et les identifiants peuvent être spécifiés en décimal, hexadécimal, ou octal.

   Les identifiants et clé peuvent être trouvés en utilisant la commande ipcs.

OPTIONS

-a, --all [shm] [msg] [sem] Supprime toutes les ressources. Quand une option est fournie, la suppression est effectuée seulement pour le type de ressource spécifié.
-M, --shmem-key Supprime le segment de mémoire partagé créé avec la clé spécifiée après que le dernier détachement est été effectué
-m, --shmem-id idem, en spécifiant son id
-Q, --queue-key Supprime le file de message créé avec la clé spécifiée
-q, --queue-id idem, en spécifiant son id
-S, --semaphore-key Supprime le sémaphore créé avec la clé spécifiée
-s, --semaphore-id idem, en spécifiant son id
^
25 mars 2016

htmlpdflatexmanmd




ipcs

ipcs

Afficher des renseignements sur l'utilisation des ressources IPC

   ipcs affiche des informations sur les ressources des communication interprocess pour lesquels le processus appelant a accès en lecture. Par défaut, affiche 3 ressources: le segment de mémoire partagé, file de messages et les tableaux de sémaphores

OPTIONS

-i, --id Affiche des détails sur la ressource spécifiée par son id. Doit être combiné avec -m, -q ou -s
-m, --shmems Affiche des informations sur les segments mémoire partagés actifs
-q, --queues Affiche des informations sur les files de messages actives
-s, --semaphores Affiche des informations sur les jeux de sémaphore actifs
-a, --all Affice toutes les informations
-c, --creator Affiche le createur et le propriétaire
-l, --limits Affiche les limites de ressources
-p, --pid Affiche les PID du créateur et le dernier opérateur
-t, --time Affiche les informations de temps.
-u, --summary affiche un sommaire du status
-b, --bytes Affiche les tailles en octets
--human Affiche les tailles au format human-readable.
^
01 juillet 2016

htmlpdflatexmanmd




keys-ecryptfs

keys-ecryptfs

Système de fichier stacké à chiffrement transparent

   ecryptfs est un système de fichier stacké qui chiffre et déchiffre de manière transparente chaque fichier en utilisant une clé de chiffrement de fichier (FEK) générée aléatoirement.

   Chaque FEK est en retour chiffré avec une clé de chiffrement de clé de chiffrement de fichier (FEFEK) soit dans l'espace kernel ou en espace utilisateur avec un service appelé ecryptfsd. Dans le premier cas, l'opération est effectuée directement par le cryptoAPI du kernel en utilisant une clé, la FEFEK, dérivée d'une passphrase de l'utilisateur; dans l'autre cas, la FEK est chifrée par ecryptfsd avec l'aide de librairies externes pour supporter d'autres mécanismes comme les clés publiques, PKCS#11 et TPM.

   La structure de données définie par ecryptfs pour contenir les informations requises pour le déchiffrement FEK est appelé le jeton d'authentification et , actuellement, peut être stocké dans une clé kernel de type 'user', inséré dans la session de l'utilisateur par l'utilitaire userspace mount.ecryptfs fournis avec le paquet ecryptfs-utils

   Le type de clé encrypted a été étendue avec l'introduction du nouveau format ecryptfs pour être utilisé en conjonction avec le système de fichier ecryptfs. Les clé chiffrées au nouveau format stockent un jeton d'authentification dans son payload avec un FEFEK générée aléatoirement par le kernel et protégé par la clé maître.

   Pour éviter les attaques plaintext, le 'datablob' obtenu via les commandes 'keyctl print' ou 'keyctl pipe' ne contiennent pas tout le jeton d'authentification, dont le contenu est connu, mais seulement la FEFEK sous forme chiffrée.

   Le système de fichier ecryptfs peut réellement bénéficier de l'utilisation de clé chiffrées car les clés requises peuvent être générées de manière sécurisée par un administrateur et fournis au boot une fois la clé de confiance fournie pour effectuer le montage dans un environnement contrôlé. Un autre avantage est que la clé n'est pas exposée aux traitements de logiciels malicieux, parce qu'elle est disponible en clair seulement au niveau du kernel.

Utilisation

keyctl add encrypted name "new ecryptfs key-type:master-key-name keylen" ring
keyctl add encrypted name "load hex_blob" ring
keyctl update keyid "update key-type:master-key-name"
name:= '‹ 16 hexadecimal characters ›'
key-type:= 'trusted' | 'user'
keylen:= 64

Exemple d'utilisation de clé chiffrée avec le système de fichier ecryptfs

Créer un clé chiffrée "1000100010001000" de 64bits de long au format ecryptfs et la sauver avec une clé utilisateur précédemment chargée "test":
keyctl add encrypted 1000100010001000 "new ecryptfs user:test 64" @u 19184530
keyctl print 19184530
ecryptfs user:test 64 490045d4bfe48c99f0d465fbbbb79e7500da954178e2de0697
dd85091f5450a0511219e9f7cd70dcd498038181466f78ac8d4c19504fcc72402bfc41c2
f253a41b7507ccaa4b2b03fff19a69d1cc0b16e71746473f023a95488b6edfd86f7fdd40
9d292e4bacded1258880122dd553a661
keyctl pipe 19184530 › ecryptfs.blob
Monter un système de fichier ecryptfs avec la clé chiffrée créée "1000100010001000" dans le répertoire /secret:
mount -i -t ecryptfs -oecryptfs_sig=1000100010001000,ecryptfs_cipher=aes,ecryptfs_key_bytes=32 /secret /secret
^
23 mai 2010

htmlpdflatexmanmd




kill

kill

Envoyer un signal à un processus

   Le signal par défaut est TERM. Utiliser -l ou -L pour une liste possible de signaux. Les signaux particulièrement utiles sont HUP, INT, KILL, STOP, CONT, et 0. Les signaux peuvent être spécifiés de 3 manières différentes. -9 -SIGKILL -KILL. Les valeur de PID négatives peuvent être utilisés pour choisir les groupes de processus; voir la colonne PGID de la commande ps. Un PID de -1 est spécial; il indique tous les processus excepté le processus kill lui-même et init.

Quelques signaux


Nom_____Num_____Action_____Description
0________0_______n/a________Code de sortie indiquant si un signal peut être envoyé.
ALRM____14_______exit_______
HUP______1_______exit_______
INT______2_______exit_______
KILL_____9_______exit_______Ne peut pas être bloqué
PIPE____13_______exit_______
TERM____15_______exit_______
STOP_____________stop_______Ne peut pas être bloqué
CONT_____________restart____Continue si stoppé, sinon ignore
QUIT_____3_______core_______
TRAP_____5_______core_______

   Note: Le shell peut avoir une commande kill intégré.

Exemples

kill -9 -1
tue tous les processus que vous pouvez tuer
kill -l 11
Traduit le nombre 11 en nom de signal
kill -L
Liste les signaux
kill 123 543 2341 3453
Envoie le signal par défaut à ces processus
^
23 mai 2010

htmlpdflatexmanmd




killall

killall

Tuer tous les processus

   killall tue les processus par nom. Il envoie un signal à tous les processus (SIGTERM par défaut) spécifiés. Les signaux peuvent être spécifiés par nom, par numéro ou par l'option -s. Si le nom spécifié n'est pas un expression régulière et contient un "/", les processus exécutant ce fichier seront tués, indépendamment de leur nom.

OPTIONS

-e, --exact Requière le nom exacte, mais ne gère que 15 caractères max.
-I, --ignore-case insensible à la casse
-g, --process-group Tue le groupe de processus auquel le processus appartient. Le signal est envoyé une seule fois par groupe.
-i, --interactive demande confirmation avant de tuer.
-l, --liste Liste les noms de signaux.
-q, --quiet n'affiche rien si aucun processus n'a été tué
-r, --regexp Utiliser les regex pour trouver les processus à tuer
-s, --signal envoie le signal spécifié aux processus
-u, --user Tue uniquement les processus appartenant à user
-v, --verbose mode verbeux
-w, --wait Attend que tous les processus soit tués. killall vérifie une fois par seconde.
-Z, --context (SELinux uniquement) spécifie le contexte de sécurité : tue uniquement les processus ayant un contexte de sécurité particulier.
^
23 mai 2010

htmlpdflatexmanmd




killall5

killall5

Envoie un signal à tous les processus

   C'est la commande killall de system V. Il envoie un signal à tous les processus excepté les threads du kernel et les processus de la propre session, donc il ne tuera pas le shell qui le lance.

OPTIONS

-o dit a killall5 d'omettre ce pid
^
28 mars 2016

htmlpdflatexmanmd




kmod

kmod

Gestion des modules Linux

   kmod est un binaire multi-call qui implémente les programmes utilisé pour contrôler les modules du kernel. Il est généralement appelé sous ses autres noms: lsmod, insmod, rmmod, modinfo, modprobe ou depmod

Commandes

list Liste les modules actuellement chargés
static-nodes Affiche les informations du nœud statique fournis par les modules de la version actuelle du kernel
^
28 mars 2016

htmlpdflatexmanmd




kxc

kxc

Client d'échange de clé

   kxc est le client pour kxd. Il prend une clé et un certificat client, le certificat du serveur et une URL (ex: kxd://server/host1/key1), et affiche sur stdout la clé retournée. Il y a un script pour ouvrir des périphérique cryptsetup automatiquement: kxc-cryptsetup.

OPTIONS

--client_key=‹file› Fichier contenant la clé privée du client
--client_cert=‹file› Certificat du client
--server_cert=‹file› Certificats du serveur
^
28 mars 2016

htmlpdflatexmanmd




kxc-cryptsetup

kxc-cryptsetup

wrapper cryptsetup pour kxc

   kxc-cryptsetup est un wrapper pour invoquer kxc tout en prenant les options des fichiers dans /etc/kxc/. Il peut être utilisé comme script de clé cryptsetup, pour automatiquement obtenir les clé pour ouvrir des périphériques kxc.

^
28 mars 2016

htmlpdflatexmanmd




kxd

kxd

Service d'échange de clé

   kxd est un service d'échange de clé, qui dessert des clé sur https. Il peut être utilisé pour obtenir des clé à distance au lieu d'utiliser un stockage local. Son utilisation principale est d'obtenir des clé pour ouvrir des périphériques dm-crypt automatiquement, sans avoir à stocker les clé sur la machine locale. Sa configuration est stockée dans /etc/kxd/data, dans lequel il y a un répertoire pas clé (ex: /etc/kxd, data, host1/key1/), chacun contenant les fichiers suivants:

key Contient la clé à donner au client
allowed_clients Contient un ou plusieurs certificats PEM clients autorisés à demander la clé
allowed_hosts Contient un ou plusieurs noms d'hôte (un par ligne)
email_to Un ou plusieurs email de destination pour les notifications (un par ligne)

OPTIONS

--key=‹file› clé privée à utiliser. Défaut: /etc/kxd/key.pem
--cert=‹file› Certificat à utiliser. Défaut: /etc/kxd/cert.pem
--data_dir=‹directory› Répertoire des données. Défaut: /etc/kxd/data
email_from=‹email-address› Adresse email de l'émetteur pour l'envoie des emails
--ip_addr=‹ip-address› Adresse IP d'écoute. Défaut: 0.0.0.0
--logfile=‹file› Fichier de log. '-' pour stdout. Défaut: utilise syslog
--port=‹port› Port d'écoute. Défaut: 19840
--smtp_addr=‹host:port› Addresse du serveur smtp
^
05 septembre 2015

htmlpdflatexmanmd




ld.so

ld.so, ld-linux.so

loader/linker dynamique

   Le linker dynamique peut être lancé soit indirectement par un programme lié dynamiquement ou une librairie, ou directement en exécutant:

  /lib/ld-linux.so.* [OPTIONS] [PROGRAM [ARGUMENTS]]

   les programmes ld.so et ld-linux.so* trouvent et chargent les librairie nécessaires à un programme, préparent le programme et le lance.

   Les binaires linux nécessitent une liaison dynamique sauf si l'option -static a été donné à ld(1) durant la compilation.

   Le programme ld.so manipule les binaires a.out, un format utilisé depuis longtemps, ld-linux.so* manipulent les formats ELF (/lib/ld-linux.so.1 pour libc5, /lib/ld-linux.so.2 pour glibc2), qui sont utilisés depuis de nombreuses années. Sinon, les 2 ont le même comportement, et utilisent les même fichiers et programmes ldd(1), ldconfig(8), et /etc/ld.so.conf

   En résolvant les dépendances de librairies, le linker inspecte d'abord chaque chaîne de dépendance pour voir s'il contient un slash (cela se produit si un chemin de librairie contenant des '/' a été spécifié au moment du lien). Si un slash est trouvé, la chaîne de dépendance est interprété comme chemin (relatif ou absolu), et la librairie est chargée en utilisant ce chemin.

   Si une dépendance de librairie ne contient pas de '/', elle recherché dans l'ordre suivant:

- (ELF uniquement) Utiliser les répertoires spécifiés dans l'attribut de section dynamique DT_RPATH du binaire si présent et que l'attribut DT_RUNPATH n'existe pas. L'utilisation de DT_RPATH est déprécié
- Utilise la variable d'environnement LD_LIBRARY_PATH. Excepté si l'exécutable est un binaire set-user-ID/set-group-ID, auquel cas il est ignoré
- (ELF uniquement) Utilise les répertoires spécifiés dans l'attribut de section dynamique DT_RUNPATH du binaire si présent
- depuis le fichier de cache /etc/ld.so.cache, qui contient une liste compilée de librairies candidat précédemment trouvé. Si, cependant, le binaire a été lié avec l'option du linker -z nodeflib, les librairies dans les chemins par défaut sont sautés.
- Dans le chemin par défaut /lib, puis /usr/lib. Si le binaire a été lié avec -z nodeflib, cette étape est sauté

Expansion de token rpath

   ld.so comprend certaines chaîne dans une spécification rpath (DT_RPATH ou DT_RUNPATH); ces chaînes sont substituées comme suit:

$ORIGIN ou ${ORIGIN} Étend au répertoire contenant l'exécutable de l'application. Donc, une application localisée dans somedir/app pourrait être compilé avec gcc -Wl,-rpath,'$ORIGIN/../lib' pour qu'il trouve une librairie partagée dans somedir/lib peut importe où se trouve somedir.
$LIB ou ${LIB} S'étends à lib ou lib64 en fonction de l'architecture.
$PLATFORM ou ${PLATFORM} s'étends à la chaîne correspondant au type de processeur du système hôte (ex: X86_64). Dans certaines architectures, le kernel linux ne fournis pas un telle chaîne.

OPTIONS

--list Liste toutes les dépendances et comment elles sont résolues
--verify Vérifie que le programme est lié dynamiquement et que ce linker peut le gérer.
--library-path PATH Utilise le PATH spécifié au lieu de la variable LD_LIBRARY_PATH
--inhibit-rpath LIST Ignore les information RPATH et RUNPATH dans les noms d'objet dans LISTE.
--audit LIST Utilise les objets nommés dans LIST comme auditeurs.

Capacités hardware

   Certaines librairies sont compilées en utilisant des instructions spécifiques au hardware qui n'existe pas sur tous les CPU. De telles librairies devraient être installée dans des répertoires dont le nom définis les capacités hardware, tel que /usr/lib/sse2/. Le linker dynamique vérifie ces répertoires avec le hardware de la machine et sélectionne la version la plus appropriée de la librairie donnée. Les répertoire de capacité hardware peuvent être hiérarchisés pour combiner les fonctionnalités CPU. La liste des noms de capacités hardware supportée dépend du CPU. Les noms suivant sont actuellement reconnus:

Alpha ev4, ev5, ev56, ev6, ev67
MIPS loongson2e, loongson2f, octeon, octeon2
PowerPC 4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, ppc32, ppc601, ppc64, smt, spe, ucache, vsx
SPARC flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2
s390 dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, z990, z9-109, z10, zarch
x86 (32-bit only) acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm

Variables d'environnement

LD_ASSUME_KERNEL glibc ›= 2.2.3. Force le linker dynamique à assumer qu'il fonctionne sur un système avec une version ABI kernel différent.
LD_BIND_NOT glibc ›=2.2. Ne met pas à jour le Global Offset Table et la Procedure Linkage Table en résolvant un symbole.
LD_BIND_NOW glibc ›=2.1.1. Si non vide, le linker dynamique résous tous les symboles au démarrage au lieu de déférer les appels de fonction au moment ou il sont référencé la première fois.
LD_LIBRARY_PATH Liste de répertoire dans lequel rechercher les librairies ELF au moment de l'exécution. Ignoré pour les programmes set-user-ID et set-group-ID
LD_PRELOAD Une liste de librairies partagées ELF additionnels à charger avant toutes les autres.
LD_TRACE_LOADED_OBJECTS ELF uniquement. non vide, force le programme à lister ses dépendance comme lancé par ldd, au lieu de se lancer normalement
LD_AOUT_LIBRARY_PATH (libc5) Version de LD_LIBRARY_PATH pour les binaires a.out
LD_AOUT_PRELOAD (libc5) Version de LD_PRELOAD pour les binaires a.out
LD_AUDIT glibc ›=2.4. Liste d'objets partagé à charger avec tous les autres dans un espace de nom de linker séparé.
LD_BIND_NOT glibc ›=2.1.95. ne met pas à jours GOT et PLT après avoir résolus un symbole
LD_DEBUG glibc ›=2.1. Mode verbeux du linker dynamique. (all ou help).
LD_DEBUG_OUTPUT glibc ›=2.1. Fichier dans lequel écrit la sortie LD_DEBUG (défaut: l'erreur standard)
LD_DYNAMIC_WEAK glibc ›=2.1.91. Autorise à écraser les symboles faibles (revenir à l'ancien comportement glibc)
LD_HWCAP_MASK glibc ›=2.1. Masque pour les capacités hardware.
LD_KEEPDIR (libc5). N'ignore pas le répertoire dans les noms des librairies a.out à charger.
LD_NOWARN (libc5).Supprime les alertes sur les librairie a.out avec des numéros de version mineur incompatible.
LD_ORIGIN_PATH glibc ›=2.1. Chemin œu le binaire est trouvé
LD_POINTER_GUARD glibc ›=2.4. À 0, désactive le pointer guarding, sinon l'active.
LD_PROFILE glibc ›=2.1. Le nom d'un simple objet partagé à profiler.
LD_PROFILE_OUTPUT glibc ›=2.1. Répertoire où la sortie LD_PROFILE doit être écrite.
LD_SHOW_AUXV glibc ›=2.1. Affiche un tableau auxiliaire passé par le kernel.
LD_USE_LOAD_BIAS Non définis, les exécutables et objets partagés pré-liés honorent les adresses de base de leur librairies et les PIE et autres objets partagé ne les honore pas. Si définis, tous les honorent. À 0 aucun de les honorent.
LD_VERBOSE glibc ›=2.1. Si non vide, affiche les informations de versionning de symbole sur le programme si LD_TRACE_LOADED_OBJECTS a été mis.
LD_WARN ELF, glibc ›=2.1.3. non vide, alerte sur les symboles non-résolus
LDD_ARGV0 libc5. argv[0] est utilisé par ldd quand aucun n'est présent.

Fichiers

/lib/ld.so linker/loader dynamique a.out
/lib/ld-linux.so.{1,2} linker/loader dynamique ELF
/etc/ld.so.cache Fichier contenant une liste compilée de répertoires dans lesquels rechercher les librairies et une liste ordonnées de librairies candidates.
/etc/ld.so.preload Fichier contenant une liste de librairies partagées ELF à charger avant le programme.
lib*.so* Librairies partagées.
^
05 septembre 2015

htmlpdflatexmanmd




ldconfig

ldconfig

Configure les liaisons dynamiques

   ldconfig créé les liens et caches nécessaires pour trouver les libraires dans les répertoires spécifiés, dans le fichier /etc/ld.so.conf, et dans les répertoire de confiance /lib et /usr/lib. Le cache est utilisé par le linker run-time, ld.so. ldconfig vérifie les en-têtes et noms de fichier des librairies qu'il rencontre.

OPTIONS

-v mode verbeux
-n  Ne traite que les répertoires spécifiés sur la ligne de commande, et non /lib et /usr/lib. Implique -N
-N Ne reconstruit pas le cache. Sauf si -X est également spécifié, les liens sont mis à jours
-X Ne met pas à jours les liens. reconstruit le cache sauf si -N est spécifié.
-f conf Utiliser le fichier spécifié au lieu de /etc/ld.so.conf
-C cache Utilise le cache spécifié au lieu de /etc/ld.so.cache
-r root Change et utilis root comme répertoire root
-l mode librairie. Lie manuellement les librairies.
-p Affiche les listes de répertoires candidat dans le cache courant.
^
05 septembre 2015

htmlpdflatexmanmd




ldd

ldd

Afficher les dépendances de librairie partagées

   ldd affiche les librairies partagées par chaque programme ou librairie partagées sur la ligne de commande. Normalement, ldd invoque le linker dynamique standard (ld.so) avec la variable d'environnement LD_TRACE_LOADED_OBJECTS à 1, qui force le linker à afficher les dépendances de librairie. Cependant, sous certaines circonstances, certaines versions de ldd peuvent tenter d'obtenir les informations de dépendances directement en exécutant le programme. Donc, ne jamais employer ldd sur un exécutable non fiable, ce qui pourrait résulter dans l'exécution de code arbitraire. Une alternative plus sûre est d'utiliser:objdump -p /path/to/program | grep NEEDED

OPTIONS

-v, --verbose Affiche toutes les informations, incluant le versionning de symboles
-u, --unused Affiche les dépendances directes non utilisées.
-d, --data-relocs Affiche les relocations pour les objets de données et les fonctionne, et reporte les objets ou fonctions manquantes
^
31 mai 2010

htmlpdflatexmanmd




login

login

Utilisé pour établir une nouvelle session avec le système

   login en peut pas être invoqué comme sous-processus. Typiquement, login est traité par le shell comme exec login qui force l'utilisateur à quitter le shell courant. Après une connexion réussie, vous serez informé des messages du système (/etc/motd). On peut les désactiver en créant un fichier vide .hushlogin dans le répertoire utilisateur. Le message concernant les mails sera "you have new mail", "you have mail" ou "no mail".

   le nom d'utilisateur et de groupe sont définis dans /etc/passwd. Les variables $HOME, $SHELL, $PATH, $LOGNAME et $MAIL sont définies en fonction des champs appropriés. Les valeurs de ulimit, umask et de nice peuvent également être affectés en fonction des entrées du champ GECOS.

OPTIONS

-f Ne pas réaliser d´authentification. L´utilisateur est pré-authentifié.
-h Nom de l´hôte distant pour cette connexion.
-p Préserver l´environnement.
-r Exécuter le protocole de connexion automatique (autologin) pour rlogin.

   Les options -r, -h et -f ne peuvent être utilisées que par root.

Configuration

   ces variables de /etc/login.defs modifient le comportement de login

CONSOLE_GROUPS Liste des groupes supplémentaire à ajouter à l'utilisateur quand il se logge sur la console ( comme déterminé par le paramèter CONSOLE ) Défaut: none
DEFAULT_HOME Indique si la connexion est permise si on ne peut pas accéder au répertoire personnel. Défaut: no
ENV_PATH Si défini, il sera utilisé pour définir PATH quand un utilisateur ordinaire se connecte. La valeur peut être précédée par PATH=, ou une liste de chemins séparés par des deux points (ex /bin:/usr/bin). Défaut: PATH=/bin:/usr/bin
ENV_SUPATH Si défini, sera utilisé pour définir PATH quand le super-utilisateur se connecte. La valeur peut être précédée par PATH= ou une liste de chemins séparés par deux points (ex /sbin:/bin:/usr/sbin:/usr/bin). Défaut: PATH=/bin:/usr/bin.
ERASECHAR Le caractère ERASE du terminal (010 = backspace, 0177 = DEL).
FAIL_DELAY délai en secondes avant qu´un nouvel essai soit permit après un échec de connexion.
FAKE_SHELL Si défini, login exécutera cet interpréteur de commandes au lieu de l´interpréteur de l´utilisateur spécifié dans /etc/passwd.
HUSHLOGIN_FILE Si défini, ce fichier peut désactiver tous les affichages habituels durant la séquence de connexion. Si un nom de chemin complet est spécifié, alors le mode silencieux sera activé si le nom ou l´interpréteur de commandes de l´utilisateur sont trouvés dans le fichier. Si ce n´est pas un nom de chemin complet, alors le mode silencieux sera activé si le fichier existe dans le répertoire personnel de l´utilisateur.
KILLCHAR Le caractère KILL du terminal (025 = CTRL/U).
LOGIN_RETRIES Le nombre maximum de tentatives de connexion en cas de mauvais mot de passe. sera probablement écrasé par PAM, puisque le module pam_unix est réglé en dur pour n´effectuer que 3 tentatives.
LOGIN_TIMEOUT Le temps maximum en secondes pour la connexion.
LOG_OK_LOGINS Activer la journalisation des connexions réussies.
LOG_UNKFAIL_ENAB Activer l´affichage des noms d´utilisateurs inconnus quand les échecs de connexions sont enregistrés. peut être un problème de sécurité si un utilisateur entre son mot de passe au lieu de son nom d´utilisateur.
TTYGROUP, TTYPERM Les permissions du terminal: le login tty sera possédé par le group TTYGROUP, et les permission seront mis à TTYPERM. Défaut: le groupe primaire de l'utilisateur et les droit 0600.
TTYTYPE_FILE Si définis, le fichier qui mappe la ligne tty au paramètre d'environnement TERM. Chaque ligne de ce fichier en dans un format comme "vt100 tty01"
USERGROUPS_ENAB À yes, userdel supprime le groupe de l'utilisateur s'il ne contient plus de membres, et useradd crée par défaut un group de même nom que l'utilisateur

Fichiers

/var/run/utmp Liste des sessions de connexion en cours.
/var/log/wtmp Liste des sessions de connexion précédentes.
/etc/passwd Informations sur les comptes des utilisateurs.
/etc/shadow Informations sécurisées sur les comptes utilisateurs.
/etc/motd Fichier contenant le message du système.
/etc/nologin Empêcher les utilisateurs non-root de se connecter.
/etc/ttytype Liste des types de terminaux.
$HOME/.hushlogin Supprimer l´affichage des messages du système.
^
12 février 2014

htmlpdflatexmanmd




look

look

Affiche les lignes commençant par la chaîne donnée

   Si le fichier est omis, /usr/share/dict/words est utilisé, seul les caractères alphanumériques sont comparés et la casse est ignorée.

OPTIONS

-b recherche binaire
-d seul les caractère alphanumériques sont comparés
-f ignore la casse
-t Spécifie un caractère de terminaison de chaîne

Variables d'environnement

LANG Langage à utiliser pour déterminer le jeu de caractères
LC_ALL Langage à utiliser pour déterminer le jeu de caractères
LC_TYPE Langage à utiliser pour déterminer le jeu de caractères
^
31 octobre 2016

htmlpdflatexmanmd




lsattr

lsattr

Lister les attributs de fichier dans un système de fichier ext

OPTIONS

-R Lister les attributs récursivement dans les répertoires et leur contenu
-a Lister tous les fichiers dans les répertoires, incluant les fichiers cachés
-d Lister les répertoire comme les autres fichiers au lieu de lister leur contenu
-l Afficher les options utilisant des noms long au lieu d'un simple caractère
-p Lister le numéro de projet du fichier
-v Lister le numéro de version/génération du fichier
^
07 mai 2016

htmlpdflatexmanmd




lsblk

lsblk

Liste les informations sur tous les périphériques block spécifiés ou disponible.

OPTIONS

-a, --all Liste également les périphériques vide
-b, --bytes Affiche la colonne de taile en octets au lieu du format human-readable
-D, --discard Affiche des informations sur les capacités interdites pour chaque périphériques
-d, --nodeps Ne pas afficher le propriétaire ou les esclaves.
-e, --exclude list Exclus les périphériques spécifiés par une liste séparée par une ',' de numéro de périphérique majeur. les ramdisk sont exclus par défaut.
-f, --fs Affiche des informations sur les systèmes de fichier. Équivalent à -o NAME,FSTYPE,LABEL,MOUNTPOINT
-I, --include list Inclus les périphériques spécifiés.
-i, --ascii Utilise des caractères ASCII pour le formatage de l'arborescence
-l, --list Produit une sortie sous la forme d'une liste
-m, --perms Affiche des informations du le propriétaire et les permissions. Équivalent à -o NAME,SIZE,OWNER,GROUP,MODE
-o, --output list Spécifie quelles colonnes afficher.
-O, --output-all Affiche toutes les colonnes disponibles
-P, --pairs Produit une sortie sous la forme de paires clé="valeur".
-p, --paths Affiche les chemins de périphériques complet
-r, --raw Produit une sortie au format brut.
-s, --scsi Affiche seulement les périphériques scsi. Toutes les partitions, esclaves ou propriétaire sont ignorés.
-s, --inverse Affiche les dépendance dans l'ordre inverse
-t, --topology Affiche une topologie de périphérique block. Équivalent à -o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,WSAME
-x, --sort column Trie les ligne par la colonne spécifiée.

codes de retour

0 Réussite
1 Échec
32 Aucun des périphériques indiqués n'a été trouvé
64 Les périphériques indiqués n’ont pas tous été trouvés

Variables d'environnement

LIBBLKID_DEBUG =all Activer la sortie de débogage de libblkid
LIBMOUNT_DEBUG =all Activer la sortie de débogage de libmount.
LIBSMARTCOLS_DEBUG =all Activer la sortie de débogage de libsmartcols
^
15 juin 2013

htmlpdflatexmanmd




lscgroup

lscgroup

Liste tous les cgroups

OPTIONS

‹controllers›:‹path› Définis le cgroup et ses enfants à afficher, sinon affiche tous les cgroups
^
03 février 2016

htmlpdflatexmanmd




lscpu

lscpu

Afficher des informations sur l'architecture des micro-processeurs

   lscpu s'appuye sur le contenu de sysfs et /proc/cpuinfo pour afficher les informations de manière optimisées et faciliter la lecture.

OPTIONS

-a, --all Inclu les processeurs hors ligne. Nécessite -e ou -p
-b, --online Limite la sortie aux cpu online. Nécessite -e ou -p
-c, --offline Limite la sortie aux cpu offline. Nécessite -e ou -p
-e, --extended[=liste] Mode tableau
-p, --parse[=liste] Optimise la sortie pour faciliter l'analyse
-s, --sysroot ‹dir› Collecte le données pour une autre instance. Le répertoire est la racine du système de l'instance Linux à inspecter
-x, --hex Utilise les notations hexadécimales
^
25 mars 2016

htmlpdflatexmanmd




lsipc

lsipc

Affiche les informations sur les facilités IPC actuellement employés dans le système

OPTIONS

-i, --id Affiche des détails sur la ressource spécifiée par son id. Doit être combiné avec -m, -q ou -s
-g, --global Affiche l'utilisation système et les limites. Cette option peut être combiné avec -m, -k ou -s.
-m, --shmems Affiche des informations sur les segments mémoire partagés actifs
-q, --queues Affiche des informations sur les files de messages actives
-s, --semaphores Affiche des informations sur les jeux de sémaphore actifs
-c, --creator Affiche le createur et le propriétaire
-e, --export Affiche les donnée au format NAME=VALUE
-J, --json Utilise le format JSON
-l, --list Utilise le format liste.
-n, --newline Affiche chaque information sur une ligne séparée
--noheadings N'affiche pas les en-tête
--notruncate Ne tronque pas la sortie
-o, --output list Spécifie quelle colonnes afficher
-p, --pid Affiche les PID du créateur et du dernier opérateur
-r, --raw Sortie brute
-t, --time Affiche les informations de temps.
--time-format type Affiche les date au format short, full ou iso.
^
25 mars 2016

htmlpdflatexmanmd




lslogins

lslogins

Affiche des informations sur les utilisateurs connus dans le système

   Examine les logs wtmp et btmp, /etc/shadow et /etc/passwd et affiche les informations souhaitées.

OPTIONS

-a, --acc-expiration Affiche les données sur la date du dernier changement de mot de passe et la date d'expiration du compte.
--btmp-file Chemin alternatif pour btmp
-c, --colon-separate Sépare les informations sur chaque utilisateur avec une ',' au lieu d'un newline
-e, --export Affiche les données au format NAME=VALUE
-f, --failed Affiche les données sur la dernière tentative de connection échouée de l'utilisateur
-G, --supp-groups Affiche des informations sur les groupes
-g, --groups affiche seulement les utilisateurs appartenant aux groupes spécifiés.
-L, --last Affiche les informations sur les données contenant les dernières sessions des utilisateurs.
-l, --logins Affiche seulement les données des utilisateurs avec un login spécifié. Plus d'un login peut être spécifié
-n, --newline Affiche chaque information sur une nouvelle ligne
--noheadings N'affiche pas les en-têtes
--notruncate Ne tronque pas la sortie
-o, --output Spécifie quel colonnes afficher
-p, --pwd Affiche des informations liées au login par mot de passe
-r, --raw Sortie brute
-s, --system-accs Affiche les comptes système.
--time-format affiche les dates au format cour
-u, --user-accs Affiche les comptes utilisateur
--wtmp-file Chemin alternatif pour wtmp
-Z, --context Affiche le contexte de sécurité de l'utilisateur
-z, --print0 Délimite les entrées utilisateur avec un caractère null au lieu d'une nouvelle ligne
^
28 mars 2016

htmlpdflatexmanmd




lsmod

lsmod

Affiche le statut des modules dans le kernel Linux

   lsmod est un programme simple qui format le contenu de /proc/modules, affichant les modules actuellement chargés

^
23 mars 2014

htmlpdflatexmanmd




lspci

lspci

Utilitaire pour afficher des informations sur les bus PCI dans le système et les périphériques connectés

   Par défaut, il affiche une liste brève des périphériques.

Options d'affichage basic

-m Dump les données de périphériques dans une forme compatible
-mm Dump les données de périphériques dans une forme plus facile à parser par un script
-t Affiche un diagramme hiérarchique contenant tous les bus, ponts, périphériques et leur connexions entre eux

Options d'affichage

-v mode verbeux peut être spécifié jusqu'à 3 fois pour augmenter la verbosité (-vvv)
-k Affiche les pilotes du kernel manipulant le périphérique et les modules capable de le manipuler.
-x Affiche un dump hexadécimal de la partie standard de l'espace de configuration ( les 64 ou 128 octets pour les pont CardBus )
-xxx Affiche un dump hexadécimal de tout l'espace de configuration PCI
-xxxx Affiche un dump hexadécimal de l'espace de configuration PCI étendu (4096 octets) disponible sur les bus PCI express et PCI-X 2.0
-b View centrée sur les bus. Affiche les numéros d'IRQ et les adresses tel que vue par les cartes sur le bus PCI.
-D Affiche toujours les numéros de domaine PCI.

Options de contrôle de résolution d'ID en nom

-n  Affiche les code de vendeur et de périphérique en nombre au lieu de les rechercher dans la liste d'ID
-nn  Affiche les codes de vendeur et de périphérique en nombre et en nom
-q Utilise DNS pour requêter une base d'ID PCI centrale si le périphérique n'est pas trouvé dans le fichier local. Si la recherche DNS réussie, le résultat est mis en cache dans ~/.pciids-cache
-qq Idem, mais le cache local est réinitialisé
-Q Requête la base centrale pour toutes les entrées

Options pour la séléction des périphériques

-s [[[[‹domain›]:]‹bus›]:][‹slot›][.[‹func›]] Affiche seulement les périphériques dans le domaine spécifié. Les domaines sont numérotés de 0 à ffff, les bus de 0 à ff, les slot de 0 à 1f et les fonctions de 0 à 7. Chaque composant peut être omi ou définis à *. Tous les nombres sont héxadécimaux.
-d [‹vendor›]:[‹device›] Affiche uniquement les périphériques avec l'ID de vendeur et de périphérique spécifié.

Autres options

-i ‹file› Utilise le fichier de liste d'ID spécifié au lieu de /usr/share/misc/pci.ids
-p ‹file› Utilise le fichier spécifié comme table d'ID PCI manipulé par les modudes du kernel au lieu de /lib/modules/kernel_version/modules.pcimap
-M Invoque le mode de mappage de bus qui effectue un scan de tous les périphériques PCI, incluant ceux qui sont mal configurés. Utile uniquement avec un mode d'accès hardware direct. Le mappeur de bus ne scanne que le domain PCI 0

Options d'accès PCI

   PCI utilise la librairie PCI pour communiquer avec les périphériques PCI (voir pcilibs(3)). On peut utiliser les options suivantes pour influencer sont fonctionnement:

-A ‹method› La librairie supporte de nombreuses méthodes pour accéder au hardware PCI. Par défaut, elle utilise la première méthode disponible. -A help pour voir les méthodes disponible.
-O ‹param›=‹value› Le fonctionnement de la librairie est contrôlée par de nombreux paramètres. -O help pour lister les paramètres connus.
-H1 Utilise l'accès hardware direct via le mécanisme de configuration Intel 1 (idem -A intel-conf1)
-H2 Utilise l'accès hardware direct via le mécanisme de configuration Intel 2 (idem -A intel-conf2)
-F ‹file› Au lieu d'accéder au vrai hardware, lis la liste des périphériques et leurs valeurs depuis leurs registre de configuration depuis le fichier spécifié, produit par lspci -x.
-G Augmente le niveau de verbosité de la librairie.

Affichage

   Pour traitement la sortie de lspci automatiquement, utiliser les formats machine-readable (-m, -vm, -vmm). Tous les autres formats peuvent changer d'un version à une autre. Tous les nombres sont en hexadécimal.

Format simple

   Dans le format simple (-m), chaque périphérique est décris sur une seule ligne, qui est formatté comme paramètres utilisable par un script. Certains arguments sont positionnels: slot, class, vendor name, device name, subsystem vendor et subsystem name. Le reste des arguments sont:

        -rrev numéro de révision
        -pprogif interface de programmation

   L'ordre relatif des arguments positionnels et options est indéfinis.

Format verbeux

   le format verbeux (-vmm) est une séquence d'enregistrements séparés par des lignes blanches. Chaque enregistrement décris un périphérique par une séquence de lignes, chaque ligne contenant un paire tag: value Les tags sont sensibles à la casse. Les tags suivants sont définis:

        Slot Le nom du slot où le périphérique réside ([domain:]bus:device.function). C'est toujours le premier enregistrement
        Class Nom de la classe
        Vendor Nom du vendeur
        Device Mon du périphérique
        SVendor Nom du vendeur du sous-système
        SDevice Mon du sous-système
        PhySlot Le slot physique où réside le périphérique
        Rev Numéro de révision
        ProgIf Interface de programmation
        Driver Pilote actuellement utilisé
        Module Modules kernel capables de gérér ce périphérique

Format verbeux compatible

   (-vm) Dans ce mode, lspci tente d'être compatible avec ses anciennes versions.

Fichiers

/usr/share/misc/pci.ids Liste d'ID PCI connus, maintenus à http://pciids.sourceforge.net/. utiliser update-pciids pour le metter à jours
/usr/share/misc/pci.ids.gz Si compilé avec le support de la compression, ce fichier est tenté avant pci.ids
~/.pciids-cache Tous les ID trouvés via les requêtes DNS.
^
15 juin 2013

htmlpdflatexmanmd




lssubsys

lssubsys

Liste les hiérarchies contenant le sous-système donné

OPTIONS

controller Définis le sous-système dont la hiérarchie est affichée.
-m, --mount-points Affiche les points de montage. seul le premier point de montage des hiérarchies sont affichées
-M, --all-mount-points Affiche tous les points de montage
-a, --all Affiche tous les sous-systèmes, incluant ceux non montés
-i, --hierarchies Affiche le nombre de hiérarchie attachées si le sous-système est dans une hiérarchie
^
21 mars 2014

htmlpdflatexmanmd




lsusb

lsusb

Utilitaire pour afficher les informations sur les bus USB dans le système et les périphériques connectés

OPTIONS

-v, --verbose mode verbeux
-s [[bus]:][devnum] Affiche uniquement les périphériques sur le bus spécifié et/ou le devnum, donnés en décimal
-d [vendor]:[product] Affiche seulement les périphériques avec le vendor ID et le product ID, donnés en hexa
-D device Ne scanne pas /dev/bus/usb, mais affiche uniquement les informations sur le périphérique dont le fichier est donné. (devrait être sous la forme /dev/bus/usb/001/001)
-t Dump l'arborescence des périphériques USB.

Fichiers

var/lib/usbutils/usb.ids Une liste de tous le ID de périphériques connus (vendeurs, produits, classes, sous-classes et protocoles)
^
22 mars 2016

htmlpdflatexmanmd




luksformat

luksformat

Créé et format un périphérique LUKS

   luksformat est un wrapper autour de cryptsetup et mkfs qui fournis une interface simple pour créer un périphérique chiffré qui suis le standard LUKS et pour placer un système de fichier dans le périphérique chiffré. Le système de fichier par défaut est vfat vu qu'il est plus commun sur les périphérique amovibles.

syntaxe:
luksformat [-t fstype] device [mkfs_options]

^
30 juin 2013

htmlpdflatexmanmd




lxc

lxc

Présentation

Les options suivantes doivent être présentes dans le kernel:
    * General setup
    * Control Group support
-› Namespace cgroup subsystem
-› Freezer cgroup subsystem
-› Cpuset support
-› Simple CPU accounting cgroup subsystem
-› Resource counters
-› Memory resource controllers for Control Groups
    * Group CPU scheduler
-› Basis for grouping tasks (Control Groups)
    * Namespaces support
-› UTS namespace
-› IPC namespace
-› User namespace
-› Pid namespace
-› Network namespace
    * Device Drivers
    * Character devices
-› Support multiple instances of devpts
    * Network device support
-› MAC-VLAN support
-› Virtual ethernet pair device
    * Networking
    * Networking options
-› 802.1d Ethernet Bridging
    * Security options
-› File POSIX Capabilities

Spécifications

   Un conteneur est un objet où la configuration est persistante. L'application est lancée dans ce conteneur et va utiliser cette configuration. Quand un processus est lancé, le conteneur est lancé. Quand le dernier processus dans le conteneur se termine, le conteneur est stoppé. Le conteneur peut être volatile, c'est à dire créé directement avec un fichier de configuration.
^
28 novembre 2016

htmlpdflatexmanmd




lxc-2.0.5

lxc-2.0.5

Présentation

Les options suivantes doivent être présentes dans le kernel:
    * General setup
    * Control Group support
-› Namespace cgroup subsystem
-› Freezer cgroup subsystem
-› Cpuset support
-› Simple CPU accounting cgroup subsystem
-› Resource counters
-› Memory resource controllers for Control Groups
    * Group CPU scheduler
-› Basis for grouping tasks (Control Groups)
    * Namespaces support
-› UTS namespace
-› IPC namespace
-› User namespace
-› Pid namespace
-› Network namespace
    * Device Drivers
    * Character devices
-› Support multiple instances of devpts
    * Network device support
-› MAC-VLAN support
-› Virtual ethernet pair device
    * Networking
    * Networking options
-› 802.1d Ethernet Bridging
    * Security options
-› File POSIX Capabilities
Les options suivantes doivent être présentes dans le kernel:
    * General setup
    * Control Group support
-› Namespace cgroup subsystem
-› Freezer cgroup subsystem
-› Cpuset support
-› Simple CPU accounting cgroup subsystem
-› Resource counters
-› Memory resource controllers for Control Groups
    * Group CPU scheduler
-› Basis for grouping tasks (Control Groups)
    * Namespaces support
-› UTS namespace
-› IPC namespace
-› User namespace
-› Pid namespace
-› Network namespace
    * Device Drivers
    * Character devices
-› Support multiple instances of devpts
    * Network device support
-› MAC-VLAN support
-› Virtual ethernet pair device
    * Networking
    * Networking options
-› 802.1d Ethernet Bridging
    * Security options
-› File POSIX Capabilities

Spécifications

   Un conteneur est un objet isolant des ressources de l'hôte. L'application/système est lancé dans un conteneur spécifié par une configuration qui est soit initialement créé ou passé en paramètres.
^
14 octobre 2014

htmlpdflatexmanmd




lxc-attach

lxc-attach

Lance un processus dans un conteneur en cours d'exécution

OPTIONS

-a, --arch Spécifie l'architecture. Accèpte les même paramètres que l'option lxc.arch.
-e, --elevated-privileges Ne supprime pas les privilège en exécutant la commande dans le conteneur. Le nouveau processus ne sera pas ajouté au cgroup du conteneur et ses capabilities ne seront pas supprimé avant l'exécution.
-s, --namespaces Spécifie l'espace de nom à attacher, en liste pipé, ex: NETWORK|IPC. MOUNT, PID, UTSNAME, IPC, USER, NETWORK. Implique -e
-R, --remount-sys-proc$ force à remonter /proc et /sys pour refléter les contextes d'espace de nom courant.
--keep-env Conserve l'environnement courant pour les programmes attachés. Mode par défaut, mais va changer dans le future à cause de fuites d'informations dans le conteneur.
--clear-env Efface l'environnement avant d'attacher.
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Pour ajouter un nouveau shell dans un conteneur existant:
lxc-attach -n container
Pour redémarrer le service cron d'un container existant:
lxc-attach -n container -- /etc/init.d/cron restart
Désactiver eth1 d'un conteneur qui n'a pas la capability NET_ADMIN:
lxc-attach -n container -e -- /sbin/ip link delete eth1
ou utiliser -s pour utiliser les outils installés sur l'hôte en dehors du conteneur:
lxc-attach -n container -s NETWORK -- /sbin/ip link delete eth1
^
25 novembre 2016

htmlpdflatexmanmd




lxc-attach-2.0.5

lxc-attach-2.0.5

Lance un processus dans un conteneur en cours d'exécution

OPTIONS

-f, --rcfile config_file Spécifie le fichier de configuration pour configurer la virtualisation et l'isolation pour le conteneur.
-a, --arch Spécifie l'architecture. Accèpte les même paramètres que l'option lxc.arch.
-e, --elevated-privileges Ne supprime pas les privilège en exécutant la commande dans le conteneur. Le nouveau processus ne sera pas ajouté au cgroup du conteneur et ses capabilities ne seront pas supprimé avant l'exécution. Les privilèges sont séparés par un |. Accèpte CGROUP, CAP et LSM.
-s, --namespaces Spécifie l'espace de nom à attacher, en liste pipé, ex: NETWORK|IPC. MOUNT, PID, UTSNAME, IPC, USER, NETWORK. Implique -e
-R, --remount-sys-proc force à remonter /proc et /sys pour refléter les contextes d'espace de nom courant.
--keep-env Conserve l'environnement courant pour les programmes attachés. Mode par défaut, mais va changer dans le future à cause de fuites d'informations dans le conteneur.
--clear-env Efface l'environnement avant d'attacher.
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
25 novembre 2016

htmlpdflatexmanmd




lxc-autostart-2.0.5

lxc-autostart-2.0.5

démarrer/stopper/tuer des conteneur auto-démarrés

   lxc-autostart traite les conteneur avec lxc.start.auto définis. Il permet à l'utilisateur de démarrer et d'arrêter ces conteneurs dans le bon ordre, attendant le bon moment. Il supporte le filtrage par lxc.cgroup ou simplement lancer tous les conteneurs définis. Il peut également être utilisé par des outils externe en mode list où aucune action n'est effectuée et affiche la liste des conteneurs affectés.

OPTIONS

-r, --reboot Reboot du conteneur
-s, --shutdown Stoppe le conteneur
-k, --kill Tue toutes les tâches dans le conteneur
-L, --list Affiche seulement le nom du conteneur au lieu d'effectuer l'action.
-t, --timeout TIMEOUT Attend TIMEOUT secondes avant de stopper/démarrer le conteneur
-g, --group GROUP Liste des groupes à sélectionner. Peut être spécifié plusieurs fois.
-a, --all Ignore lxc.group et sélectionne tous les conteneurs auto-démarrés
-A, --ignore-auto Ignore le flag lxc.start.auto. Combiné avec -a, sélectionne tous les conteneurs dans le système.

Autostart et boot système

   La commande lxc-autostart fait partie du service LXC. Autorisé à lancer des hôtes au démarrage, il est utilisé pour sélectionner les conteneurs à démarrer dans l'ordre et le délai entre chaque démarrage quand l'hôte boot.

   Chaque conteneur peut faire partie d'un ou plusieurs groupes, ou aucun. 2 groupes sont spéciaux. 1 est le groupe NULL. L'autre est le groupe "onboot"

   Quand le système boot avec lxc, il tente d'abord de booter tous les conteneur avec lxc.start.auto == 1 qui est un membre du groupe onboot. Le démarrage dans l'ordre de lxc.start.order. Si un lxc.start.delay est spécifié il est honoré avant de démarrer le prochain conteneur. Une fois les membres du groupe onboot démarrés, le système lxc lance les conteneurs avec lxc.start.auto == 1 mais non membre du groupe onboot.

Exemple de démarrage

Démarre le groupe onboot en premier, puis le groupe NULL
-g "onboot,"
Démarre le groupe DNS, puis web, puis NULL, suivis par onboot:
-g "dns,web,,onboot"
^
14 octobre 2014

htmlpdflatexmanmd




lxc-cgroup

lxc-cgroup

Gère le cgroup associé avec un conteneur

OPTIONS

state-object Spécifie le state object name
[value] Spécifie la valeur à assigner au state-object
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Afficher les périphériques permis:
lxc-cgroup -n foo devices.list
Assigner les processeurs 0 et 3 au conteneur:
lxc-cgroup -n foo cpuset.cpus "0,3"
^
25 novembre 2016

htmlpdflatexmanmd




lxc-cgroup-2.0.5

lxc-cgroup-2.0.5

Gère le cgroup associé avec un conteneur

OPTIONS

state-object Spécifie le state object name
[value] Spécifie la valeur à assigner au state-object
-q, --quiet mode silencieux
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
--rcfile=FILE Spécifie le fichier de configuration pour la virtualisation et l'isolation

Exemples

Afficher les périphériques permis:
lxc-cgroup -n foo devices.list
Assigner les processeurs 0 et 3 au conteneur:
lxc-cgroup -n foo cpuset.cpus "0,3"
^
25 novembre 2016

htmlpdflatexmanmd




lxc-checkconfig-2.0.5

lxc-checkconfig-2.0.5

Vérifie le support lxc dans le kernel

Exemple

Vérifie le kernel courant. CONFIG peut être définis dans l'environnement
lxc-checkconfig
^
14 octobre 2014

htmlpdflatexmanmd




lxc-checkpoint

lxc-checkpoint

Vérifie le conteneur et dump son état dans un fichier.

OPTIONS

-S, --statefile=FILE Écrit l'état du conteneur dans cet fichier. est exclusif avec --statefd
-d, --statefd=FD Écrit l'état du conteneur dans le descripteur de fichier
-k, --kill Tue le conteneur après vérification. Les processus reçoivent un SIGKILL. est exclusif avec --pause
-p, --pause Mais le conteneur en pause avec la vérification
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Démarre un nouveau conteneur 123 calculant les décimales de pi:
lxc-execute -n 123 -- pi1 -d 500000
lxc-execute --name=123 -- pi1 -d 500000
pour checkpoint ce même conteneur en mode dump-death:
lxc-checkpoint -n 123 -S /share/123/chkpt1 -k
lxc-checkpoint --name=123 --statefile=/share/123/chkpt1 -k
pour vérifier le même conteneur et le mettre en pause:
lxc-checkpoint -n 123 -S /share/123/chkpt1 -p
lxc-checkpoint --name=123 -S /share/123/chkpt1 -p
^
25 novembre 2016

htmlpdflatexmanmd




lxc-config-2.0.5

lxc-config-2.0.5

Demander la configuration système lxc

OPTIONS

-l Liste toutes les clé supportées
‹item› Requêter la valeur de la clé spécifiée
^
14 octobre 2014

htmlpdflatexmanmd




lxc-console

lxc-console

Lance une console permettant de se logger dans le conteneur

   Si le service tty a été configuré et est disponible pour le conteneur spécifié comme paramètre, cette commande va lancer une console permettant de se logger dans le conteneur.

OPTIONS

[escape character] Spécifie le préfixe de séquence d'échappement à utiliser au lieu de ‹ctrl a›.
-t [ttynum] Spécifie le tty à utiliser
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
25 novembre 2016

htmlpdflatexmanmd




lxc-console-2.0.5

lxc-console-2.0.5

Lance une console permettant de se logger dans le conteneur

   Si le service tty a été configuré et est disponible pour le conteneur spécifié comme paramètre, cette commande va lancer une console permettant de se logger dans le conteneur.

OPTIONS

[escape character] Spécifie le préfixe de séquence d'échappement à utiliser au lieu de ‹ctrl a›.
-t [ttynum] Spécifie le tty à utiliser
-q, --quiet mode silencieux
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
^
25 novembre 2016

htmlpdflatexmanmd




lxc-copy-2.0.5

lxc-copy-2.0.5

Copie un conteneur existant

   lxc-copy créé et optionnellement démarre des copies de conteneurs existants. Il remplace lxc-clone et lxc-start-ephemeral. Les copies peuvent être des clones complets, dans ce cas tout le système de fichier du conteneur est simplement copié dans le nouveau conteneur. La copie peut également être un snapshot, par exemple une copie COW du conteneur original. Dans ce cas, le stockage doit supporter les snapshots (aufs, btrfs, lvm et zfs).

   si -e est spécifié un snapshot éphémère du conteneur original est créé et démarré. Les conteneur éphémères sont configurés avec lxc.ephemeral = 1 et sont détruits à l'arrêt. Si -e et -D sont spécifiés, un snapshot non éphémère est créé et démarré.

   Les conteneurs créés et démarrés avec -e peuvent avoir des montages personnalisé. Il sont spécifiés pavec -m. 3 types de montages sont supportés: aufs, bind et overlay.

OPTIONS

-N, --newname newname Nom pour la copie
-p, --newpath newpath Chemin pour la copie
-R, --rename Renomme le conteneur original
-s, --snapshot Crée un snapshot du conteneur original.
-F, --foreground Lance le snapshot en foreground
-d, --daemon Lance le snapshot en tâche de fond
-m, --mount mounttype Spécifie un montage pour un snapshot avec ses options (ex: ind=/src:/dest:ro,overlay=/src:/dest)
-B, --backingstorage backingstorage Spécifie le type de stockage à utiliser (aufs, btrfs, dir, lvm, loodp, overlay, zfs)
-L, --fssize size [unit] Spécifie la taille pour un système de fichier LVM
-D, --keepdata Avec -e, un conteneur non-éphémère est créé et démarré
-K, --keepname Le hostname du conteneur original est conservé pour la copie
-M, --keepmac L'adresse MAC du conteneur original est conservé pour la copie
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Hook de copie

   Si le conteneur copié a un ou plusieurs lxc.hook.clone, les hooks spécifiés sont appelés pour le nouveau conteneur. Les 3 premiers arguments passés au hook sont le nom du conteneur, une section 'lxc' et le type de hook (clone). La variable d'environnement LXC_ROOTFS_MOUNT donne le chemin sous lequel le système de fichier root est monté. Le chemin du fichier de configuration est stocké dans LXC_SRC_NAME, et le chemin ou le périphérique dans lequel le rootfs est localisé est dans LXC_ROOTFS_PATH.
^
10 octobre 2014

htmlpdflatexmanmd




lxc-create

lxc-create

Créer un objet système où sont stockés les informations de configuration et utilisateur

   L'objet est un répertoire crée dans/var/lib/lxc et identifié par son nom.

OPTIONS

-f config_file Spécifie le fichier de configuration
-t template Raccourci vers ur scrite lxc-template.
-B backingstore vaut dir, lvm, loop, btrfs, best

        dir (défaut) signifie que le système racine du conteneur sera un répertoire sous /var/lib/lxc/container/rootfs.
        btrfs le système racine doit être btrfs, et le conteneur sera crée dans un nouveau volume. Cela permet de créer des clones
        lvm un périphérique block lvm sera utilisé et les options disponible sont --lvname --vgname --thinpool --fstype et --fssize
        best lxc tente dans l'ordre: btrfs, zfs, lvm, dir.

-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-create-2.0.5

lxc-create-2.0.5

Créer conteneur

   lxc-create créé un objet système où sont stockés les informations de configuration et où peuvent être stockés les informations utilisateur. Le nom est utilisé pour spécifier le conteneur à utiliser avec les différentes commandes LXC. L'objet est un répertoire crée dans/var/lib/lxc et identifié par son nom.

OPTIONS

-f config_file Spécifie le fichier de configuration
-t template Raccourci vers un script lxc-template.
-B backingstore dir, lvm, loop, btrfs, zfs, rbd, ou best

        dir (défaut) signifie que le système racine du conteneur sera un répertoire sous /var/lib/lxc/container/rootfs.
        btrfs le système racine doit être btrfs, et le conteneur sera crée dans un nouveau volume. Cela permet de créer des clones
        lvm un périphérique block lvm sera utilisé et les options disponible sont --lvname --vgname --thinpool --fstype et --fssize
        best lxc tente dans l'ordre: btrfs, zfs, lvm, dir.

-- template-options Passe des options au template. voir lxc-create -t TEMPLATE -h
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
10 octobre 2014

htmlpdflatexmanmd




lxc-destroy

lxc-destroy

Supprimer un conteneur

OPTIONS

-f Si un conteneur est un cour de fonctionnement, l'arrête avant.
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
^
28 novembre 2016

htmlpdflatexmanmd




lxc-destroy-2.0.5

lxc-destroy-2.0.5

Supprimer un conteneur

OPTIONS

-f Si un conteneur est un cour de fonctionnement, l'arrête avant.
-s, --snapshots Détruit le conteneur spécifié incluant tous ses snapshots
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
25 novembre 2016

htmlpdflatexmanmd




lxc-device-2.0.5

lxc-device-2.0.5

Gère les périphériques des conteneurs en cours d'exécution

OPTIONS

-n, --name=NAME Nom du conteneur
‹action› Type d'action à effectuer, seul 'add' est actuellement supporté
‹DEVICE› Périphérique à ajouter
[NAME] Nom pour le périphérique dans le conteneur

Exemples

Créer /dev/video0 dans le conteneur p1
lxc-device -n p1 add /dev/video0
Place eth0 de l'hôte en tant que eth1 dans p1
lxc-device -n p1 add eth0 eth1
^
11 octobre 2014

htmlpdflatexmanmd




lxc-execute

lxc-execute

Lance une application dans un conteneur via un processus intermédiaire lxc-init qui aura le pid 1. lxc-init est conçu pour forwarder les signaux à la commande lancée.

OPTIONS

-f, --rcfile config_file Spécifie le fichier de configuration pour le conteneur
-s, --define KEY=VAL Permet d'assigner des variables supplémentaires
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-execute-2.0.5

lxc-execute-2.0.5

Lance une application dans un conteneur via un processus intermédiaire lxc-init qui aura le pid 1. lxc-init est conçu pour forwarder les signaux à la commande lancée.

OPTIONS

-f, --rcfile config_file Spécifie le fichier de configuration pour le conteneur
-s, --define KEY=VAL Permet d'assigner des variables supplémentaires
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
10 octobre 2014

htmlpdflatexmanmd




lxc-freeze

lxc-freeze

Met en pause les processus d'un conteneur

OPTIONS

-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-freeze-2.0.5

lxc-freeze-2.0.5

Met en pause les processus d'un conteneur

OPTIONS

-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
14 octobre 2014

htmlpdflatexmanmd




lxc-halt

lxc-halt

Arrête un conteneur sans terminer les processus. Fournis un switch au runlevel 0 dans le conteneur

OPTIONS

CONTAINER Spécifie le conteneur.
^
25 novembre 2016

htmlpdflatexmanmd




lxc-info-2.0.5

lxc-info-2.0.5

Demande des informations sur un conteneur

OPTIONS

-c, --config KEY Affiche une clé de configuration d'un conteneur. Peut être spécifié plusieurs fois
-s, --state Affiche simplement l'état du conteneur
-p, --pid Affiche simplement le pid du conteneur
-i, --ips Affiche simplement les adresses IP du conteneur
-S, --stats Affiche des statistiques du conteneur. Noter que pour des raisons de performances le kernel ne comptabilise pas la mémoire sauf si une limite est définie (ex: lxc.cgroup.memory.kmem.limit_in_bytes = number)
-H, --no-humanize Affiche les statistiques en brut.
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Exemples

Afficher les informations pour foo
lxc-info -n foo
Afficher les informations pour tous les conteneurs dont le nom commence par ubuntu
lxc-info -n 'ubuntu*'
Afficher la paire veth de foo
lxc-info -n foo -c lxc.network.0.veth.pair
^
11 octobre 2014

htmlpdflatexmanmd




lxc-kill

lxc-kill

Envoie un signal au process 1 du conteneur. si utilisé sur une application lancée par lxc-execute, lxc-init le forward au pid 2

OPTIONS

--name=NAME SIGNUM Envoie SIGNUM au premier processus du conteneur
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

envoie le signal 26 au process pi1 dans le conteneur 123:
lxc-execute -n 123 -- pi1 -d 500000
lxc-kill --name=123 26
^
14 octobre 2014

htmlpdflatexmanmd




lxc-ls

lxc-ls

Lister les conteneurs existant sur le système

OPTIONS

-# Affiche une entrée par ligne (défaut quand /dev/stdout n'est pas un tty)
--active Liste uniquement les conteneurs actifs (idem à --frozen --running)
--frozen Liste seulement les conteneurs gelés
--running Liste seulement les conteneurs en cours de fonctionnement
--stopped Liste seulement les conteneurs stoppés
-f, --fancy Utilise une sortie fantaisie, en colonnes
-F, --fancy-format Liste séparé par des "," de colonnes à afficher dans la sortie fancy. La liste des champs accèpté est: name, state, ipv4, ipv6, autostart, pid, memory, ram, swap
--nesting Affiche les conteneurs imbriqués
filter (regex) Le filtre spécifié sera appliqué au nom du conteneur.

Exemples

Liste tous les conteneurs, un par ligne avec nom, état, adresse ipv4 et ipv6
lxc-ls --fancy
Lister tous les conteneurs actifs et affiche la liste dans une colonne
lxc-ls --active -1
^
25 novembre 2016

htmlpdflatexmanmd




lxc-ls-2.0.5

lxc-ls-2.0.5

Lister les conteneurs existant sur le système

OPTIONS

-1 Affiche une entrée par ligne (défaut quand la sortie n'est pas a tty)
--active Liste seulement les conteneur actifs (idem à --frozen --running)
--frozen Liste seulement les conteneurs gelés
--running Liste seulement les conteneurs en cours de fonctionnement
--stopped Liste seulement les conteneurs stoppés
-f, --fancy Utilise une sortie fantaisie, en colonnes
-F, --fancy-format Liste séparé par des "," de colonnes à afficher dans la sortie fancy. voir avec --help
-g, --groups groups Liste de groupes que le conteneur doit avoir pour être affichés
--nesting=NUM Affiche les conteneurs imbriqués. Le niveau d'imbrication à afficher peut être spécifié
--filter=regex L'expression est appliquée au nom du conteneur
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Exemples

Liste tous les conteneurs, un par ligne avec nom, état, adresse ipv4 et ipv6
lxc-ls --fancy
Lister tous les conteneurs actifs et affiche la liste dans une colonne
lxc-ls --active -1
^
14 octobre 2014

htmlpdflatexmanmd




lxc-monitor

lxc-monitor

Supervise l'état des conteneurs spécifiques

OPTIONS

-Q, --quit quitte immédiatement s'il n'a pas de client au lieu d'attendre 30 secondes
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Superviser les états du conteneur foo
lxc-monitor -n foo
Superviser les états des conteneurs foo et bar
lxc-monitor -n 'foo|bar'
Superviser les états des conteneurs dont le nom commence avec 'f' ou 'b'
lxc-monitor -n '[f|b].*'
Superviser les états de tous les conteneurs
lxc-monitor -n '.*'
^
25 novembre 2016

htmlpdflatexmanmd




lxc-monitor-2.0.5

lxc-monitor-2.0.5

Supervise l'état des conteneurs spécifiques

OPTIONS

-Q, --quit Demande à lxc-monitord dans chaque lxcpath de quitter.lxc-monitord quitte immédiatement s'il n'a pas de client au lieu d'attendre 30 secondes
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Exemples

Superviser les états du conteneur foo
lxc-monitor -n foo
Superviser les états des conteneurs foo et bar
lxc-monitor -n 'foo|bar'
Superviser les états des conteneurs dont le nom commence avec 'f' ou 'b'
lxc-monitor -n '[f|b].*'
Superviser les états de tous les conteneurs
lxc-monitor -n '.*'
^
14 octobre 2014

htmlpdflatexmanmd




lxc-ps

lxc-ps

Liste les processus appartenant à un conteneur spécifique

OPTIONS

--name NAME spécifie le nom du conteneur pour limiter la sortie
--lxc Limite la sortie au processus appartenant à tous le conteneur lxc
ps_options l'option est passée à la commande ps
^
10 octobre 2014

htmlpdflatexmanmd




lxc-restart

lxc-restart

Redémarre un conteneur depuis un fichier.

OPTIONS

-S, --state-file=FILE Lit l'état du conteneur dans le fichier
-d, --statefd=FD Lit l'état du conteneur dans le descripteur de fichier
-p Met le conteneur en pause après l'avoir redémarré
-f, --rcfile=config_file Spécifie le fichier de configuration pour l'isolation du conteneur.
-s KEY=VAL Assigne la valeur VAL à la variable KEY.
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Démarre un nouveau conteneur 123 calculant les décimales de pi:
lxc-execute -n 123 -- pi1 -d 500000
lxc-execute --name=123 -- pi1 -d 500000
pour checkpoint ce même conteneur en mode dump-death:
lxc-checkpoint -n 123 -S /share/123/chkpt1 -k
lxc-checkpoint --name=123 --statefile=/share/123/chkpt1 -k
Et pour le redémarrer avec un id différent:
lxc-restart -n 200 -S /share/123/chkpt1
lxc-restart --name=200 --statefile=/share/123/chkpt1
^
25 novembre 2016

htmlpdflatexmanmd




lxc-snapshot-2.0.5

lxc-snapshot-2.0.5

Snapshot un conteneur

   Les snapshots sont stockés comme conteneur snapshot sous le chemin de configuration du conteneur.

OPTIONS

-c, --comment comment-file Associe le commentaire dans le fichier spécifié avec le snapshot
-d, --destroy snapshot-name Détruit le snapshot nommé. 'ALL' détruit tous les snapshots
-L, --list Liste les snapshots existants
-C, --showcomments Affiche les commentaires dans la liste des snapshots
-r, --restore snapshot-name Restaure un snapshot, signifiant la création d'un nouveau conteneur complet, qui est une copie du snapshot
-N, --newname En restaurant un snapshot, le dernier argument optionnel si non spécifié via --newname, est le nom à utiliser pour le conteneur restauré. Si ce nom est identique au nom original du conteneur, le conteneur original sera détruit et le conteneur restauré le remplacera. Noter que supprimer le snapshot original n'est pas possible avec aufs, overlayfs ou zfs.
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
11 octobre 2014

htmlpdflatexmanmd




lxc-start

lxc-start

Lance une application dans un conteneur. Les processus et groupes de processus orphelin ne sont pas supportés avec cette commande, utiliser lxc-execute à la place.

OPTIONS

-d, --daemon Lance en tâche de fond
-p, --pidfile Crée un fichier avec le process id spécifié
-f, --rcfile config_file Fichier de Configuration pour le conteneur
-c, --console console-device spécifie un device à utiliser pour la console du conteneur, ex. /dev/tty8. Par défaut, utilise le terminal courant.
-L, --console-log console-logfile Spécifie un fichier pour logger la sortie de la console du conteneur.
-s, --define KEY=VAL Permet d'assigner des variables supplémentaires
-c, --close-all-fds Si un des descripteurs de fichier est hérité, le ferme. -d implique -c
--share-net name|pid hérite un espace de nom réseau. Il continuera d'être géré pas son propriétaire original. La configuration réseau dans ce conteneur est ignorée et les scripts up/down ne sont pas exécutés.
--share-ipc name|pid Hérite d'un espace de nom IPC
--share-uts name|pid Hérite d'un espace de nom UTS
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-start-2.0.5

lxc-start-2.0.5

Lance une application dans un conteneur

OPTIONS

-d, --daemon Lance en tâche de fond
-F, --foreground Ne lance pas en tâche de fond
-p, --pidfile Crée un fichier avec le process id
-f, --rcfile config_file Fichier de Configuration pour le conteneur
-c, --console console-device spécifie un device à utiliser pour la console du conteneur, ex. /dev/tty8. Par défaut, utilise le terminal courant.
-L, --console-log console-logfile Spécifie un fichier pour logger la sortie de la console du conteneur.
-s, --define KEY=VAL Permet d'assigner des variables supplémentaires
-C, --close-all-fds Si un descripteur de fichier est hérité, le ferme. -d implique -c
--share-net name|pid hérite un espace de nom réseau. Il continuera d'être géré pas son propriétaire original. La configuration réseau dans ce conteneur est ignorée et les scripts up/down ne sont pas exécutés.
--share-ipc name|pid Hérite d'un espace de nom IPC
--share-uts name|pid Hérite d'un espace de nom UTS
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
11 octobre 2014

htmlpdflatexmanmd




lxc-stop

lxc-stop

Arrêter une application dans un conteneur

OPTIONS

-r, --reboot Redémarre de conteneur
-k, --kill Tue toutes les tâches dans le conteneur au lieu de les terminer proprement
--nokill termine les tâches proprement, mais ne détruit pas le conteneur
--nolock Évite l'utilisation d'un lxc locking, et devrait être utilisé seulement si lxc-stop est bloqué à cause d'un mauvais état système.
-W, --nowait effectue l'action demandé et quitte
-t, --timeout TIMEOUT attend TIMEOUT secondes avec de détruit brutalement le conteneur

Codes de sortie

0 Le conteneur a été stoppé avec succès
1 Un erreur s'est produite en stoppant le conteneur
2 Le conteneur spécifié existe mais n'est pas en cours de fonctionnement
^
28 novembre 2016

htmlpdflatexmanmd




lxc-stop-2.0.5

lxc-stop-2.0.5

Arrêter une application dans un conteneur

   lxc-stop reboot, éteind proprement, ou tue tous les processus dans le conteneur. Par défaut il tente d'éteindre le conteneur en envoyant le signal lxc.haltsignal (SIGPWR par défaut) au processus init du conteneur, attend 60 secondes, et quitte si le conteneur s'est arrêté, ou envoie lxc.stopsignal (SIGKILL par défaut) pour forcer l'extinction. Un reboot envoien un lxc.rebootsignal (SIGINT par défaut).

OPTIONS

-r, --reboot Redémarre de conteneur
-k, --kill Tue toutes les tâches dans le conteneur au lieu de les terminer proprement
--nokill termine les tâches proprement, mais ne détruit pas le conteneur si l'arrêt a échoué
--nolock Évite l'utilisation d'un lxc locking, et devrait être utilisé seulement si lxc-stop est bloqué à cause d'un mauvais état système.
-W, --nowait effectue l'action demandé et quitte
-t, --timeout TIMEOUT attend TIMEOUT secondes avec de détruit brutalement le conteneur

Codes de sortie

0 Le conteneur a été stoppé avec succès
1 Un erreur s'est produite en stoppant le conteneur
2 Le conteneur spécifié existe mais n'est pas en cours de fonctionnement
^
10 octobre 2014

htmlpdflatexmanmd




lxc-unfreeze

lxc-unfreeze

Résume les processus d’un conteneur

OPTIONS

-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-unfreeze-2.0.5

lxc-unfreeze-2.0.5

Résume les processus d’un conteneur

OPTIONS

-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
25 novembre 2016

htmlpdflatexmanmd




lxc-unshare-2.0.5

lxc-unshare-2.0.5

Lance un tâche dans un nouveau jeu d'espaces de noms

   lxc-unshare permet de lancer une tâche dans un jeu d'espaces de noms clonés. Principalement utilisé pour des tests. En dépit de son nom, il utilise toujours un clone au lieu de départager la nouvelle tâche avec les nouveaux namespaces.

OPTIONS

-s namespaces Spécifie les espaces de nom à attacher en liste séparé par un pipe. MOUNT, PID, UTSNAME, IPC, USER et NETWORK.
-u user Spécifie un userid pour la nouvelle tâche
-H hostname Définis le hostname dans le nouveau conteneur. Uniquement avec UTSNAME
-i interfacename Place l'interface nommée dans le conteneur. Seulement avec NETWORK
-d Met en tâche de fond
-M Monte les système de fichier par défaut (/proc, /dev/shm et /dev/mqueue) dans le conteneur. Seulement avec MOUNT

Exemples

Lancer un nouveau shell avec sont propre UTSNAME
lxc-unshare -s UTSNAME /bin/bash
Lancer un shell dans un nouvel espace réseau, pid et mount
lxc-unshare -s "NETWORK|PID|MOUNT" /bin/bash
Avec 2 interfaces réseaux (lo et veth1) et le hostname 'slave'
lxc-unshare -s "NETWORK|PID|MOUNT|UTSNAME" -M -H slave -i veth1 /bin/bash
^
25 novembre 2016

htmlpdflatexmanmd




lxc-user-nic-2.0.5

lxc-user-nic-2.0.5

Créer et attacher un nic à un autre namespace network

   lxc-user-nic est un setuid-root programme avec lequel les utilisateurs peuvent créer des interfaces réseau à utiliser par un conteneur lxc. Il consulte /etc/lxc/lxc-usernet pour déterminer le nombre d'interfaces l'utilisateur est autorisé à créer, et quel bridge peut être attaché. Il conserve le nombre d'interface dans /run/lxc/nics.

OPTIONS

pid pid pour la tâche dont
type Type d'interface réseau à attacher. Actuellement seul veth est supporté.
bridge Bridge auquel attacher l'interface
nicname nom de l'interface réseau
^
25 novembre 2016

htmlpdflatexmanmd




lxc-usernsexec-2.0.5

lxc-usernsexec-2.0.5

Lancer une tâche en root dans un nouvel espace de nom utilisateur

OPTIONS

-m uid-map uid map à utiliser dans l'espace de nom utilisation. Chaque map consiste en 4 valeur séparés par ':'. 1) le caractère u, g ou b (both), 2) userid, 3)userid vu dans l'hôte. 4) nombre d'id à mapper.

Exemples

lancer un shell avec des sous uid mappé dans le conteneur:
lxc-usernsexec
Lancer un shell autre que /bin/sh
lxc-usernsexec -- /bin/bash
map l'uid 1000 en 0, et root en 190000
lxc-usernsexec -m b:0:1000:1 -m b:1:190000:1 -- /bin/chown 1:1 $file
^
11 octobre 2014

htmlpdflatexmanmd




lxc-wait

lxc-wait

Attend un état de conteneur spécifique avant de se terminer

OPTIONS

-s states Spécifier l’état du conteneur
-t timeout attend timeout secondes pour l'état désiré
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Quitte quand RUNNING est atteind:
lxc-wait -n foo -s RUNNING
Quitte quand RUNNING ou STOPPED est atteind:
lxc-wait -n foo -s 'RUNNING|STOPPED'
^
28 novembre 2016

htmlpdflatexmanmd




lxc-wait-2.0.5

lxc-wait-2.0.5

Attend un état de conteneur spécifique avant de se terminer

OPTIONS

-s states Spécifier l’état du conteneur
-t timeout attend timeout secondes pour l'état désiré
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Exemples

Quitte quand RUNNING est atteind:
lxc-wait -n foo -s RUNNING
Quitte quand RUNNING ou STOPPED est atteind:
lxc-wait -n foo -s 'RUNNING|STOPPED'
^
25 novembre 2016

htmlpdflatexmanmd




lxc.conf-2.0.5

lxc.conf-2.0.5

Fichiers de configuration pour LXC

   La configuration du conteneur est maintenu dans le config stocké dans le répertoire du conteneur. Une configuration de base est générée à la création du conteneur avec des valeurs par défaut recommandée depuis le template choisis, plus d'autres venant du fichier /etc/lxc/default.conf ou ~/.config/lxc/default.conf pour les conteneurs non privilégiés.

Configuration système

   La configuration système est utilisée pour définir des valeurs tels que les chemins de recherche et les paramètres de stockage pour LXC.
^
25 novembre 2016

htmlpdflatexmanmd




lxc.container.conf-2.0.5

lxc.container.conf-2.0.5

Fichiers de configuration de conteneur pour LXC

   Les conteneurs linux sont toujours créé avant être utilisés. Cette création définis un jeu de ressources système à virtualiser/isoler quand un processus utilise le conteneur. Par défaut, les pid, sysv ipc et points de montage sont virtualisés et isolés. Les autres ressources système sont partagées entre les conteneurs, tant qu'ils sont explicitement définis dans la configuration.

Configuration

lxc.include Spécifie un fichier de configuration à inclure
lxc.arch Autoriser un jeu d'architectures pour le conteneur, par exemple lancer des binaires 32bits dans un hôte 64bits
lxc.utsname Spécifie le hostname pour le conteneur
lxc.haltsignal Spécifie un signal utilisé pour arrêter le conteneur (utilisé par lxc-stop) Défaut: SIGPWR
lxc.rebootsignal Spécifie un signal utilisé pour redémarrer le conteneur (utilisé par lxc-stop) Défaut: SIGINT
lxc.stopsignal Spécifie un signal utilisé pour stopper le conteneur (utilisé par lxc-stop) Défaut: SIGKILL
lxc.init_cmd Chemin absolu dans le rootfs du conteneur du binaire à utiliser comme init. Défaut: /sbin/init
lxc.init_uid UID à utiliser dans un namespace user pour init. Défaut: 0
lxc.init_gid GID à utiliser dans un namespace user pour init. Défaut: 0
lxc.ephemeral (bool) Spécifie si un conteneur est détruit à l'arrêt
lxc.network Peut être utilisé sans valeur pour supprimer toutes valeurs précédentes.
lxc.network.type Spécifie le type de réseau à utiliser pour le conteneur. Chaque fois qu'un lxc.network.type est trouvé, une nouvelle configuration réseau commence et permet de définir plusieurs types de réseaux:

        none Le conteneur partage l'espace réseau de l'hôte
        empty Ne créé que l'interface loopback
        veth Créé une paire ethernet virtuel, dont la partie dans l'hôte est attaché à un bridge.
        vlan interface vlan lié avec l'interface
        macvlan lie une interface macvlan
        phys Une interface déjà existante est assignée au conteneur

lxc.network.vlan.id Pour le type vlan, indique le numéro du vlan
lxc.network.flags Àction à prendre pour le réseau (up=active l'interface)
lxc.network.link Spécifie l'interface à utiliser pour le trafic réseau réel (type phys ou macvlan)
lxc.network.mtu mtu max pour cette interface
lxc.network.name Nom de l'interface
lxc.network.hwaddr Adresse mac pour l'interface virtuelle
lxc.network.ipv4 IPv4 de l'interface
lxc.network.ipv4.gateway passerelle de l'interface
lxc.network.ipv6 IPv6 pour l'interface
lxc.network.ipv6.gateway Passerelle ipv6 pour l'interface
lxc.network.script.up script à exécuter après la création/configuration de l'interface (côté hôte).
lxc.network.script.down script à exécuter après la avant de détruire l'interface (côté hôte).
lxc.pts Si définis, le conteneur aura une nouvelle instance de pseudo tty. La valeur spécifie le nombre de tty permis.
lxc.console.logfile Chemin vers un fichier où la sortie de la console est écrite
lxc.console Chemin vers un périphérique auquel la console est attachée. Option dangereuse.
lxc.tty Spécifie le nombre de tty à rendre disponible dans le conteneur
lxc.devttydir Spécifie un répertoire sous /dev sous lequel créer les périphériques de console du conteneur. les pty Unix98 sont créés sur l'hôte et lié dans les périphériques attendus dans le conteneur. Par défaut, il sont liés sur /dev/console et /dev/ttyN. Cela peut empêcher des misesà jours. En changeant d'emplacement sous /dev, ils seront liés symboliquement.
lxc.autodev Par défaut lxc ne créé que quelques liens symboliques dans /dev du conteneur (fd,stdin,stdout,stderr) ais ne créé pas automatiquement les entrées de périphérique. À 1, lxc monte un nouveau tmpfs sous /dev (limité à 500k) et définis les périphériques minimum requis. À 0, empêche de monter et remplir /dev
lxc.kmsg Active /dev/kmrsg comme lien vers /dev/console. Défaut: 0
lxc.mount Les points de montage sont privés au conteneur. Spécifie l'emplacement d'un fichier fstab contenant les informations de montage.
lxc.mount.entry Spécifie un point de montage correspondant à une ligne dans le fichier fstab
lxc.mount.auto Spécifie quels systèmes de fichiers kernel devraient être automatiquement montés:

        proc:mixed /proc est monté en rw, mais /proc/sys et /proc/sysrq-trigger sont montés en ro
        proc:rw /proc est monté en rw
        sys:mixed /sys en ro, /sys/devices/virtual/net en rw
        sys:ro monté en ro
        sys:rw monté en rw
        cgroup:mixed Monte un tmpfs sous /sys/fs/cgroup, créé les répertoires pour toutes les hiérarchies auquel le conteneur est ajouté, créé les sous-répertoires avec le nom du cgroup, et mount le cgroup du conteneur dans ce répertoire. Le conteneur sera capable d'écrire dans son propre cgroup mais pas les parents, vu qu'ils sont remontés en ro
        cgroup:ro tout en ro
        group:rw en rw
        cgroup-full:mixed Un peu plus simplifié que cgroup:mixed, peut laisser fuiter des information dans le conteneur.
        group-full:ro tout en ro
        cgroup-full:rw tout en rw

lxc.rootfs Emplacement du système de fichier racine pour le conteneur. Peut être un fichier image, un répertoire, ou un périphériques block. Non spécifié, partage celui de l'hôte
lxc.rootfs.mount Où monter récursivement lxc.rootfs avant le pivot.
lxc.rootfs.options Options de montage supplémentaires pour rootfs
lxc.rootfs.backend Spécifie le type de backend rootfs à utiliser (dir, zfs,...).
lxc.cgroup.[subsystem name] Spécifie la valeur cgroup à définir.
lxc.cap.drop Capabilities à supprimer dans le conteneur, sans le préfix CAP.
lxc.cap.keep Spécifie la capabilitie à conserver dans le conteneur. none supprime toutes les capabilities
lxc.aa_profile Spécifie le profile apparmor sous lequel le conteneur devrait fonctionner. unconfined désactive apparmor. unchanged conserve le profile du conteneur parent.
lxc.aa_allow_incomplete les profiles apparmor sont basés sur des chemins. Donc des restrictions de fichier nécessitent des restrictions de montage. Cependant, ces restrictions de montage ne sont pas encore implémentées dans le kernel. À 0, le conteneur n'est pas démarré si le kernel n'a pas les fonctions de montage apparmor, donc un regression après une mise à jours kernel sera détectée.
lxc.se_context Spécifie le contexte SELinux sous lequel le conteneur devrait être lancé ou unconfined_t. (ex: system_u:system_r:lxc_t:s0:c22)
lxc.seccomp Spécifie un fichier contenant la configuration seccomp à charger avant que le conteneur démarre.
lxc.id_map Un conteneur peut être démarré dans un namespace user privé avec un mappage. Contient 4 champs séparés par des espaces:

        1 'u', 'g', ou 'b' pour both
        2 L'UID/GID vu dans le namespace
        3 L'UID/GID vu dans l'hôte
        4 Le nombre d'uid/gid consécutifs à mapper

hooks

   Les hooks de conteneur sont des programmes ou des scripts qui peuvent être exécutés à divers moments dans la durée de vie d'un conteneur. Quand un hook est exécuté, des informations sont passées en argument et via les variables d'environnement:

        - Le nom du conteneur
        - Section (toujours 'lxc')
        - Type de hook (ex: 'clone' ou 'pre-mount')
        - Arguments additionnels.
        LXC_NAME Nom du conteneur
        LXC_ROOTFS_MOUNT Chemin du rootfs monté
        LXC_CONFIG_FILE Chemin du fichier de configuration de conteneur
        LXC_SRC_NAME Dans le cas d'un hook clone, c'est le nom du conteneur original
        LXC_ROOTFS_PATH valeur de lxc.rootfs pour le conteneur

lxc.hook.pre-start Un hook à lancer dans l'espace de nom de l'hôte avant que le ttys du conteneur, consoles ou mountages soient effectués.
lxc.hook.pre-mount Un hook à lancer dans l'espace de nom fs du conteneur avant que le rootfs ne soit up. Permet la manipulation du rootfs (ex: fs chiffré)
lxc.hook.mount Un hook à lancer dans l'espace de nom du conteneur après que le montage ait été effectué, mais avant le pivot_root
lxc.hook.autodev Un hook à lancer dans l'espace de nom du conteneur après que le montage ait été effectué, mais avant le pivot_root si lxc.autodev == 1. Permet d'assister le remplissage de /dev
lxc.hook.start Un hook à lancer dans l'espace de nom du conteneur immédiatement après l'exécution du init. Nécessite un programme dans le conteneur
lxc.hook.stop Un hook à lancer dans l'espace de nom de l'hôte après que le conteneur ait été éteind. Pour chaque espace de nom un argument est passé au hook contenant le type de namespace et un fichier qui peut être utilisé pour obtenir un fd vers le namespace correspondant.
lxc.hook.post-stop Un hook à lancer dans l'espace de nom de l'hôte après que le conteneur ait été stoppé.
lxc.hook.clone Un hook à lancer quand le conteneur est cloné.
lxc.hook.destroy Un hook à lancer quand le conteneur est détruit

   Des variables d'environnement sont disponible aux hooks pour fournir des informations de configuration. Toutes les variables ne sont pas valides dans tous les contextes. En particulier, tous les chemins sont relatifs au système hôte et donc non valides durant lxc.hook.start

LXC_NAME Nom du conteneur
LXC_CONFIG_FILE Chemin du fichier de configuration de conteneur
LXC_CONSOLE Chemin de la console de sortie du conteneur si non null
LXC_CONSOLE_PATH Chemin de la console de sortie de log du conteneur si non null
LXC_ROOTFS_MOUNT Chemin du rootfs monté dans l'hôte
LXC_ROOTFS_PATH Valeur de lxc.rootfs pour le conteneur
LXC_SRC_NAME Dans le cas d'un hook clone, c'est le nom du conteneur original
LXC_TARGET Seulement pour le hook stop. Vaut stop ou reboot
LXC_CGNS_AWARE Non définis, cette version de lxc ne gère pas les namespaces cgroup. Ne garantit pas que ces namespaces sont activés dans le kernel.

lxc.loglevel Niveau de log de 0 (trace) à 8 (fatal)
lxc.logfile Fichier où logger les infos
lxc.start.auto (bool) Indique si le conteneur devrait être auto-démarré.
lxc.start.delay Délai d'attente avant que le conteneur suivant ne soit démarré
lxc.start.order Un entier utilisé pour trier les conteneurs durant l'auto-démarrage
lxc.monitor.unshare Si non 0, le namespace de montage sera non partagé avec l'hôte avant l'initialisation du conteneur (avant le hook pre-start). Nécessite CAP_SYS_ADMIN.
lxc.group Clé multivalué pour placer le conteneur dans un groupe.

lxc.environment Permet de passer des variables d'environnement au conteneur. Noter que ces variables sont visibles dans l'hôte dans /proc/PID/environ

Exemples de configuration

Exemple de configuration réseau:
lxc.utsname = myhostname
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 10.2.3.5/24 10.2.3.255
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597

uid/gid mapping
lxc.id_map = u 0 100000 10000
lxc.id_map = g 0 100000 10000

cgroup
lxc.cgroup.cpuset.cpus = 0,1
lxc.cgroup.cpu.shares = 1234
lxc.cgroup.devices.deny = a
lxc.cgroup.devices.allow = c 1:3 rw
lxc.cgroup.devices.allow = b 8:0 rw

Exemple de configuration complexe:
lxc.utsname = complex
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 10.2.3.5/24 10.2.3.255
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
lxc.network.ipv6 = 2003:db8:1:0:214:5432:feab:3588
lxc.network.type = macvlan
lxc.network.flags = up
lxc.network.link = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bd
lxc.network.ipv4 = 10.2.3.4/24
lxc.network.ipv4 = 192.168.10.125/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596
lxc.network.type = phys
lxc.network.flags = up
lxc.network.link = dummy0
lxc.network.hwaddr = 4a:49:43:49:79:ff
lxc.network.ipv4 = 10.2.3.6/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297
lxc.cgroup.cpuset.cpus = 0,1
lxc.cgroup.cpu.shares = 1234
lxc.cgroup.devices.deny = a
lxc.cgroup.devices.allow = c 1:3 rw
lxc.cgroup.devices.allow = b 8:0 rw
lxc.mount = /etc/fstab.complex
lxc.mount.entry = /lib /root/myrootfs/lib none ro,bind 0 0
lxc.rootfs = /mnt/rootfs.complex
lxc.cap.drop = sys_module mknod setuid net_raw
lxc.cap.drop = mac_override
^
25 novembre 2016

htmlpdflatexmanmd




lxc.system.conf-2.0.5

lxc.system.conf-2.0.5

Fichiers de configuration du système LXC

   Ce fichier est localisé dans /etc/lxc/lxc.conf ou ~/.config/lxc/lxc.conf. Ce fichier est utilisé pour définir des valeurs telles que les chemins de recherche par défaut et les paramètres de stockage pour LXC.

lxc.lxcpath Emplacement dans lequel tous les conteneur sont stockés
lxc.default_config Emplacement de la configuration du conteneur par défaut
lxc.cgroup.use liste de cgroup à définis. Si aucun n'est définis, tous les contrôleurs sont utilisés
lxc.cgroup.pattern Chaîne utilisée pour générer le chemin cgroup (ex: lxc/%n)
lxc.bdev.lvm.vg Nom du volume groupe par défaut
lxc.bdev.lvm.thin_pool nom du pool thin par défaut
lxc.bdev.zfs.root Nom du root ZFS par défaut

^
25 novembre 2016

htmlpdflatexmanmd




lxc.usernet-2.0.5

lxc.usernet-2.0.5

Administration de réseau utilisateur non-privilégié

   /etc/lxc/lxc-usernet contrôle les limites du programme lxc-user-nic pour les interfaces réseau qu'un utilisateur non-privilégié peut créer. Le fichier de configuration consiste d'entrées sous la forme:

  user|@group type bridge number

        user|@group username ou nom du groupe auquel l'entrée s'applique
        type Type de réseau autorisé. Seule veth est supporté actuellement
        bridge nom du bridge auquel les interfaces peuvent être attachés
        number Nombre d'interfaces réseau du type donné que l'utilisateur/groupe peut attacher au bridge donné.

^
18 mars 2010

htmlpdflatexmanmd




Magic SysRq key

Magic SysRq key

Touches Magic SysRq key

   Les magic SysRq key sont une fonctionnalité du noyau Linux qui permet par une combinaison de touches de lancer des commandes de bas niveau. Elle doit être activée à la compilation du noyau.

  La principale utilité de cette fonctionnalité est de pouvoir redémarrer un système bloqué sans corrompre le système de fichier.

  Sur un ordinateur x86, la combinaison utilisée est formée des 3 touches : Alt+Imprim écran ou Syst et une autre touche qui détermine l'action à effectuer : r « récupère » le clavier, approprié le plus souvent par le système de fenêtrage X Window.

k tue tous les processus de la console virtuelle active
b redémarre immédiatement le système. Cette fonctionnalité peut provoquer des pertes de données : ce qui est en mémoire cache n'est pas écrit sur les disques ; cette fonctionnalité est beaucoup plus radicale que le Ctrl-Alt-Delete de Microsoft ou que le Ctrl+Alt+Del de Linux
c redémarre le processus kexec et affiche le message du crash
s synchronise tous les systèmes de fichier montés Cette fonctionnalité peut être très utile si on doit faire un arrêt rapide de l'ordinateur (arrêt électrique ou logiciel) : elle permet de ne pas perdre les données en mémoire cache
o arrête le système
u passe tous les systèmes de fichier montés en lecture seule
p affiche les registres courants et les flags dans la console
t affiche la liste des différentes tâches actives ainsi que des informations pour chacune
m affiche les informations relatives à la mémoire dans la console (dans cette situation, le noyau n'est pas en mesure de tenir compte de la disposition des touches sur le clavier, et interprète les frappes comme si elles étaient réalisées sur un clavier QWERTY. Dans le cas de l'utilisation d'un clavier AZERTY, il faut donc appuyer sur ',' la touche qui se trouve à l'emplacement du m du clavier QWERTY)
de 0 à 9 permet de définir le type de messages du noyau qui s'affichent dans la console
f appelle la fonction oom_kill, elle tue le processus qui consomme toute la mémoire disponible
e envoie le signal SIGTERM à tous les processus excepté init
i envoie le signal SIGKILL à tous les processus excepté init
l envoie le signal SIGKILL à tous les processus init compris

   Toutes autres touches non assignées à une commande affiche une aide sommaire dans la console.

Modifications

   Les différentes méthodes pour modifier cette fonctionnalité sont

  - méthode la plus rapide : dans le fichier sysctl.conf, interdire ces fonctionnalités en mettant kernel.sysrq=0. Dans ce cas, le contenu du fichier /proc/sys/kernel/sysrq sera '0'.

  - Méthode plus longue, mais plus rigoureuse : Avant de générer un noyau, paramétrer le booléen CONFIG_MAGIC_SYSRQ à false dans les paramètres kernel hacking

  - Méthode de loin la plus rigoureuse, mais aussi la plus complexe et la plus longue : Il peut être tentant de supprimer les fonctionnalités trop dangereuses, et de laisser celles qui peuvent être utiles dans certains cas extrêmes

  Pour supprimer les fonctions jugées trop dangereuses : Avant de générer le noyau, il faut modifier un des fichiers sysrq.c des sources du noyau, Il y a plusieurs fichiers sysrq.c, il faut choisir celui correspondant au type de processeur concerné.

Redémarrer proprement un système bloqué

Pour redémarrer un système Linux qui ne répond plus, il faut utiliser la séquence de touches suivante :
1. unraw — récupérer le contrôle du clavier X ;
2. terminate — envoyer SIGTERM a tous les processus, pour leur permettre de s'arrêter proprement ;
3. kill — envoyer SIGKILL a tous les processus, pour les forcer à s'arrêter immédiatement ;
4. sync — synchroniser les disques, écrire le contenu du tampon sur le disque ;
5. unmount — remonter tous les systèmes de fichiers en lecture seule, pour ne pas devoir lancer fsck au redémarrage ;
6. boot.

   Il faut commencer par maintenir simultanément les touches Alt et Syst, puis l'une après l'autre les touches dans l'ordre donné, en attendant au moins deux secondes entre chaque touche.

  Cela permet de démonter correctement les systèmes de fichiers, ce qui évite de risquer des corruptions de données et de devoir exécuter fsck au redémarrage. De plus les processus ont du temps pour enregistrer des sauvegardes d'urgence le cas échéant.
^
03 novembre 2011

htmlpdflatexmanmd




mkpasswd

mkpasswd

frontend pour crypt(3)

OPTIONS

-S, --salt=STRING salt. Ne doit pas contenir de préfixe tel que $1$
-R, --rounds=NUMBER Nombre de passes. dépendant du chiffrement utilisé
-m, --method=TYPE Méthode utilisé. Peut être md5, des, sha-256, sha-512 ou help
-5 idem à --method=md5
-P, --passwd-fd=NUM Lit le mot de passe depuis le descripteur de fichier NUM au lieu d’utiliser getpass(3).
-s, --stdin identique à --password-fd=0

Variables d'environnement

MKPASSWD_OPTIONS Une liste d’options qui vont être évaluées avant ceux spécifiés sur la ligne de commande.
^
28 mars 2016

htmlpdflatexmanmd




modinfo

modinfo

Affiche des informations sur un module du kernel Linux

   Si le module spécifié n’est pas un fichier, il cherche dans /lib/modules/version/, comme modprobe. Par défaut, liste chaque attribut du module sous la forme champs:valeur.

OPTIONS

-F, --field Affiche seulement les valeurs de champs, une par ligne.
-b basedir, --basedir basedir Répertoire racine pour les modules. Défaut: /
-k kernel Fournis des informations sur un autre kernel que le kernel courant
-0, --null Utilise le caractère ascii 0 pour séparer les valeurs au lieu d’un newline.
-a, --author
-d, --description
-l, --license
-p, --parameters
-n, --filename Raccourcis pour l’auteur, la description, la licence, les paramètres et le nom de fichier, respectivement
^
28 mars 2016

htmlpdflatexmanmd




modprobe

modprobe

Ajoute ou supprime des modules du kernel Linux

   Ajoute ou enlève des modules du kernel Linux. Il n’y a pas de différence entre ’-’ et ’_’ dans les noms de module. Il cherche dans /lib/modules/`uname -r` les modules et autres fichiers, excepté pour le fichier optionnel /etc/modprobe.conf et le répertoire /etc/modprobe.d. modprobe utilise également des options de module spécifiés sur la ligne de commande sous la forme ‹module›.‹option›

   modprobe ne fait rien du module, la résolution de symbole et les paramètres sont vérifiés par le kernel. Les erreurs sont des messages du kernel, visible via dmesg.

   modprobe attend un fichier modules.dep.bin à jours (ou un fichier modules.dep), comme généré par l’utilitaire depmod. Ce fichier liste les modules dont il dépend, et modprobe l’utilise pour ajouter ou enlever ces dépendances automatiquement.

OPTIONS

-a, --all Insert tous les noms de module sur la ligne de commande
-b, --use-blacklist applique les commandes blacklist dans les fichiers de configuration aux noms de modules.
-C, --config Utilise le fichier spécifié au lieu de /etc/modprobe.conf ou /etc/modprobe.d. Cette option est passée aux commandes install ou remove aux autres commandes modprobe dans la variable MODPROBE_OPTIONS
-c, --showconfig Affiche la liste des informations de version des module requis par un module.
--dump-modversions Dump la configuration effective du répertoire de configuration et quitte
-d, --dirname Répertoire où les modules peuvent être trouvés / par défaut
--first-time Normalement modprobe réussi et ne fait rien si un module à insérer est déjà présent ou en supprimant un module qui n’est pas présent. Cette commande fait échouer modprobe dans ce cas.
--force-vermagic Chaque module contient des informations importantes, tels que les version du compileur et du kernel. Si un module échoue au chargement et que le kernel dit que le "version magic" ne correspond pas, vous pouvez utiliser cette option pour le supprimer.
--force-modversion Quand les modules sont compilés avec CONFIG_MODVERSIONS mis, une section détaillant les versions de chaque interface utilisée par le module est créée. Si un module échoue au chargement et que le kernel dit que le module n’a pas la bonne version d’une interface, cette option supprime les informations de version.
-f, --force Tente de supprimer les informations de version. Identique à --force-vermagic et -force-modversion
-i, --ignore-install --ignore-remove ignore les commandes install et remove dans le fichier de configuration du module spécifié
-l, --list Liste tous les module correspondant à "*".
-n, --dry-run, --show Fait tout sauf inserer et supprimer les modules.
-q, --quiet N’affiche pas de message d’erreur
-R, --resolve-alias Affiche tous les noms de module qui matchent un alias
-r, --remove décharge un module
-S, --set-version Définis la version du kernel
--show-depends Liste les dépendances d'un module, incluant le module lui-même. Produit un jeu de modules, un par ligne, préfixé par "insmod" et utilisé par les distributions pour déterminer quels modules inclure dans les images initramfs.
-s, --syslog Syslog les messages d’erreur (LOG_DAEMON avec le level LOG_NOTICE)
-t, --type Restreint -l aux modules dans le répertoire matchant au répertoire donné.
-v, --verbose mode verbeux

Variables d'environnement

MODPROBE_OPTIONS peut être utilisé pour passer des arguments à modprobe
^
22 mars 2016

htmlpdflatexmanmd




module-signing

module-signing

Signature des modules kernel

Présentation

   La facilité de signature de module kernel signe cryptographiquement les modules durant l'installation et vérifie la signature au chargement des modules. Cela augmente la sécurité de kernel en interdisant le chargement des modules non-signés ou les modules signés avec une clé invalide. La signature de module augmente la sécurité en rendant le chargement de code malicieux plus dur dans le kernel. La vérification de la signature est fait par le kernel donc il n'est pas nécessaire d'avoir de clé de confiance dans l'espace utilisateur.

   Cette facilité utilise les certificats X.509 pour encoder les clé publiques. Les signature ne sont pas encodées par un type standard. La facilité supporte actuellement seulement RSA. Les algorithmes de hashage qui peuvent être utilisée sont SHA-1, SHA-224, SHA-256, SHA-384, et SHA-512.

Configuration

   La facilité de signature de module est activée par la section "Enable Loadable Module Support" de la configuration du kernel et en activant CONFIG_MODULE_SIG. Il y a quelques options disponibles:

Require modules to be validly signed CONFIG_MODULE_SIG_FORCE - spécifie le comportement du kernel lorsque la signature d'un module ne peut pas être vérifiée. off, autorise les module non-signés ou non valides, restrictive impose une signature valide.
Automatically sign all modules CONFIG_MODULE_SIG_ALL - Signe les modules automatiquement durant la phase modules_install. À off, les modules doivent être signés manuellement avec scripts/sign-file
Which hash algorithm should modules be signed with? Présente un choix d'algorithmes de hashage pour signer les modules
File name or PKCS#11 URI of module signing key CONFIG_MODULE_SIG_KEY - Définir cette option à une valeur différente que le défaut "certs/signing_key.pem" désactive l'autogénération des clés de signatures. Cette chaîne devrait identifier un fichier contenant une clé privée et son certificat correspondant au format PEM, ou - sur les système où OpenSSL ENGINE pkcs11 est fonctionnel
Additional X.509 keys for default system keyring CONFIG_SYSTEM_TRUSTED_KEYS - Définis un fichier PEM contenant des certificats additionnels qui seront inclus dans le système par défaut.

Générer les clés

   Une paire de clé cryptographique est requise pour générer et vérifier les signatures. Une clé privée est utilisée pour générer une signature et la clé publique correspondante est utilisée pour la vérifier. La clé privée est seulement nécessaire durant le build, et peut être supprimée ensuite. La clé publique est embarquée dans le kernel.

   Dans des conditions normales, CONFIG_MODULE_SIG_KEY est inchangé de son défaut, le build génère automatiquement une nouvelle clé en utilisant openssl s'il n'existe pas de fichier certs/signing_key.pem. certs/x509.genkey est également généré et contient les paramètres openssl.

Par défaut la section req_distinguished_name contient:
[ req_distinguished_name ]
#O = Unspecified company
CN = Build time autogenerated kernel key
#emailAddress = unspecified.user@unspecified.company

La taille de clé est également définie avec:
[ req ]
default_bits = 4096

Il est également possible de générer manuellement les fichiers avec le fichier x509.genkey:
openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -x509 -config x509.genkey -outform PEM -out kernel_key.pem -keyout kernel_key.pem

Clés publiques dans le kernel

   Le kernel contient un jeu de clé publiques qui peuvent être vues par root (cat /proc/keys).

   Au delà la clé publique générée spécifiquement pour la signature de module, des certificats additionnels peuvent être fournis au format PEM référencés par l'option kernel CONFIG_SYSTEM_TRUSTED_KEYS.

   De plus, le code peut prendre des clés publiques depuis un stockage hardware et les ajouter (ex: depuis une base de clé UEFI)

Finalement, il est possible d'ajouter des clé publiques en faisant:
keyctl padd asymmetric "" [.system_keyring-ID] ‹[key-file]›

   Noter cependant que le kernel ne permet que d'ajouter des clés dans .system_keyring s'ils sont signés par une clé déjà présente dans le .system_keyring au moment où elle est ajoutée.

Signer des modules manuellement

   Pour signer manuellement un module, utiliser le script sign-file. Ce script nécessite 4 arguments: l'algorithme de hashage, le nom de la clé privée ou une URI PKCS#11, la clé publique et le module à signer.

exemple:
scripts/sign-file sha512 kernel-signkey.priv kernel-signkey.x509 module.ko

   L'algorithme de hashage utilisé ne doit pas correspondre à celui configuré, mais l'algorithme utilisé doit être compilé dans le kernel ou un module chargeable. Si la clé privée nécessite une passphrase ou PIN, il peut être fournis dans la variable d'environnement $KBUILD_SIGN_PIN

Modules signés et stripping

   Un module signé a une signature numérique simplement ajouté à la fin. La chaîne '~ Module signature appended~ .' à la fin diu fichier du module confirme qu'une signature est présente mais ne confirme pas que la signature est valide.

   Les modules signés sont embarqué comme signature hors du conteneur ELF. Donc, ils ne peuvent plus être stripped une fois la signature calculée. Noter que tout le module est le payload signé, incluant les informations de debug présents au moment de la signature.

Charger des modules signés

   Les modules sont chargés avec insmod, modprobe, init_module() ou finit_module(), exactement comme pour les modules non-signés et aucun traitement n'est fait dans l'espace utilisateur. La vérification de la signature est entièrement faite dans le kernel

Signatures non-valides et modules non-signé

   Si CONFIG_MODULE_SIG_FORCE est activé ou enforcemodulesig=1 est fournis au kernel, le kernel va seulement charger les modules signés et valides pour lequel il possède une clé publique. Un module pour lequel le kernel a une clé, mais qui prouve qu'une signature ne correspond pas ne sera pas chargé. Tout module dont la signature n'est pas lisible sera rejeté.

Administrer/protéger la clé privée

   Vu que la clé privée est utilisée pour signer les modules, les virus et malware peuvent l'utiliser pour signer des modules et compromettre l'OS. La clé privée doit être soit détruite, soit placée dans une emplacement sûre et non possédé dans le nœud root du kernel.
^
28 mars 2016

htmlpdflatexmanmd




modules.dep

modules.dep, modules.dep.bin

Liste des dépendances des modules

   Ces fichiers sont générés par depmod. Liste les dépendances pour chaque module dans le répertoire /lib/modules/version. Ils sont utilisés par les utilitaires comme modprobe. Ces fichiers ne sont pas prévus pour être modifié. Utiliser modinfo pour obtenir des informations sur les modules.

^
03 février 2016

htmlpdflatexmanmd




msr

msr

Périphérique d'accès au MSR des CPU x86

   /dev/cpu/CPUNUM/msr fournit une interface pour lire et écrire les registres spécifiques au modèle (MSR) d'un processeur x86. CPUNUM est le numéro du processeur d'après la liste dans /proc/cpuinfo

   L'accès au registre se fait en ouvrant le fichier et en se déplaçant dans le fichier à la position égale au numéro du MSR, puis en lisant ou écrivant des blocs de 8 octets. Des transferts de taille supérieure à 8 octets correspondent à plusieurs lectures ou écritures du même registre. Ce fichier est protégé de telle sorte que seul root ou membres du groupe root puissent y accéder.

Notes

   Le pilote msr n'est pas chargé automatiquement. Avec les noyaux modulaires il est possible de le charger avec modprobe msr.
^
03 décembre 2016

htmlpdflatexmanmd




needrestart

needrestart

Vérifier les services qui doivent être redémarrés après une mise à jours de librairies

OPTIONS

-v mode verbeux
-q mode silencieux
-m ‹mode› Définis le mode de détail technique (e = easy, a = advanced)
-n  Réponse par défaut = no
-c ‹cfg› Spécifier le fichier de configuration
-r ‹mode› Définis le mode de redémarrage (l = list only, i = interactive restart, a = automatic restart)
-b Active le mode batch
-p Mode plugin nagios
-f ‹fe› frontend debconf
-u ‹ui› Utiliser le package UI préféré
-k Vérifie les kernels obsolètes
-l Vérifie les librairies obsolètes
^
03 novembre 2011

htmlpdflatexmanmd




newgrp

newgrp

Permet de changer l’identifiant de groupe de l’utilisateur au cour d’une session

   Si - est fournie, l’environnement de l’utilisateur est réinitialisé, comme si l’utilisateur venait de se connecter. newgrp change l’identifiant de groupe réel, ou au groupe par défaut défini dans /etc/passwd si aucun groupe n’est spécifié. newgrp essayera également d’ajouter le groupe à l’ensemble des groupes de l’utilisateur.

  newgrp utilise des variables dans login.defs

^
29 octobre 2011

htmlpdflatexmanmd




newusers

newusers

Met à jour ou créer de nouveaux utilisateurs par lots

   Lit un fichier contenant des paires de nom d'utilisateur et de mot de passe. Chaque ligne est au format (même format que passwd(5)):

  pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell

pw_name Nom de l'utilisateur
pw_passwd Mot de passe en clair qui sera chiffré
pw_uid UID de l'utilisateur. Si vide, un UID non utilisé est choisi. Si un UID est changé, le propriétaire des fichiers devra être changé manuellement.
pw_gid GID de l'utilisateur. Si ce champ est un nombre, il devient le groupe primaire de l'utilisateur. Si ce GID n'existe pas, il est créé avec le nom de l'utilisateur. vide, un nouveau groupe est créé avec un GID disponible.
pw_gecos GECOS de l'utilisateur
pw_dir Répertoire personnel de l'utilisateur. S'il n'existe pas, il est créé, s'il est changé, il n'est pas déplacé.
pw_shell Shell de l'utilisateur.

   La première passe créé les utilisateurs avec un mot de passe désactivé, la seconde passe met à jours tous les mots de passe utilisant PAM.

OPTIONS

-r, --system Crée un compte système. les informations d'UID sont pris de SYS_UID_MIN et SYS_UID_MAX de /etc/login.defs

Configuration

les variables suivantes de login.defs sont utilisées:
GID_MAX, GID_MIN
MAX_MEMBERS_PER_GROUP
PASS_MAX_DAYS
PASS_MIN_DAYS
PASS_WARN_AGE
SYS_GID_MAX
SYS_GID_MIN
SYS_UID_MAX
SYS_UID_MIN
UID_MAX
UID_MIN
UMASK
^
23 mai 2010

htmlpdflatexmanmd




nice

nice

Lance un processus avec une priorité spécifique. La priorité d'un processus va de -20 (la plus haute priorité) à 19 (priorité la plus faible)

   Les valeurs négatives ne peuvent être utilisées que par root.

Codes de sortie

0 si aucune commande n'est spécifiée
1 si nice lui-même a échoué
126 si la commande est trouvée mais ne peut pas être invoquée
127 si la commande ne peut pas être trouvée
^
03 février 2016

htmlpdflatexmanmd




openvt

openvt

Lance un programme dans un nouveau terminal virtuel

   openvt trouve le premier VT disponible, et lance la commande donnée dessus. L'entrée, la sortie et l'erreur standards sont dirigés sur le terminal. Le PATH est utilisé pour trouver le commande. Sans commande spécifiée, la variable SHELL est utilisée.

OPTIONS

-c, --console=VTNUMBER Utilise le VT donné au lieu du premier disponible. Nécessite un accès en écriture au VT fournis.
-f, --force Force l'ouverture du VT sans vérifier s'il est prêt
-e, --exec Exécute directement la commande donnée, sans forker. openvt doit ouvrir un leader de session pour que cela fonction (voir setsid)
-s, --switch Bascule dans le nouveau VT en lançant la commande.
-u, --user Propriétaire du VT à utiliser. Ne devrait pas être utilisé avec -c ou -l
-l, --login Crée un login shell. Un - est ajouté avant le nom de la commande à exécuté
-v, --verbose mode verbeux
-w, --wait Attend que la commande se termine. Si -w et -s sont utilisé ensemble, openvt revient au terminal contrôlant.
-- Fin des options d'openvt

Exemples

Lancer un shell dans le prochain VT disponible
openvt bash
Lancer un login shell
openvt -l bash
Distinguer les options de la commande
openvt -- ls -l
^
09 mars 2013

htmlpdflatexmanmd




parted

parted

Utilitaire de manipulation de partitions

OPTIONS

-l, -list Liste les partitions sur tous les périphériques bloc
-m, -machine Affiche une sortie parsable
-s, -script Ne demande pas confirmation
-a, -align Définis l’alignement pour les nouvelles partitions. Les types valides sont :

        none Utilise l’alignement minimum permis par le type de disque
        cylinder Aligne les partitions sur les cylindres
        minimal l’alignement est donné par la topologie du disque
        optimal Utilise l’alignement optimal comme donné par la topologie du disque.

Commandes

[device] Le périphérique bloc à utiliser
[command [options]] Commandes à exécuter. Les commandes possibles sont :

        check partition vérifie la partition donnée
        cp [source-device] source dest copie le système de fichier de la partition source sur source-device (défaut : périphérique courant) dans la partition de destination sur le périphérique courant.
        mkfs partition fs-type Créer un système de fichier : fat16, fat32, ext2, linux-swap ou reiserfs
        mklabel label-type Crée un nouveau label de disque : bsd dvh gpt loop mac msdos pc98 ou sun
        mkpart part-type [fs-type] start end Crée une partition avec un système de fichier. fs-type peut être fat16, fat32, ext2, HFS, linux-swap, NTFS, reiserfs ou ufs. part-type peut-être primary, logical ou extended
        move partition start end déplace une partition
        name partition name Définis le nom de la partition (ne fonctionne que sur les labels Max, PC98 et GPT)
        print Affiche la table de partition
        rescue start end Récupère une partition perdue localisée quelque part entre start et end
        resize partition start end Redimensionne un système de fichier dans une partition.
        rm partition supprime la partition
        select device Sélectionne le périphérique courant (peut être un périphérique disque, un périphérique raid, ou un LVM)
        set partition flag state Change l’état du flag : boot, root, swap, hidden, raid, lvm, lba et palo. state doit être soit on soit off
        unit unit définis l’unité à utiliser. Peut être s (secteur), B (octet), kB, MB, GB, TB, % (% du périphérique), cyl (cylindres) chs ou compact (mB en, entrée, human-readable en sortie)
^
07 mai 2016

htmlpdflatexmanmd




partx

partx

Annonce au kernel la présence et la numérotation des partitions d'un disque

   Demande au kernel la présence et le nombre de partitions sur les disques. En donnant un périphérique ou une image disque, partx tente de parcourir la table de partitions et de lister leur contenu. Optionnellement, il ajoute ou supprime des partitions.

   partx n'est pas un programme fdisk. Ajouter ou supprimer des partitions ne change pas le disque, il indique seulement au kernel la présence et le nombre de partitions sur le disque.

OPTIONS

-a, --add Ajoute les partitions spécifiées, ou lit le disque et ajoute toutes les partitions.
-b, --bytes Affiche la colonne SIZE en octets au lieu du format human-readable
-d, --delete Supprime les partitions spécifiées, ou toutes les partitions.
-u, --update Met à jours les partitions spécifiées
-x, --noheadings N'affiche pas la ligne d'en-tête
-l, --list Liste les partitions. Noter que tous les nombre sont en secteurs de 512 octets. Déprécié, préférer --show
-o, --ouput list Définis les colonnes de sortie pour --show et --raw.
-P, --pairs Affiche un format clé="valeur"
-n, --nr M:N Spécifie la plage de partitions. La plage peut être négative (--nr :-1 indique la dernière partition, et --nr -2:-1 signifie les 2 dernières partitions). Les plages supportées sont:

        M Spécifie seulement une partition
        M: spécifie la limite inférieur
        :N Spécifie la limite supérieur
        M:N ou
        M-N Spécifie les limites supérieur et inférieur

-r, --raw Utilise le format brut.
-s, --show Liste les partitions
-t, --type type Spécifie le type de partition (aix, bsd, dos, gpt, mac, minix, sgi, solaris_x86, sur, ultrix ou unixware).

Exemples

Affiche la partition 3 de /dev/sdb
partx --show /dev/sdb3
partx --show -nr 3 /dev/sdb3
partx --show /dev/sdb3 /dev/sdb
Liste toutes les sous-partitions de /dev/sdb3 (le périphérique est utilisé comme un disque entier)
partx --show - /dev/sdb3
Affiche le secteur de début de la partition 5 dans /dev/sdb sans en-tête
partx -o START -g --nr 5 /dev/sdb
Liste la longueur en secteurs et human-readable de la taille de la partition 5 de /dev/sda
partx -o SECTORS,SIZE /dev/sda5 /dev/sda
Ajoute toutes les partitions disponible de 3 à 5 dans /dev/sdd
partx --add --nr 3:5 /dev/sdd
Supprime la dernière partition dans /dev/sdd
partx -d --nr :-1 /dev/sdd
^
03 novembre 2011

htmlpdflatexmanmd




passwd

passwd

Modifier le mot de passe d’un utilisateur. Un utilisateur normal peut seulement changer son propre mot de passe. passwd peut également changer le compte ou la période de validité du mot de passe associé

OPTIONS

-a, --all Ne peut être utilisée qu’avec -S et permet d’afficher l’état des mots de passe pour tous les utilisateurs
-d, --delete Supprime le mot de passe
-e, --expire Annule immédiatement la validité du mot de passe d’un compte. Ceci permet d’obliger un utilisateur à changer son mot de passe à sa prochaine connexion.
-i, --inactive DUREE_INACTIVITE Permet de désactiver un compte un certain nombre de jours après que son mot de passe soit arrivé en fin de validité depuis le nombre de jours spécifié, l’utilisateur ne pourra plus se connecter.
-k, --keep-tokens Indique qu’un changement de mot de passe devrait être exécuté uniquement pour les tokens d’authentification expiré.
-l, --lock Bloque le mot de passe du compte spécifié, en ajoutant un ’ !’ au début du hash du mot de passe). Cette méthode ne désactive pas le compte, il est toujours possible de se logger en utilisant d’autres token d’authentification tel que les clés SSH. Pour désactiver un compte, utiliser usermod --expiredate 1. Les utilisateurs avec un mot de passe bloqués ne peuvent pas changer leur mot de passe.
-m, --mindays JOURS_MIN Nombre de jours minimum entre chaque changement de mot de passe. A 0, désactive cette option.
-q, --quiet mode silencieux
-r, --repository REPOSITORY change le mot de passe dans le REPOSITORY
-S, --status Affiche l’état d’un compte. Cet état est constitué de 7 champs :

        - Nom du compte
        - Si le mot de passe est bloqué (L), n’a pas de mot de passe (NP) ou as un mot de passe utilisable (P)
        - Date de dernière modification du mot de passe
        - Durée minimum avant modification
        - Durée maximum de validité
        - Durée d’avertissement
        - Durée d’inactivité
        Les durées sont exprimées en jours.

-u, --unlock Déverrouille le mot de passe du compte spécifié.
-w, --warndays DUREE_AVERTISSEMENT Fixe le nombre de jours avant que le changement de mot de passe ne soit obligatoire et durant lequel l’utilisateur est prévenu que son mot de passe arrive à expiration.
-x, --maxdays JOURS_MAX Fiche le nombre de jours pendant lesquels un mot de passe reste valable, après, le mot de passe devra être modifié.

   passwd utilise PAM pour authentifier les utilisateurs et pour changer leur mot de passe (voir /etc/pam.d/passwd)

Valeurs de retour

0 succès
1 Permission refusée
2 combinaison d’options non valable
3 échec inattendu
4 le fichier passwd est manquant
5 fichier passwd en cour d’utilisation
6 paramètre non valable pour l’option
^
23 mai 2010

htmlpdflatexmanmd




pidof

pidof

Recherche l'ID d'un processus en cours

OPTIONS

-s Ne retourne qu'un seul pid
-c ne retourne que les id qui tournent avec le même dossier root. Ignoré pour les utilisateurs non-root
-x Retourne également l'id du shell qui a lancé le script nommé
-o omet l'id spécifié. %PPID peut être utilisé pour nommer le processus parent du programme pidof
^
23 mai 2010

htmlpdflatexmanmd




pkill

pkill, pgrep

Chercher-envoyer un signal

pgrep cherche dans les processus en cours et affiche leur ID, en fonctions de critères.
pkill envoie un signal (SIGTERM par défaut) au processus au lieu de les lister.

OPTIONS

-c supprime la sortie normale, affiche à la place un compteur de processus correspondant
-d delimiter Définit la chaîne utilisé pour délimiter chaque ID dans la sortie (par défaut un newline)
-f le motif correspond à la ligne de commande
-g seul les processus dont l'id du groupe de processus correspondant sont listés.
-G seul les processus dont l'id du groupe réel correspondant sont listés.
-l liste le nom du processus et son ID
-n  Liste l'ID du plus récent processus correspondant
-o Liste le plus ancien processus correspondant
-P seul les processus dont l'ID du processus parent correspondant sont listés
-s Seul les processus appartenant à l'ID de session correspondant sont listés
-t seul les processus contrôlé par l'id du terminal correspondant sont listés
-u Seul les processus appartenant à l'ID utilisateur effectif correspondant sont listés.
-U Seul les processus appartenant à l'ID utilisateur réel correspondant sont listés.
-v Inverse la correspondance
-x seul les processus dont le nom ( ou la ligne de commande avec l'option -f) correspond parfaitement sont listés.
-signal Définit le signal à envoyer à chaque processus correspondant, soit en valeur numérique soit le nom symbolique du signal (pkill uniquement)

Exemples

trouver l'id de named
pgrep -u root named
liste uniquement les processus de root et daemon:
pgrep -u root,daemon
forcer syslog à relire sont fichier de configuration:
pkill -HUP syslogd
donner des information détaillée sur tous les processus xterm:
ps -fp $(pgrep -d, -x xterm)
renice les processus netscape:
renice +4 `pgrep netscape`

Codes de sortie

0 un ou plusieurs processus on été trouvé
1 aucun processus n'a été trouvé
2 erreur de syntaxe
3 erreur fatal

Notes

   le motif de recherche est tronqué au delà de 15 caractères. pgrep et pkill ne s'affichent jamais en cas de correspondance.
^
05 septembre 2015

htmlpdflatexmanmd




pldd

pldd

afficher les objets partagés liés dynamiquement dans un processus

   pldd affiche une liste d'objets partagés dynamiquement qui sont liés dans le processus spécifié par son PID. Cette liste inclus les librairies qui ont été chargées dynamiquement en utilisant dlopen(3).

^
31 mai 2010

htmlpdflatexmanmd




policy-rc.d

policy-rc.d

le script /usr/bin/policy-rc.d doit être géré par /usr/sbin/update-alternatives

OPTIONS

--quiet Ne génère pas de message d'erreur.
--list liste les règles définies pour l'id de script donné

   la liste des action doit être séparée pas des espaces. Elles sont toujours connues ( start, [force-]stop, restart, [force-]reload, status ).

  si invoke-rc.d détecte un start ou restart hors runlevel, l'action "start" ou "restart" sera changé en "(start)" ou "(restart)". Cà permet à policy-rc.d de différentier un démarrage hors runlevel d'un démarrage normal.

  le runlevel est optionnel. Si aucun runlevel n'est spécifié, il est considéré comme inconnus/indéfinis.

Codes de sortie

0 action autorisée
1 action inconnue (politique indéfinie)
100 id de script inconnu
101 action interdit
102 erreur système
103 erreur de syntaxe
104 réservé
105 mode incertains, ou indéfinis
106 action non permise

Règles de filtrage interne

   invoke-rc.d implémente ces règles:

1 une action "start" hors runlevel interdit
2 une action "restart" hors runlevel interdit
3 une action pour un script non exécutable est interdit (Cette 3eme règle nepeut pas être outrepassée)
^
08 octobre 2016

htmlpdflatexmanmd




ps

ps

Afficher un instantanné des processus

   ps affiche des informations sur une sélection des processus actifs. Pour une mise à jours répétitive de la sélection, utiliser top. ps accepte plusieurs types d'options:

Options UNIX qui peuvent être groupés et doivent être précédes par un '-'
Options BSD qui peuvent être groupés et ne doivent pas être utilisé avec un '-'
Options longues GNU Qui sont précédés par '--'

   Les options des différents types peuvent être librement mixés, mais des conflits peuvent apparaître. Noter que ps -aux est distinct de ps aux. Les standards POSIX et UNIX exigent que ps -aux affiche tous les processus possédés par l'utilisateur x, et affiche tous les processus qui ont été sélectionnés par d'option -a.

   Par défaut, ps sélectionne tous les processus avec le même user ID effectif (euid=EUID) comme utilisateur cournat et associé par le même terminal que l'invoqueur. Il affiche le process ID (pid=PID), le terminal associé avec les processus (tname=TTY), le temps CPU cumulé (time=TIME), et le nom de l'exécutable (ucmd=CMD). La sortie n'est pas triée par défaut.

   L'utilisation des options de type BSD ajoute un état de processus (stat=STAT) à l'affichage par défaut et affiche les arguments de la ligne de commande (args=COMMAND) au lieu du nom de l'exécutable. Ce mode peut être changé avec la variable d'environnement PS_FORMAT. L'utilisation des options type BSD changent également la sélection de processus pour inclure les processus de tous les autres terminaux (TTYs) qui sont possédés par l'utilisateur courant.

   Excepté quand spécifié, les options de sélection de processus sont additifs.

Pour voir tous les processus dans le système en utilisant la syntaxe standard:
ps -e
ps -ef
ps -ef
ps -ely
Pour voir tous les processus dans le système avec la syntaxe BSD:
ps ax
ps axu
Pour afficher une arborescence de processus:
ps -ejH
ps axjf
Pour obtenir des informations sur les threads:
ps -eLf
ps axms
Pour obtenir les informations de sécurité:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
Pour voir tous les processus fonctionnant sous root au format utilisateur:
ps -U root -u root u
Pour voir tous les processus avec un format définis par l'utilisateur:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan
Afficher seulement les PID de syslogd:
ps -C syslogd -o pid=
Afficher seulement le nom du PID 42:
ps -p 42 -o comm=

Sélection de simple processus

a Sélection "seulement vous-même".
-A, -e Sélectionne tous les processus.
-a Sélectionne tous les processus excepté les processus non associés avec un terminal et les leaders de session.
-d Sélectionne tous les processus excepté les têtes de session
--deselect, -N Sélectionne tous les processus excepté ceux qui remplissent les conditions spécifiées (inverse la sélection).
T Sélectionne tous les processus excepté ceux associés avec ce terminal. Identique à l'option t sans argument.
r Restreins la sélection seulement aux processus en cours de fonctionnement.
x Restriction "doit avoir un tty"

Sélection de processus par liste

   Ces options acceptent un seul argument sous la forme d'une liste séparé par ',' ou ' '. Ils peuvent être utilisés plusieurs fois. par exemple: ps -p "1 2" -p 3,4

-123, 123 Identique à --pid 123
-C cmdlist Sélectionne par nom de commande. Sélectionne les processus dont le nom de l'exécutable est dans cmdlist
-g grplist Sélectionne par session ou par nom de groupe effectif.
--Group grplist Sélection par Group ID réel ou nom.
--group grplist sélectionne par group ID effectif ou nom. Sélectionne les processus dont le nom de groupe effectif ou ID est dans grplist.
-p pidlist, -p pidlist, --pid pidlist Sélectionne par process ID
-ppid pidlist Sélectionne par PID parent.
-s sesslist, --sid sesslist Sélection par session ID.
-t ttylist, --tty ttylist Sélectionne par tty
U userlist, -u userlist, --user userlist Sélection par user ID effectif
-U userlist --User userlist Sélection par user ID effectif

Contrôles de format de sortie

   Ces options sont utilisée pour choisir les informations affichées par ps.

-c Affiche différentes informations du scheduler pour l'option -l
--context Affiche le context de sécurité (SELinux)
-f Listing complet. Peut être combiné avec d'autres options pour ajouter de colonnes. Affiche également les arguments de commande.
-F Format complet.
--format format format spécifié. Identique à -o et o
j Contrôle de job BSD
-j format de jobs
l Format long BSD
-l Format long. L'option -y est souvent utile avec lui.
-M Ajoute une colonne de données de sécurité. Identique à Z (pour SELinux)
O format Spécifier l'ordre de trie.
-O format Identique mais préchargé avec certaines colonnes par défaut. identique à -o pid,format,state,tname,time,command ou -o pidformat,tname,time,cmd
o format Format spécifié par l'utilisateur. Identique à -o et --format
-o format Format utilisateur. le format est un simple argument sous la forme d'une liste séparé par des ',' ou ' '. Les en-têtes peuvent être renommés(ps -o pid,ruser=RealUser -o comm=Command). Si tous les en-têtes sont vides (ps -o pid= -o comm=), l'en-tête n'est pas affiché. La largeur des colonnes augmente si nécessaire pour des en-tête plus large; cela peut être utilisé pour élargir les colonnes tel que WCHAN (ps -o pid,wchan=WIDE-WCHAN-COLUMN -o comm). Le contrôle de largeur explicite ps opid,wchan:42,cmd permet de le faire également.

        s Affiche le format du signal
        u Affiche le format orienté utilisateur
        v Affiche le format de mémoire virtuelle
        X Enregistre le format
        -y n'affiche pas les flag. Ne peut être utilisé qu'avec -l
        Z Ajoute une colonne de donnée de sécurité. Identique à -M (pour SELinux)

Modifieurs de sortie

c Affiche le vrai nom de la commande. c'est dérivé du nom du fichier exécutable, au lieu de la valeur de argv
--cols n, --columns n Définis la largeur de l'écran
--cumulative Inclus certaines données de processus enfant morts
e Affiche l'environnement après la commande.
f, --forest hiérarchie de processus ASCII
h Pas d'en-tête (ou un par écran dans le type BSD).
-H Affiche la hiérarchie des processus
--headers Répète les lignes d'en-tête, une par page de sortie
-k spec Spécifie l'ordre de trie. Trier la syntaxe est [+|-]key[,[+|-]key[,...]]. Utiliser un clé de la section Spécifieurs de format standard.

        exemples
        ps jaxkuid,-ppid,+pid
        ps axk comm o comm,args
        ps kstart_time -ef

--lines n Définis la hauteur d'écran
namelist, N namelist Définis le fichier namelist. Identique à N. le fichier namelist est nécessaire pour un affichage WCHAN propre, et doit correspondre à la version de Linux pour une sortie correcte. Sans cette option, le chemin de recherche par défaut pour namelist est:

        $PS_SYSMAP
        $PS_SYSTEM_MAP
        /proc/\*/wchan
        /boot/System.map-$(uname -r)
        /boot/System.map
        /lib/modules/$(uname -r)/System.map
        /usr/src/linux/System.map
        /System.map

n Sortie numérique pour WCHAN et USER (incluant tous les types de UID et GID).
--no-headers, --no-heading N'affiche pas le ligne d'en-tête.
--rows n Définis la hauteur d'écran
S Summarise les informations, tel que l'utilisation CPU, des processus enfant morts dans leur parent. Utile pour examiner un système où un processus parent forks en répétition des enfants de courte durée qui ne fonctionne pas.
--sort spec Spécifie l'ordre de trie. la syntaxe est [+|-]key[,[+|-]key[,...]]. exemple: ps jax --sort=uid,-ppid,+pid
w, -w Sortie large. Utiliser cet option 2 fois pour une largeur illimitée
--width n Définis la largeur de l'écran

Affichage des threads

H Affiche les threads comme s'ils étaient des processus
-L Affiche les threads, possiblement avec les colonnes LWP et NLWP
m, -m Affiche les threads après les processus
-T Affiche les threads, possiblement avec la colonne SPID

Autres informations

L Liste tous les spécifieurs au format long
V, -V, --version Affiche la version de procps-ng

Notes

   ps fonctionne en lisant le système de fichier virtuel /proc. ps n'a pas besoin d'être setuid kmem ni d'avoir aucun privilèges pour fonctionner. Ne pas donner à ce ps des permissions spéciales.

Ce ps doit accéder aux données namelist pour un affichage correcte de WCHAN.
L'utilisation CPU est actuellement exprimée en pourcentage de temps passé durant tous de cycle d'un processus. Ce n'est pas idéal, et n'est pas conforme au standards.
Les champs SIZE et RSS ne comptent pas certaines parties d'un processus incluant des tables de page, pile kernel, structure thread_info, et structure task_struct. C'est généralement au moins 20KiB de mémoire qui sont toujours résidents. SIZE est la taille virtuelle du processus (code+data+stack).
Les processus marqués ‹defunct› sont des processus morts (appelés zombie) qui restent parce que leur parent ne les ont pas détruit proprement. Ce processus seront détruit par init si le processus parent de termine.
Si la longueur du username est supérieur à la longueur de la colonne d'affichage, le user ID est affiché à la place.

Flags de processus

   La somme de ces valeurs est affiché dans la colonne F, qui est fournis par le spécifieur de sortie flags:

        1 Forké mais pas exécuté
        4 A utilisé les privilèges super-utilisateur.

codes d'état de processus

D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent

codes d'état de processus supplémentaires BSD

high-priority (not nice to other users)
N low-priority (nice to other users)
L has pages locked into memory (for real-time and custom IO)
s is a session leader
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ is in the foreground process group

Spécifieurs de format standard

   Les différents mots clé qui peuvent être utilisés pour contrôler le format de sortie (ex avec l'option -o) ou pour trier les processus sélectionnés avec l'option --sort (exemple: ps -eo pid,user,args --sort user) Cette version de ps tente de reconnaître le plus de mots clés utilisé dans d'autres implémentations de ps.

   Les spécifieurs de format suivant peuvent contenir des espaces: args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start. Certains mots clé peut ne pas être disponible pour le trie.

        CODE - HEADER DESCRIPTION
        %cpu $CPU Utilisation cpu du processus au format "##.#". Actuellement, c'est le temps CPU utilisé divisé par le temps de fonctionnement du processus. (ratio cputime/realtime), exprimé en pourcentage (alias pcpu)
        %mem %MEM Ratio de la taille du jeu résident du processus de la mémoire physique sur la machine, exprimée en pourcentage (alias pmem)
        args COMMAND Commande avec tous ses arguments.
        blocked BLOCKED Masque des signaux bloqués.
        bsdstart START date de démarrage de la commande. Si le processus a démarré depuis moins de 24heures, le format est " HH:MM", sinon c'est "Mmm:SS" où Mmm est le mois sur 3 lettres.
        bsdtime TIME Temps cpu cumulé user + système.
        c C Utilisation du processeur. Actuellement, c'est une valeur entière du pourcentage d'utilisation sur la durée de vie du processus.
        caught CAUGHT Masque des signaux capturés.
        cgroup CGROUP Affiche les cgroupe auquel le processus appartient.
        class CLS Classe de scheduling du processus. Les valeurs de champ possibles sont:

                - not reported
                TS SCHED_OTHER
                FF SCHED_FIFO
                RR SCHED_RR
                B SCHED_BATCH
                ISO SCHED_ISO
                IDL SCHED_IDLE
                ? unknown value

        cls CLS idem à class
        cmd CMD voir args
        comm COMMAND Nom de la commande (seulement le nom de l'exécutable). Les modification du nom de la commande ne seront pas affichés.
        command COMMAND Voir args
        cp CP dixième de pourcentage d'utilisation CPU
        cputime TIME Temps CPU cumulatif au format [DD-]hh:mm:ss (alias time)
        egid EGID GID effecif du processus comme entier décimal
        egroup EGROUP GID effectif du processus. C'est le GID textuel, s'il peut être obtenu et que la largeur du champ le permet, ou une représentation décimal sinon (alias group)
        eip EIP Pointer d'instruction
        esp ESP Pointeur de pile
        etime ELAPSED Temps passé depuis que le processus a démarré, sous la forme [[DD-]hh:]mm:ss.
        etimes ELAPSED Temps passé depuis que le processus a démarré, en secondes
        euid EUID UID effectif (alias uid)
        euser EUSER Nom d'utilisateur effectif. C'est l'UID textuel, s'il peut être obtenu et que la largeur du champ le permet, ou une représentation décimal sinon (alias uname, user)
        flag, flags f F Flags associés avec le processus (alias flag, flags)
        fgid FGID GID d'accès du système de fichier (alias fsgid)
        fgroup FGROUP ID de groupe d'accès du système de fichier. C'est un ID de groupe textuel, s'il peut être obtenu et que la largeur de champ le permet. (alias fsgroup)
        fname COMMAND 8 premiers octets du nom de base du fichier exécutable du processus. La sortie dans cette colonne peut contenir des espaces
        fuid FUID ID utilisateur d'accès au système de fichier (alias fsuid)
        fuser FUSER ID utilisateur d'accès au système de fichier . C'est un ID utilisateur textuel, s'il peut être obtenu et que la largeur de champ le permet
        gid GID voir egid (alias egid)
        group GROUP voir egroup. (alias egroup)
        ignored, IGNORED masque des signaux ignorés (alias sig_ignore, sigignore)
        ipcns IPCNS Numéro d'inode unique décrivant l'espace de nom du process.
        label LABEL Label de sécurité, principalement utilisé par SELinux.
        lstart STARTED date/heure de démarrage de la commande. voir également bsdstart, start, start_time et stime)
        lsession SESSION Affiche l'identifiant de session de login d'un processus, si le support de systemd est inclus
        lwp LWP ID de thread de l'entité dispatchable (alias spid,tid)
        lxc LXC nom du conteneur lxc dans lequel la tâche tourne.
        machine MACHINE Affiche le nom de la machine pour les processus assigné à des VM ou conteneurs, si le support de systemd est inclus
        maj_flt MAJFLT numéro de page faults majeur qui s'est produit avec ce processus
        min_flt numéro de page faults mineur qui s'est produit avec ce processus
        mntns MNTNS Numéro d'inode unique décrivant l'espace de nom du process.
        netns NETNS Numéro d'inode unique décrivant l'espace de nom du process.
        ni NI Valeur nice.
        nice voir ni
        nlwp NLWP nombre de lwps (threads) dans le processus. Alias thcount.
        nwchan WCHAN Adresse de la fonction kernel où le processus attend.
        ouid OWNER UID de propriétaire de la session d'une processus, si le support de systemd est inclus
        pcpu %CPU (alias %cpu)
        pending PENDING Masque de signaux d'attente. Les signaux d'attente dans le processus sont distincts des signaux d'attente des threads individuels. Utiliser l'option m ou -m pour voir les 2. (alias sig)
        pgid PGID ID du groupe du processus, ou ID de processus du groupe du chef de processus (alias pgrp)
        pgrp PGRP (alias pgid)
        pid PID ID du processus (alias tgid)
        pidns PIDNS Numéro d'inode décrivant l'espace de nom auquel le processus appartient
        pmem %MEM (alial %mem)
        policy POL Classe du scheduler du processus (alias class, cls)
        ppid PPID ID du processus parent
        pri PRI Priorité du processus. Des valeur élevée signifient un priorité inférieure
        rgid RGID GID réel
        rgroup RGROUP Nom réel du groupe.
        rss RSS Resident Set Sigze, la mémoire physique non-swappée qu'une tâche a utilisé (en Ko) (alias rssize, rsz)
        rssize RSS (alias rss, rsz)
        rsz RSZ (alias rss, rssize)
        rtprio RTPRIO Realtime priority
        ruid RUID UID réel
        ruser RUSER Nom d'utilisateur réel
        s S État (sur un caractère). Voir stat. (alias state)
        sched SCH Stratégie de scheduling du processus. Les stratégies SCHED_OTHER (SCHED_NORMAL), SCHED_FIFO, SCHED_RR, SCHED_BATCH, SCHED_ISO, et SCHED_IDLE sont affichés respectivement 0, 1, 2, 3, 4, et 5.
        seat SEAT Identifiant associé avec tous les périphériques hardwares assignés à l'emplacement spécifique, si le support de systemd est inclus
        sess SESS ID de session, ou le PID du chef de session. (alias session, sid)
        sgi_p P Processeur sur lequel le processus est exécuté. Affiche '*' si le processus n'est pas en cours d'exécution
        sgid SGID GID sauvé (alias svgid)
        sgroup SGROUP Nom du groupe sauvé.
        sid SID (alias sess, session)
        sig PENDING (alias pending, sig_pend)
        sigcatch CAUGHT (alias caught, sig_catch)
        sigignore IGNORED (alias ignored, sig_ignore)
        sigmask BLOCKED (alias blocked, sig_block)
        size SIZE Quantité approximative d'espace swap qui est requis si le processus modifiait les pages writable puis se swapait. Ce nombre est très approximatif
        slice SLICE Affiche l'unité slice auquel appartient le processus, si le support systemd est inclus
        spid SPID (alias lwp,tid)
        stackp STACKP Adresse du bas de la pile pour le processus
        start STARTED Date à laquelle la commande a démarré. Si le processus n'a pas été démarré la même année que ps, affiche seulement l'année
        start_time START Date et heure de lancement du processus.
        state S (alias s)
        suid SUID UID sauvé. (alias svuid)
        supgid SUPGID GID des groupes supplémentaires
        supgrp SUPGRP Noms des groupes supplémentaires
        suser SUSER Nom de l'utilisateur sauvegardé
        svgid SVGID (alias sgid)
        svuid SVUID (alias suid)
        sz SZ Taille dans les pages physiques de l'image core du processus. Inclus text, data, et stack
        tgid TGID Nombre représentant le groupe de threads auquel une tâche appartient. (alias pid)
        thcount THCNT nombre de threads kernels possédés par le processus (alias nlwp)
        tid TID Nombre unique représentant une entité dispatchable. (alias lwp, spid).
        time TIME Temps CPU cumulé au format "[DD-]HH:MM:SS". (alias cputime)
        tname TTY tty contrôlant. (alias tt, tty)
        tpgid TPGID ID du groupe de processus sur le tty auquel le processus est connecté, ou -1 si le processus n'est pas connecté à un tty
        trs TRS Taille Text resident set, quantité de mémoire physique dévouée au code exécutable
        tt TT TTY controlant (alias tname, tty)
        tty TT (alias tname, tt)
        ucmd CMD (alias comm, ucomm)
        ucomm COMMAND alias (comm, ucmd)
        uid UID (alias euid)
        uname USER (alias euser,user)
        unit UNIT Unit auquel appartient le processus, si le support systemd est inclus.
        user USER (alias euser, uname)
        userns USERNS Numéro inode unique décrivant l'espace de nom auquel le processus appartient.
        utsns UTSNS Numéro inode unique décrivant l'espace de nom auquel le processus appartient.
        uunit UUNIT user le unit auquel appartient le processus, si le support systemd est inclus
        vsize VSZ (alias vsz)
        vsz VSZ Taille de mémoire virtuelle en Kio. (alias vsize)
        wchan WCHAN Nom de la fonction kernel dans lequel le processus est en attente.

Variables d'environnement

COLUMNS Change la largeur d'affichage par défaut
LINES Change la hauteur par défaut
PS_PERSONALITY posix, old, linux, bsd, sun, digital, ...
CMD_ENV posix, old, linux, bsd, sun, digital, ...
I_WANT_A_BROKEN_PS Force l'interpretation de ligne de commande obsolète
LC_TIME Format de date
POSIXLY_CORRECT Strictement Conforme à POSIX
POSIX2 À on, agit comme POSIXLY_CORRECT
UNIX95 Pas d'excuse pour ignorer les mauvaise fonctionnalités de ps
_XPG Annule CMD_ENV=irix
^
03 février 2016

htmlpdflatexmanmd




ptmx

ptmx, pts

Pseudo-terminaux maître et esclave

   Le fichier /dev/ptmx est un fichier spécial caractère avec un numéro majeur 5 et un numéro mineur 2, en mode 0666, appartenant à root:root. Il sert à créer une paire de pseudo-terminaux maître et esclave.

   Lorsqu'un processus ouvre /dev/ptmx, il reçoit un descripteur de fichier pour le pseudo-terminal maître (PTM), et un périphérique est créé pour le pseudo-terminal esclave (PTE) dans le répertoire /dev/pts. Chaque descripteur obtenu en ouvant /dev/ptmx est un PTM indépendant avec son PTE associé, dont le chemin d'accès peut être obtenu en passant le descripteur à ptsname(3).

   Avant d'ouvrir le pseudo-terminal esclave, vous devez passer le descripteur du maître à grantpt(3) et unlockpt(3). Une fois que les 2 pseudo-terminaux sont ouverts, l'esclave fournit une interface au processus qui est identique au vrai terminal.

   Les données écrites sur l'esclave se retrouvent en entrée sur le descripteur du maître. Les données écrites sur le maître se retrouvent en entrée sur l'esclave.

   En pratique les pseudo-terminaux servent à implémenter des émulateurs de terminaux comme xterm(1), dans lesquels les données lues sur le terminal maître sont interprétées par l'application de la même manière que le ferait un vrai terminal, et pour implémenter des programmes de connexion distante comme sshd dans lesquels les données lues sur le PTM sont envoyées sur le réseau à un programme client qui est connecté à un terminal ou un émulateur.

   Les pseudo-terminaux servent aussi à envoyer des données aux programmes qui refusent de lire des données depuis des tubes (comme us et passwd)

Notes

   Le support sous Linux est réalisé en utilisant le système de fichier devpts, qui devrait être monté sous /dev/pts.
^
03 février 2016

htmlpdflatexmanmd




pty

pty

Interfaces de pseudo-terminaux

   Un pseudoterminal (abrégé pty) est une paire de périphériques caractères virtuels qui fournissent un canal de communication bidirectionnelle. Un bout du canal est appelé le maître, l'autre est appelé esclave. Le bout esclave du pseudo-terminal fournit une interface qui se comporte exactement comme un terminal classique. Un processus qui s'attend à être connecté à un terminal peut ouvrir le bout esclave d'un pseudo-terminal puis être piloté par un programme qui a ouvert le bout maître. Tout ce qui est écrit sur le maître est fourni au processus sur l'esclave comme si c'était écrit sur un terminal. Par exemple, écrire le caractère d'interruption (généralement ctrl-C) sur le périphérique maître cause l'envoi d'un signal d'interruption SIGINT au groupe de processus qui est connecté à l'esclave. Réciproquement, tout ce qui est écrit sur l'esclave peut être lu par le processus qui connecté au maître. Les pseudo-terminaux sont utilisé par des application telles que des services de login à distance (ssh, rlogin, telnet), les émulateurs de terminaux, script, screen, et expect.

   Historiquement, 2 API de pseudo-terminaux ont évolués: BSD et System V. SUSv1 a standardisé une API de pseudo-terminal basée sur l'interface System V, et cette API doit être utilisée dans tous les nouveaux programmes qui utilisent des pseudo-terminaux.

   Linux fournit à la fois des pseudo-terminaux de type BSD et de type System V (standardisés). Les terminaux de type System V sont souvent appelés pseudo-terminaux UNIX 98 sur les systèmes Linux. Depuis Linux 2.6.4, les pseudo-terminaux de type BSD sont considérés obsolètes.

Pseudoterminaux UNIX 98

   Un maître est ouvert en appelant posix_openpt(3). Cette fonction ouvre le périphérique de clonage de maître, /dev/ptmx; Une fois initialisé le périphérique, changé le propriétaire et les permissions du périphérique esclave avec grantpt(3), et déverrouillé l'esclave avec unlockpt(3), le périphérique esclave correspondant peut être ouvert en passant le nom renvoyé par ptsname(3) dans un appel à open(2).

   Le noyau Linux impose une limite au nombre de pseudo-terminaux UNIX 98 disponibles. La limite est ajustable de façon dynamique par le fichier /proc/sys/kernel/pty/max, et le fichier /proc/sys/kernel/pty/nr indique combien de peudoterminaux sont actuellement utilisés.

Pseudoterminaux BSD

   Les pseudo-terminaux de type BSD sont fournis par paires précréées, avec des noms sous la forme /dev/ptyXY (maître) et /dev/ttyXY (esclave), ou X est une lettre de l'ensemble de 16 caractères [p-za-e], et Y est une lettre de l'ensemble de 16 caractères [0-9a-f]. Un processus trouve un pseudo-terminal inutilisé en essayant d'ouvrir chaque maître de pseudo-terminal avec open(2) jusqu'à ce qu'une ouverture réussisse.

Fichiers

/dev/ptmx Périphérique de clonage de maître UNIX 98
/dev/pts/0 /dev/pts/1 /dev/pts/2 /dev/pts/3 /dev/pts/ptmx Périphériques esclaves UNIX 98
/dev/pty[p-za-e][0-9a-f] périphériques maîtres BSD
/dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3 /dev/ttyS4 /dev/ttyS5 /dev/ttyS6 /dev/ttyS7 /dev/ttyS8 /dev/ttyS9 périphériques esclaves BSD

Notes

   Une description de l'ioctl TIOCPKT qui contrôle l'opération en mode paquet, se trouve dans tty_ioctl(4).
^
20 juin 2016

htmlpdflatexmanmd




pv

pv

Superviser la progression des données via un pipe

   pv affiche la progression des données via un pipeline en donnant des informations tel que le temps passé, le pourcentage complété (avec barre de progression), Taux, total transféré, et ETA. Pour l'utiliser, l'insérer dans un pipeline entre 2 processus, avec les options appropriées. Son entrée standard sera passé à sa sortie standard et la progression sera affichée sur l'erreur standard. pv copie chaque fichier fournis en retour sur la sortie standard. Si aucun fichier n'est spécifié, copie simplement l'entrée standard, et fonctionne comme cat.

Options d'affichage

-p, --progress Active la barre de progression. Si l'entrée standard n'est pas un fichie et qu'aucune taille n'est donnée, la barre ne peut pas indiquer la progression, et se déplace donc de gauche à droite pour indique que les données sont en cours de déplacement
-t, --timer Active le timer. Affiche le temps passé total.
-e, --eta Active le timer ETA. Il tente de le deviner, basé sur les taux de transfert précédents et la taille totale des donnée.
-I, --fineta Active le timer ETA, mais affiche la date locale estimée de l'arrivée au lieu du temps passé.
-r, --rate Active le compteur de taux.
-a, --average-rate Affiche le compteur moyen de taux
-b, --bytes Affiche le compteur d'octets total
-T, --buffer-percent Active l'affichage du % de tampon transféré.
-A, --last-written NUM Affiche les dernier NUM octets écris
-F, --format FORMAT Ignore les options -p, -t, -e, -r, -a- -b, -T et -A et utilise le format spécifié pour déterminer le format de sortie.
-n, --numeric Sortie numérique. Au lieu de donner une indication visuelle de la progression, pv donne un entier en %, un par ligne, sur l'erreur standard.
-q, --quiet Pas de sortie. Utile avec -L

Options de sortie

-W, --wait Attend que le premier octet soit transféré avant d'afficher la barre de progression ou calculer tout ETA.
-D, --delay-start SEC Attend le délai spécifié avant afficher les informations de progression
-s SIZE, --size SIZE Assume que la quantité totale de données à transférer est SIZE octets en calculant les pourcentages et les ETA.
-l, --line-mode Au lieu de compter les octets, compte les lignes.
-0, --null Compte les lignes terminées par un caractère null. implique --line-mode
-i SEC, --interval SEC délai de mise à jours. (défaut: toutes les secondes)
-w WIDTH, --width WIDTH Assume que le terminal fait WIDTH caractères de large (défaut: 80 s'il ne peut pas le deviner)
-H HEIGHT, --height HEIGHT Assume que le terminal fait HEIGHT lignes de haut (défaut: 25 s'il ne peut pas le deviner)
-N NAME, --name NAME Préfixe les informations de sortie avec le nom spécifié.
-f, --force Force la sortie. Normalement, pv ne sort pas d'affichage visuel si l'erreur standard n'est pas un terminal.
-c, --cursor Utilise les séquences de positionning du curseur au lieu des retours charriot.

Options de transfert

-L RATE, --rate-limit RATE Limite le taux de transfert
-B BYTES, --buffer-size BYTES Utilise une taille de tampon de transfers à la taille spécifiée
-C, --no-splice N'utilise jamais splice(2), même si c'est possible. cet appel système est une manière plus efficace de transférer des données dans un pipe que read(2) et write(2), mais signifie que le tampon de transfert ne peut pas être utilisé. Cela empêche -A et -T de fonctionner.
-E, --skip-errors Ignore les erreurs de lecture en tentant de sauter ces sections. (similaire à dd conv=sync, noerror)
-S, --stop-at-size Si une taille est spécifiée avec -s, stop le transfert une fois cette taile atteinte.
-d PID[:FD], --watchfd PID[:FD] Au lieu de transférer des données, lit de descripteur de fichier du PID spécifié.
-R PID, --remote PID Si PID est une instance de pv qui est déjà en cours de fonctionnement, cette option force cette instance à agir comme si elle avait été donnée sur la ligne de commande.

Options générales

-P FILE, --pidfile FILE Sauve le PID de pv dans le fichier spécifié.

Formattage

   l'option -F permet de déterminer le format de sortie. les séquences suivantes peuvent être utilisées:

%p Barre de progression. Équivalent à -p
%t Temps passé. Équivalent à -e
%e Temps restant ETA. Équivalent à -e
%I Temps local ETA restant. Équivalent y -I
%r Taux de transfert de données courant. Équivalent à -r
%a Taux de transfert moyen des données. Équivalent à -a
%b Octets transférés. Équivalent à -b
%T % de tampon de transfert utilisé. Équivalent à -T
%nA Affiche les derniers n octets écrits.
%N préfix à ajouter. Équivalent à -N
%% le caractère %

Codes de sortie

1 Indique un problème avec les options -R ou -P
2 Un ou plusieurs fichiers ne peuvent pas être accedés, stat(2) ou ouverts
4 Un fichier d'entrée est le même que le fichier de sortie
8 Erreur interne avec la fermeture d'un fichier ou en passant au fichier suivant
16 Erreur en transférant des données
32 Un signal a fait quitté prématurément
64 Erreur d'allocation mémoire

Exemples

voir la vitesse de transfert de fichie avec nc:
pv file | nc -w 1 somewhere.com 3000
transférer un fichier d'un autre processus et passer la taille attendue à pv:
cat file | pv -s 12345 | nc -w 1 somewhere.com 3000
Exemple plus complexe utilisant une sortie numérique pour aller dans dialog pour un affichage de progression plein-écran
(tar cf - . | pv -n -s $(du -sb . | awk '{print $1}') | gzip -9 › out.tgz) 2›&1 | dialog --gauge 'Progress' 7 70
Prend une image d'un disque, en sautant les erreurs:
pv -EE /dev/sda › disk-image.img
Écrire une image dans un disque
pv disk-image.img › /dev/sda
Remplir un disque de 0. Noter que si l'entrée ne peut pas être calculée, et que la sortie est un périphérique block, la taile du périphérique block sera utilisé et pv stopera automatiquement à cette taille.
pv ‹ /dev/zero › /dev/sda
Voir le descripteur 3 ouvert par un autre processus:
pv -d 1234:3
Voir tous les descripteurs de fichier utilisés par le processus 1234
pv -d 1234
^
03 novembre 2011

htmlpdflatexmanmd




pwck

pwck

Vérifier l’intégrité des fichiers de mots de passe

   Toutes les entrées de /etc/shadow et /etc/passwd sont vérifiées afin de s’assurer qu’elles ont le bon format et qu’elles contiennent des données valables dans chaque champ. Une confirmation est demandé pour détruire les entrées mal formatées ou ayant des erreurs irrécupérables.

Vérifications effectuées

        Nombre correcte de champs
        Unicité des noms d’utilisateurs
        Validité des UID et GID
        Validité des groupes primaires
        Validité du répertoire personnel
        Validité du shell initial

   Les vérifications dans shadow sont effectuées quand un second paramètre de fichier est spécifié ou quand /etc/shadow existe sur le système. Les vérifications sont :

        Chaque mot de passe correspond à une entrée shadow, et chaque shadow a une entrée dans passwd
        Les mots de passe sont indiqués dans le fichier des mots de passe cachés
        Nombre correct de champs
        Le dernier changement de mot de passe n’est pas dans le future.

OPTIONS

-q Les avertissements qui ne nécessitent pas une action de l’utilisateur ne sont pas affichés
-r Mode lecture seule
-s Trie les entrées de /etc/passwd et /etc/shadow par UID

   pwck utilise des variables dans login.defs

Valeurs de retour

0 succès
1 erreur de syntaxe
2 une entrée de mot de passe est incorrecte
3 impossible d’ouvrir les fichiers de mots de passe
4 impossible de verrouiller les fichiers de mots de passe
5 impossible de mettre à jours les fichiers de mots de passe
6 impossible de trier les fichiers de mots de passe
^
03 novembre 2011

htmlpdflatexmanmd




pwconv

pwconv, pwunconv, grpconv, grpunconv

Convertir vers et depuis les fichiers de mots de passe ou de groupe cachés

pwconv crée le fichier shadow à partir du fichier passwd et d’un éventuel fichier shadow
pwunconv crée le fichier passwd à partir des fichiers shadow et passwd puis supprime shadow
grpconv crée le fichier gshadow à partir du fichier group et d’un éventuel fichier gshadow
grpunconv crée le fichier group à partir des fichiers gshadow et group puis supprime gshadow

   pwconv et grpconv sont similaires. Dans un premier temps, les entrées shadow ou gshadow qui n’existent pas dans passwd ou group sont retirés. Ensuite, les entrées shadow n’ayant pas pour mot de passe ’x’ dans le fichier passwd sont mises à jours. Enfin les entrées passwd sont remplacées par ’x’.

  pwunconv et grpunconv sont similaires. Les mots de passe principaux sont mis à jours à partir des fichiers shadow. Les entrées existant dans passwd mais pas dans shadow sont laissés. Puis shadow est supprimé.

  Ces utilitaires utilisent les paramètres dans login.defs

^
28 août 2015

htmlpdflatexmanmd




quot

quot

Sommaire du propriétaire de système de fichier

   Affiche le nombre de Ko dans le système de fichiers actuellement possédé par chaque utilisateur et groupe. Ne fonctionne qu'avec XFS.

OPTIONS

-a Génère un rapport pour tous les systèmes de fichier montés en donnant la taille utilisé par chaque utilisateur et groupe.
-c Affiche 3 colonnes donnant la taille de fichier en Ko, le nombre de fichiers, et un total cumulé.
-f Affiche un compteur en Ko et le nombre de fichiers possédé par chaque utilisateur et groupe
-g Reporte les groupes
-u Reporte les utilisateurs
-v Affiche 3 colonne contenant le nombre de Ko non accédés dans les 30, 60, et 90 derniers jours.
-i Ignore les montages montés par automounter
-T Évite de tronquer les noms d'utilisateurs de plus de 8 caractères
-Q Ne trie par la sortie
^
28 août 2015

htmlpdflatexmanmd




quota

quota

Affiche l'utilisation disque et les limites

OPTIONS

-F, --format=format-name Affiche le quota au format spécifié: vfsold (16-bits UID), vfsv0 (32bits UID), vfsv1 (format 64bits) rpc (quota sur NFS), xfs (quota sur les système XFS).
-g, --group Affiche les quotas de groupe pour le groupe auquel l'utilisateur est membre. Les groupes optionnels spécifié restreigne l'affiche à ceux-ci
-u, --user Flag équivalent au mode par défaut
-v, --verbose Affiche les quotas dans les systèmes de fichier où aucun stockage n'est alloué
-s, --human-readable Affichage au format automatique
--always-resolve Tente toujours de traduire les user/group en uid/gid même si le nom est composé de chiffre uniquement.
-p, --raw-grace Quand l'utilisateur est en période de grâce, le temps en seconde est reporté. Le champ vaut '0' quand la période de grâce n'est pas en effet.
-i, -no-autofs Ignore les points de montage montés par automounter
-l, --local-only Reporte les quotas seulement sur les systèmes de fichiers locaux.
-A, --all-nfs Reporte les quotas pour tous les systèmes de fichier NFS
-f, --filesystem-list Reporte les quotas seulement pour les systèmes de fichier spécifiés sur la ligne de commande.
-m, --no-mixed-pathnames Actuellement, les chemins des points de montage NFS4 sont envoyés sans le dernier '/'. rpc.rquotad l'utilise pour reconnaître les montages NFS4. Cette option envoie toujours des chemin avec le dernier '/'.
-q, --quiet Affiche un message plus concis, contenant seulement les informations sur les systèmes de fichier où les quotas sont en cours.
-Q, --quiet-refuse N'affiche pas de message d'erreur si la connection à rpc.rquotad est refusé.
-w, --no-wrap N'enveloppe pas la ligne si le périphérique est trop long. Utile pour les scripts
--show-mntpoint Affiche également le point de montage comme identification de système de fichier
--hide-device N'affiche pas le nom de périphérique dans une identification de système de fichier

   Seul root peut utiliser -u pour afficher les limites d'autres utilisateurs.

Fichiers

aquota.user
aquota.group Fichier de quota à la racine du système de fichier (v2)
quota.user
quota.group Fichier de quota à la racine du système de fichier (v1)
/etc/mtab Systèmes de fichiers par défaut.
^
28 août 2015

htmlpdflatexmanmd




quotacheck

quotacheck

Scanne un système de fichier pour l'utilisation disque, créé, vérifie et répare les fichiers de quota

   quotacheck examine chaque système de fichier, construit une table d'utilisation disque courant, et compare cette table avec ceux qui sont enregistrés dans le fichier de quota. Si une inconsistance est détectée, le fichier le quota et le système courant sont mis à jours. Par défaut, seul les quotas utilisateur sont vérifiés. quotacheck s'attend à ce que chaque système de fichier à vérifier ai les quota activés.

   quotacheck devrait être lancé à chaque démarrage du système quand des systèmes de fichiers non-valide sont montés. Il est fortement recommandé de lancer quotacheck avec les quotas désactivé pour le système de fichier.

OPTIONS

-b, --backup force à créer des backup pour le fichier de quota avant d'écrire.
-v, --verbose Reporte ses opération à mesure de sa progression.
-d, --debug Mode debug, affiche beaucoup d'informations.
-u, --user Vérifie seulement les quotas utilisateur
-g, --group vérifie seulement les quotas de groupe.
-c, --create-files Ne lit par les fichiers de quota non existants. Ne fait qu'un scan et le sauvegarde sur le disque.
-f, --force Force la vérification et l'écriture d'un nouveau fichier de quota.
-M, --try-remount Ce flag force la vérification en mode lecture/écriture si le remontage échoue.
-m, --no-remount Ne tente pas de remonter le système de fichier lecture-seul.
-i, --interactive Mode interactif.
-n, --use-first-dquot Si les fichiers de quota deviennent corrompus, il est possible de dupliquer les entéers pour un simple utilisateur ou groupe.
-F, --format=format-name Traite les quotas au format spécifié: vfsold (16-bits UID), vfsv0 (32bits UID), vfsv1 (format 64bits) rpc (quota sur NFS), xfs (quota sur les système XFS).
-a, --all Vérifie tous les système de fichiers montés non-NFS dans /etc/mtab
-R, --exclude-root Utilisé avec -a, tous les systèmes de fichier excepté le système de fichier racine sont vérifiés.
^
28 août 2015

htmlpdflatexmanmd




/etc/quotagrpadmins

/etc/quotagrpadmins



   Ce fichier liste les administrateurs des groupes qui vont recevoir une alerte si warnquota --group trouve un groupe excédant ses limites. Chaque ligne consiste d'un nom de groupe, suivi par ':' et un nom d'utilisateur.

Exemple:
# comment
users: root

^
28 août 2015

htmlpdflatexmanmd




quotaon

quotaon, quotaoff

Active/désactive les quotas

   quotaon annonce au système que les quotas disques devraient être activés sur un ou plusieurs systèmes de fichiers. Les fichiers de quota de système de fichier doivent être présents dans le répertoire root du système de fichier spécifié et doit être nommé soit aquota.user pour la version 2, soit quota.user pour la version 1, aquota.group ou quota.group.

   Les systèmes de fichier XFS sont des cas spéciaux. XFS considère les informations de quota comme des métadonnées du système de fichier et utilise un journal pour fournir un haut niveau de garantie de consistance. Il y a 2 composants du système de quota XFS: l'accounting et les limites. Les systèmes de fichier XFS nécessitent que le quota accounting soit activé au montage. Il est possible de l'activer/désactiver les limites à la volée.

   quotaoff annonce au système que les systèmes de fichier devraient désactiver les quotas.

Options quotaon

-F, --format=format-name Affiche le quota au format spécifié: vfsold (16-bits UID), vfsv0 (32bits UID), vfsv1 (format 64bits) rpc (quota sur NFS), xfs (quota sur les système XFS).
-a, --all Tous les système de fichiers monté et non NFS dans /etc/fstab avec quota sont activés pour les quotas.
-v, --verbose Affiche un message pour chaque système de fichier où les quotas sont activés.
-u, --user Manipule les quotas utilisateur
-g, --groupe Manipule les quotas de groupe
-p, --print-state Au lieu d'activer les quotas, affiche seulement l'état des quotas.
-x, --xfs-command enforce gérè les limites pour XFS
-f, --off quotaon se comporte comme quotaoff

Options quotaoff

-F, --format=format-name Affiche le quota au format spécifié: vfsold (16-bits UID), vfsv0 (32bits UID), vfsv1 (format 64bits) rpc (quota sur NFS), xfs (quota sur les système XFS).
-a, --all Tous les système de fichiers monté et non NFS dans /etc/fstab avec quota sont désactivés pour les quotas.
-v, --verbose Affiche un message pour chaque système de fichier affecté
-u, --user Manipule les quotas utilisateur
-g, --groupe Manipule les quotas de groupe
-p, --print-state Au lieu de désactiver les quotas, affiche seulement l'état des quotas.
-x, --xfs-command enforce gérè les limites pour XFS
-x, --xfs-command account peut être utilisée pour désactiver le quota accounting.
^
28 août 2015

htmlpdflatexmanmd




quotastats

quotastats

Affiche des statistiques sur les quota

   Il affiche les élements suivants:

- version de quota supporté par le kernel
- Nombre de recherches dquot
- Nombre d'abandons dquot
- Nombre de lectures dquot
- Nombre d'écritures dquot
- Nombre de synchro quotafile
- Nombre d'atteintes du cache dquot
- Nombre de dquot alloués
- Nombre de dquot libres
- Nombre d'entrée dquot utilisés

^
28 août 2015

htmlpdflatexmanmd




/etc/quotatab

/etc/quotatab

device description

   Ce fichier liste des descriptions des périphérique pour les notifications warnquota. Chaque ligne consiste d'un nom de périphérique suivi par un ':' et une description.

Exemple:
# comment
/dev/sda2: Home directories.|This becomes the second line.

^
28 août 2015

htmlpdflatexmanmd




quotatool

quotatool

Manipule les quotas des systèmes de fichier

OPTIONS

-u [[:]uid] Définis les quotas utilisateur. ':' permet d'utiliser les uid non présent dans /etc/passwd
-g [[:]gid Définis les quotas de groupe. ':' permet d'utiliser les gid non présent dans /etc/group
-b Définis les quotas de block
-i Définis les quotas de inode
-R Ne fait qu'augmenter les quotas, jamais les diminuer.
-t TIME Définis la période de grâce du système.
-r Ré-initialise la période de grâce
-l NUM Définis la limite hard
-q Définis la limite soft
-d Dump les informations de quota pour les utilisateur/groupe au format machine
Mode simulation, ne fait rien
-v Mode verbeux, peut être spécifié jusqu'à 3 fois

Exemples

Définis la limite de block soft à 800Mo, la limit hard à 1Go pour l'utilisateur mpg4 dans /home
quotatool -u mpg4 -b -q 500M -l 1G /home
augmente la limite soft de 100Mo pour le gid non-existant 12345 dans /dev/loop3
quotatool -g :12345 -b -q +100M /dev/loop3
Définis la limite d'inode hard à 2000 pour l'utilisateur johan dans /var
quotatool -u johan -i -l 2000 /var
Définis la période de grâce de block global à une semaine dans /home
quotatool -u -b -t "1 week" /home
Redémarre la période de grâce d'inode pour l'utilisateur johan sur le système de fichier racine
quotatool -u johan -i -r /
^
28 août 2015

htmlpdflatexmanmd




quota_nld

quota_nld

Service de message netlink de quota

   quota_nld écoute sur un socket netlink et traite les alertes de quota reçus. Par défaut, quota_nld renvois ces messages sur DBUS et le terminal du l'utilisateur pour lequel l'alerte est dirigé.

OPTIONS

-D, --no-dbus Ne renvois pas les warning sur DBUS
-C, --no-console N'affiche pas d'alerte sur le terminal de l'utilisateur
-b, --print-below Si les alertes de quota sont affichés sur le terminal de l'utiliteur, inclus les messages sur leur limites soft et hard.
-F, --foreground Lance le service en tâche de fond.
^
23 mai 2010

htmlpdflatexmanmd




renice

renice

Modifie la priorité d'un processus en cours d'exécution

OPTIONS

-n, —priority La priorité du processus
-g, —pgrp spécifier l'ID du groupe de processus
-u, —user spécifier l'utilisateur
-p, —pid spécifier l'ID du processus

Exemples

Change la priorité des processus 987 et 32, et tous les processus des utilisateur daemon et root
renice +1 987 -u daemon root -p 32
^
28 août 2015

htmlpdflatexmanmd




repquota

repquota

Sommaire des quotas pour un système de fichier

   repquota affiche un sommaire de l'utilisation disque et des quotas pour les systèmes de fichier spécifiés. Pour chaque utilisateur le nombre courant de fichiers et la quantité d'espace (en Ko) est affiché, avec les limites de quotas. Dans la 2ème colonne repquota affiche 2 caractères marquant queles limites sont dépassées. Si l'utilisateur est au-delà de son espace softlimit ou atteins son hardlimit, le premier caractère est '+'. Sinon, le caractère affiché est '-'.

   repquota doit traduire les id de tous les utilisateurs/groupes pour les noms donc il prend du temps pour afficher toutes les informations.

OPTIONS

-a, --all Reporte tous les systèmes de fichiers indiqués dans /etc/mtab
-v, --verbose Reporte tous les quotas, même s'ils n'y a pas d'utilisation.
-c, --batch-translation Cache les entrées pour reporter et traduire les uid/gid plus rapidement.
-C, --no-batch-translation Traduit les entrées individuellement. C'est plus rapide quand les utilisateurs sont stockés dans une base de donnée.
-t, --truncate-names tronque les user/groupe supérieurs à 9 caractères.
-n, --no-names Ne pas résoudre les UID/GID
-s, --human-readable Format automatique
-p, --raw-grace Quand l'utilisateur est en période de grâce, le temps en seconde est reporté. Le champ vaut '0' quand la période de grâce n'est pas en effet.
-i, --no-autofs ignore les points de montage montés par automounter
-F, --format=format-name Affiche le quota au format spécifié: vfsold (16-bits UID), vfsv0 (32bits UID), vfsv1 (format 64bits) rpc (quota sur NFS), xfs (quota sur les système XFS).
-g, --group Reporte les quotas utilisateur
-u, --user Reporte les quotas de groupe
^
03 février 2016

htmlpdflatexmanmd




resizecons

resizecons

Change l'idée kernel de la taille de la console

   La commande resizecons tente de changer le mode vidée de la console. Il y a différents aspects à cela: le kernel, le matériel doit le savoir et les programmes utilisateurs doivent le savoir, et la police de la console peut nécessiter une adaptation.

   Le kernel parle des changement en utilisant l'ioctl VT_RESIZE. Cela permet au kernel de ré-allouer la mémoire écran de la console pour toutes les consoles virtuelles, et peut échouer s'il n'a pas suffisamment de mémoire. Dans ce cas, il tente de dé-allouer certaines consoles virtuelle en premier. Si cet ioctl réussit, mais une dernière étape ( par ex. vous n'avez pas les permissions), vous pouvez vous retrouver avec un écran désordonné.

   La partie la plus difficile côté matériel, vu qu'il nécessite une connaissance détaillée du matériel vidéo, et des nombreux registres. Seul le changement de lignes est assez facile, et resizecons tente de le faire lui-même avec l'option -lines. La commande resizecons COLSxROWS va exécuter restoretextmode -r COLSxROWS ( et donc nécessite d'avoir svgalib d'installé). Ici, COLSxROWS est un fichier qui a été cré par restoretextmode -w COLSxROWS. Les permissions root sont requises, ou restoretextmode doit avoir le setuid root.

   Pour les programmes utilisateurs, resizecons fait un 'stty rows ROWS cols COLS' pour chaque console active ( entre tty0 et tty15), et envoie un SIGWINCH à selection s'il le trouve dans /tmp/selection.pid.

   Enfin, il traite les fonts en exécutant setfont. Généralement, la mauvaise font est chargée, et il est nécessaire de choisir une autre font avec setfont par vous-même.

Bugs

   resizecons ne fontionne pas avec tous les hardwares. Par exemple, il ne peut pas être utilisé sur les plateformes autre que x86 et x86_64. Voir fbset comme alternative.
^
28 mars 2016

htmlpdflatexmanmd




rmmod

rmmod

Supprime un module du kernel Linux

OPTIONS

-v, --verbose mode verbeux
-f, --force Peut être très dangereuse : n’a pas d’effet sauf si CONFIG_MODULE_FORCE_UNLOAD est mis à la compilation du kernel
-w, --wait Normalement rmmod refuse de décharger des module en cours d’utilisation. Avec cette option, isole le module et attend que le module ne soit plus utilisé.
-s, --syslog Envoie les erreurs à syslog ou l’erreur standard
^
31 mars 2016

htmlpdflatexmanmd




rngd

rngd

Vérifie et remplis le pool d'entropie du kernel depuis une source d'entropie

   rngd fonctionne sur des blocks de 20000bits à la fois en utilisant les tests FIPS 140-2 pour vérifier le caractère aléatoire des données. Si la donnée est bien aléatoire, le block est envoyée, random-step*8bits à la fois dans le pool d'entropie du kernel, jusqu'à ce que le poot soit plein.

OPTIONS

-b, --background met en tâche de fond
-f, --foreground Ne fork pas ni ne détache du terminal
-R, --rng-driver=name Pilote de source d'entropie. 'stream' est un pilote d'entrée de flux Unix généraliste capable de reçevoir des données depuis un fichier, un pipe donné, ou un périphérique caractère Unix. 'viapadlock' est un pilote de l'espace utilisateur pour TRNG embarqué sur certains CPU VIA qui ont le moteur de sécurité VIA PadLock
-o, --random-device=file Périphérique pour la sortie de l'entropie. Défaut: /dev/random
-r, --rng-device=file Pilote kernel, fifo ou fichier utilisé pour l'entrée d'entropie. Défaut: /dev/hwrng
--hrng=name Sélectionne un HRNG connu. help liste les HRNG connus.
-H, --rng-entropy=n.n Entropie par bit de donnée d'entrée. C'est un nombre à virgule flottante entre 0 et 1. Défaut: 1.0
-Q, --rng-quality=quality Sélectionne la qualité de la donnée aléatoire qu'une source d'entropie génère. 'default', 'low', 'medium' ou 'high'. N'utiliser que high si la donnée aléatoire est obtenue directement.
-B, --rng-buffers=n Nombre de tampons 20000bits à utiliser. Défaut: 3
-s, --random-step=n Nombre d'octets écris dans le périphérique aléatoire à la fois, entre 8 et 2500. Défaut: 64
-W, --fill-watermark=n[%] Remplis le pool d'entropie jusqu'à atteindre % de données d'entropie dans le pool. Défaut: 50%
-t, --feed-interval=n non-zéro, rngd force en remplir le pool même si celui-ci est plein
-T, --rng-timeout=n Temps à attendre les donnée pour démarrer. 0 attend indéfiniment. Défaut: 10
-p, --pidfile=file Fichier contenant le pid du processus

   rngd dump certaines statistiques dans son canal de sortie chaque heure, et à la reception de SIGUSR1. Ce canal est soit stderr en mode foreground, ou syslog en mode background.

Codes de sortie

0 aucune erreur ne s'est produite
1 La source a un problème
10 problème de paramètres, ou rngd échoue à bloque son pidfile, ou le périphérique ne peut être ouvert
11 Une erreur d'entrée/sortie s'est produite
12 Une erreur de ressource ou de l'os s'est produite
^
31 mars 2016

htmlpdflatexmanmd




rngtest

rngtest

Vérifie le caractère aléatoire des données en utilisant les tests FIPS 140-2

   rngtest travail sur des blockes de 20000bits à la fois, en utilisant les tests FIPS 140-2 pour vérifier le caractère aléatoire du block de données. Il affiche des statistiques sur stderr, et optionnellement affiche les blocks sur stdout.

OPTIONS

-p, --pipe Active le mode pipe. Tous les blockes de données qui passe les test FIPS sont sortis dans stdout, et rngtest opère en mode silencieux
-c, --blockcount=n Quitte après le traitement de n bocks. Défaut: 0
-b, --blockstats=n dump des statistiques tous les n blocks. Défaut: 0
-t, --timedstats=n Dump des statistiques toutes les n secondes. Défaut: 0

Codes de sortie

0 Pas d'erreur
1 Par d'erreur, mais au moins un block a échoué les tests FIPS
10 Problèmes de paramètres
11 Erreur d'E/S
12 Erreur de ressource ou de l'OS
^
05 septembre 2015

htmlpdflatexmanmd




setcap

setcap

Définir les capabilities d'un fichier

   En l'absence de l'option -v, setcap définis les capabilities de chaque fichier spécifié avec les capabilities spécifiées. L'options -v est utilisé pour vérifier que les capabilities sont actuellement associées avec le fichier

   Les capabilities sont spécifiées sous la forme décrite dans cap_from_text(3)

   La chaîne de capabilities spéciale '-' peut être utilisé pour indiquer que les capabilities sont lues depuis l'entrée standard. Dans de tels cas, le jeu de capabilities est terminé avec une ligne blanche.

   La chaîne de capabilities spéciale 'r' est utilisé pour supprimer un jeu de capabilities d'un fichier

   le flag -q est utilisé pour augmenter la verbosité de la sortie.

^
29 août 2015

htmlpdflatexmanmd




setfacl

setfacl

Définis les listes de contrôle d'accès des fichiers

   Cet utilitaire définis les ACL des fichiers et répertoires. Sur la ligne de commande, une séquence de commande est suivie par une séquence de fichiers (qui peut être suivis par une autre séquence de commandes, ...).

   Les options -m et -x s'attendent à une ACL sur la ligne de commande. Plusieurs entrées d'acl sont séparés par des ','. Les options -M et -X lisent une ACL depuis un fichier ou l'entrée standard.

   Les options --set et --set-file définissent l'ACL d'un fichier ou un répertoire. L'ACL précédente est remplacée. Les entrées d'ACL pour cette opération doivent inclure les permissions.

   Les options -m (--modify) et -M (--modify-file) modifient l'ACL d'un fichie ou répertoire. Les entrées d'ACL pour cette opération doivent inclure les permissions.

   les options -x (--remove) et -X (--remove-file) suppriment les entrée d'ACL. Ce n'est pas une erreur de supprimer une entrée qui n'existe pas. Seules les entrées d'ACL dans le champ perms sont acceptés, sauf si POSIXLY_CORRECT est définis.

   En lisant les fichiers avec les options -M et -X, setfacl accepte les productions de getfacl. Il y a plus d'une entrée d'ACL par ligne.

   Si setfacl est utilisé dans un système de fichier qui ne supporte pas les ACL, setfacl opère sur les bits de permission des fichiers. Si l'ACL ne contient pas tous les bits de permission, setfacl modifie les bits de permission pour refléter les ACL le plus proche possible, écrit un message sur stderr, et retourne avec un status supérieur à 0.

Permissions

   Le propriétaire du fichier et les processus capable de CAP_FOWNER ont le droit de modifier les ACL d'un fichier. C'est analogue aux permissions requises pour accéder au mode de fichier. (dans les système Linux, root est le seul utilisateur avec la capacité CAP_FOWNER)

OPTIONS

-b, --remove-all Supprime toutes les entrée d'ACL étendues. Les entrées d'ACL de base du propriétaire, groupe et autre sont conservés.
-k, --remove-default Supprime toutes les ACL par défaut.
-n, --no-mask Ne recalcule pas le masque de permissions effectives
--mask Recalcule le masque de permissions effectives, même si une entrée de mask a été explicitement donné.
-d, --default Toutes les opérations s'appliquent sur l'ACL par défaut. Les entrées d'ACL régulières dans le jeu d'entrée sont transformés en entrée d'ACL par défaut.
--restore-file Restaure un backup de permissions créé par getfacl -R ou similaire. Toutes les permissions de l'arborescence sont restaurés en utilisant ce mécanisme. Si l'entrée contient le propriétaire et le groupe, setfacl tente de restaurer le propriétaire et le groupe. Si l'entrée contient des flags (qui définissent le setuid, setgid, et sticky bits), setfacl définis ces 3 bits en fonction; sinon il est supprime.
--test Mode simulation. Liste les ACL résultantes.
-R, --recursive Applique les opérations à tous les fichiers et répertoires récursivement. Cette option ne peut pas être mixé avec --restore.
-L, --logical Mode logique, traverse les liens symboliques. Seulement avec -R. ne peut pas être utilisé avec --restore.
-P, --physical Mode physique, ne traverse pas les liens symboliques. Seulement avec -R. ne peut pas être utilisé avec --restore.
-- Fin des options de la ligne de commande
Si un paramètre est un '-', lis depuis l'entrée standard

Entrées d'ACL

   L'utilitaire setfacl reconnaît les formats d'entrée d'ACL suivantes (de blanc ont été inséré pour plus de clarté):

Permissions d'un utilisateur nommé. Permissions du propriétaire du fichier si l'uid est vide
[d[efault]:] [u[ser]:]uid [:perms]
Permissions du groupe nommé. Permissions du groupe propriétaire si gid est vide
[d[efault]:] g[roup]:gid [:perms]
Masque de droits effectifs
[d[efault]:] m[ask][:] [:perms]
Permissions pour les autres
[d[efault]:] o[ther][:] [:perms]

   Les espaces blanc entre les caractères de délimitation sont ignorés. Les entrée d'ACL propre incluant les permissions sont utilisées dans les opérations modify et set. (les options -m, -M, --set et --set-file). Les entrées sans le champ perms sont utilisé pour la suppression des entrées (options -x et -X).

   Pour uid et gid, vous pouvez spécifier soit un nom, soit un nombre.

   Le champ perms est une combinaison des caractères qui indiquent les permissions: read (r), write (w), execute (x). perms peut également être un chiffre octal.

Entrées créées automatiquement

   Initialement, les fichiers et répertoires ne contiennent que les 3 entrées d'ACL de base. Il y a certaines règles qui doivent être satisfaites pour une ACL soit valide:

- Les 3 entrées de base ne peuvent pas être supprimés.
- Quand une ACL contient des entrées d'utilisateurs nommés ou des groupes nommés, elle doit également contenir un masque de droits effectifs.
- Quand une ACL contient des entrées d'ACL par défaut, les 3 entrées de base doivent également exister.
- Quand une ACL par défaut contient des entrées user et group nommés, elle doit également contenir un masque de droits effectifs.

   Pour aider l'utilisateur à s'assurer de ses règles, setfacl créé des entrées des entrées existantes sous certaines conditions.

- Si une ACL contient des entrées user et group nommés, et qu'aucun mask n'existe, une entrée mask contient les même permission que l'entrée group créé. Sauf si -n est donné, les permission de l'entrée mask sont ensuite ajustés pour inclure l'union de toutes les permissions affectées par l'entrée de mask.
- Si une ACL par défaut est créé, et qu'elle ne contient pas de propriétaire, groupe, ou other, une copie de l'ACL sont ajoutés à l'ACL par défaut.
- Si une ACL par défaut contient des entrées utilisateur ou groupes nommés, et qu'aucun mask n'existe, une entrée mask contenant les même permissions que que l'entrée de groupe de l'ACL par défaut est ajouté. Sauf si -n est donné, les permission de l'entrée mask sont ensuite ajustés pour inclure l'union de toutes les permissions affectées par l'entrée de mask.

Exemples

Ajouter un droit de lecture à un utilisateur
setfacl -m u:lisa:r file
révoquer l'accès en écriture à tous les groupes et tous les utilisateurs nommés en utilisant le masque de droits effectifs
setfacs -m m::rx file
Supprimer une entrée de groupe nommé de l'ACL du fichier
setfacl -x g:staff file
Copier l'ACL d'un fichier dans un autre
getfacl file1 | setfacl --set-file=- file2
copier l'ACL d'accès dans l'ACL par défaut
getfacl --access dir | serfacl -d -M- dir
^
05 septembre 2015

htmlpdflatexmanmd




setfattr

setfattr

Définit les attributs étendus des objets de système de fichier

OPTIONS

name, --name=name Spécifie le nom de l'attribut étendu à définir
-v value, --value=value Spécifie la nouvelle valeur de l'attribut étendu. Il y a 3 méthodes disponible pour encoder la valeur. Si la chaîne est entre guillemets, la chaîne est traité comme texte. Dans ce cas, les '\' et guillemets ont une signification spéciale et doivent être échappés. Si la chaîne commence par 0x ou 0X, elle est exprimée en hexadécimal. Si la chaîne commence pas 0s ou 0S, elle est considérée comme base64.
-x name, --remove=name Supprime l'attribut nommé entièrement
-h, --no-dereference Ne suit pas les liens.
--restore=file Restaure les attributs étendus du fichier. Le fichier doit être au format généré par la commande getfatr avec l'option --dump. Si l'argument est un '-', lit depuis l'entrée standard.
^
28 août 2015

htmlpdflatexmanmd




setquota

setquota

Définis les quotas disque

   setquota est un éditeur en ligne de commande. Le système de fichier, nom d'utilisateur/groupe et les nouveaux quotas pour ce système de fichier peuvent être spécifié sur la ligne de commande.

OPTIONS

-r, --remote Édite également les quota non-locaux en utilisant rpc.rquotad sur le serveur distant. Cette option est disponible seulement si les outils de quotas ont été compilés avec le support sur RPC.
-m, --no-mixed-pathnames Actuellement, les chemins des points de montage NFS4 sont envoyés sans le dernier '/'. rpc.rquotad l'utilise pour reconnaître les montages NFS4. Cette option envoie toujours des chemin avec le dernier '/'.
-F, --format=format-name Affiche le quota au format spécifié: vfsold (16-bits UID), vfsv0 (32bits UID), vfsv1 (format 64bits) rpc (quota sur NFS), xfs (quota sur les système XFS).
-g, --group Manipule les quotas utilisateur
-u, --user Manipule les quotas de groupe
-p, --prototype=protoname Duplique les quotas de l'utilisateur de prototype spécifié pour chaque utilisateur spécifié. C'est le mécanisme normal utilisé pour initialiser les quotas pour les utilisateurs et les groupes.
--always-resolve Tente toujours de traduire les user/group en uid/gid même si le nom est composé de chiffre uniquement.
-b, --batch Lit les informations pour définis depuis stdin (le format d'entrée est: name block-softlimit block-hardlimit inode-softlimit inode-hardlimit ).
-c, --continue-batch En parsant une ligne d'entrée en mode batch, continue le traitement avec la prochaine ligne.
-t, --edit-period Période de grâce pour les utilisateurs/groupes.
-T, --edit-times Altère les temps, pour les utilisateurs/groupes individuels quand softlimit est forcé.
-a, --all Traverse tous les systèmes de fichier avec les quota dans /etc/mtab.

   Pour désactiver un quota, définir le paramètre correspondant à 0. Seul root peut éditer les quotas.
^
03 février 2016

htmlpdflatexmanmd




setsid

setsid

Lancer un programme dans une nouvelle session

-c, --ctty Définis le terminal de contrôle à celui actuel
-w, --wait Attends la fin de l'exécution du programme, puis renvoyer le code de retour de ce programme comme valeur de retour de setsid

^
03 novembre 2011

htmlpdflatexmanmd




sg

sg

Exécuter une commande avec un autre identifiant de groupe

   Il fonctionne comme newgrp, mais prend une commande en paramètre. Cette commande sera exécutée par /bin/sh. Une autre différence est que certains interpréteurs de commande traitent newgrp de façon particulière, en se remplaçant eux-mêmes par une nouvelle instance d’un interpréteur que newgrp créé. Ceci n’est pas le cas avec sg, ce qui permet de retrouver le groupe précédent à la sortie de sg.

OPTIONS

-c commande à exécuter

   sg utilise des variables dans /etc/login.defs
^
03 novembre 2011

htmlpdflatexmanmd




shadowconfig

shadowconfig

Active ou désactive les mots de passe cachés

   Ne prend que 2 valeurs, on et off. Désactiver puis réactiver les mots de passe permet de supprimer les informations d’âge des mots de passe.

^
03 novembre 2011

htmlpdflatexmanmd




shells

shells

Fichier texte contenant le chemin complet des shells valides

   /etc/shells contient la listes de shells valides, chemin complet inclus, un par ligne.

^
31 mai 2010

htmlpdflatexmanmd




shutdown

shutdown

Arrêter les services

   shutdown s'occupe d'arrêter le système de façon sûre. Tous les utilisateurs encore loggés sont notifiés que le système va s'arrêter et, dans les 5 dernières minutes de TIME, les nouveaux loggés sont prévenus. Une fois TIME passé, shutdown envoie une requête à init pour arrêter le système dans le runlevel approprié.

OPTIONS

-r demande que le système soit redémarré et non pas arrêté
-h demande que le système soit éteindre ou arrêté une fois le système terminé.
-H Demande que le système soit arrêté après que le système s'est terminé
-P Demande que le système soit éteind après que le système se soit terminé.
-c Annule un shutdown en cours. TIME n'est pas spécifié avec cette option. Le premier argument est MESSAGE.
-k Envoie seulement les messages d'alerte et désactive les logs. N'arrête pas le système.
^
23 mai 2010

htmlpdflatexmanmd




Signaux - présentation

Signaux - présentation

Introduction aux signaux sous linux

   Ceci est une présentation très sommaire des signaux sous linux, je ne détail ici que les signaux standard. Linux supporte supporte à la fois les signaux POSIX classiques ("signaux standards") et les signaux POSIX temps-réel. Chaque signal a une disposition courante, qui détermine comment le processus agit quand il reçoit le signal. Les entrées dans la colonne action des tables ci-dessous spécifient la disposition par défaut pour chaque signal:

Term L'action par défaut est de terminer le processus
Ign L'action par défaut est d'ignorer le signal
Core L'action par défaut est de termine le processus et dumper le core
Stop L'action par défaut est de stopper le processus
Cont L'action par défaut est de continuer un processus qui est stoppé.

   Un processus peut changer la disposition d'un signal. La disposition d'un signal est un attribut par processus : dans une application multi-thread, la disposition d'un signal particulier est le même pour tous les thread.

Signaux standard

Linux supporte les signaux standard ci-dessous. De nombreux signaux dépendent de l'architecture.
Signal_____Valeur_____Action_____Commentaire
SIGHUP_______1________Term_______Raccrochement (déconnexion) sur terminal de contrôle, ou mort du processus de contrôle
SIGINT_______2________Term_______Interruption depuis le clavier.
SIGQUIT______3________Core_______Demande 'Quitter' depuis le clavier.
SIGILL_______4________Core_______Instruction illégale.
SIGABRT______6________Core_______Signal d'arrêt depuis abort(3).
SIGFPE_______8________Core_______Erreur mathématique virgule flottante.
SIGKILL______9________Term_______Signal 'KILL'.
SIGSEGV_____11________Core_______Référence mémoire invalide.
SIGPIPE_____13________Term_______Ecriture dans un tube sans lecteur.
SIGALRM_____14________Term_______Temporisation alarm(2) écoulée.
SIGTERM_____15________Term_______Signal de fin.
SIGUSR1_____10________Term_______Signal utilisateur 1.
SIGUSR2_____12________Term_______Signal utilisateur 2.
SIGCHLD_____17________Ign________Fils arrêté ou terminé.
SIGCONT_____18________Cont_______Continuer si arrêté.
SIGSTOP_____19________Stop_______Arrêt du processus.
SIGTSTP_____20________Stop_______Stop invoqué depuis tty.
SIGTTIN_____21________Stop_______Lecture sur tty en arrière-plan.
SIGTTOU_____22________Stop_______Ecriture sur tty en arrière-plan.

D'autres signaux divers


Signal_____Valeur_____Action_____Commentaire
SIGBUS_______7_________Core_______Erreur de Bus.
SIGPOLL________________Term_______Synonyme de SIGIO (System V).
SIGPROF_____27_________Term_______Profile alarm clock.
SIGSYS_________________Core_______Mauvais argument de routine (SVID).
SIGTRAP______5_________Core_______Trace/breakpoint trap
SIGURG______23_________Ign________Condition urgente sur socket (4.2 BSD).
SIGVTALRM___26_________Term_______Alarme virtuelle (4.2 BSD).
SIGXCPU_____24_________Core_______Limite de temps CPU dépassée (4.2 BSD).
SIGXFSZ_____25_________Core_______Taille de fichier excessive (4.2 BSD).
SIGIOT_______6_________Core_______Arrêt IOT. Un synonyme de SIGABRT.
SIGEMT_________________Term_______
SIGSTKFLT___16_________Term_______Erreur de pile sur coprocesseur.
SIGIO_______29_________Term_______E/S à nouveau possible(4.2 BSD).
SIGCLD_________________Ign________Synonyme de SIGCHLD.
SIGPWR______30_________Term_______Chute d'alimentation (System V).
SIGINFO___________________________Synonyme de SIGPWR
SIGLOST________________Term_______Perte de verrou de fichier.
SIGWINCH____28_________Ign________Fenêtre redimensionnée (4.3 BSD, Sun).
SIGUNUSED___31_________Term_______Signal inutilisé.

   Note: La valeur correspond aux architectures ia32, ia64, ppc s390 arm et sh

Signaux temps réel

   Linux supporte 32 signaux temps réels, numérotés de 33 à 64. À la différence des signaux standard, les signaux temps réels n'ont pas de signification prédéfinis, ils sont définis par les applications.
^
23 mai 2010

htmlpdflatexmanmd




skill

skill, snice

Obsolète, préférer killall, pkill ou pgrep

skill envoie un signal à un processus
snice modifie la priorité d'un processus

   le signal par défaut est TERM. Utiliser -l ou -L pour lister les signaux disponibles. la priorité par défaut pour snice est +4.

OPTIONS

-f fast mode
-i utilisation interactif : demande confirmation avant chaque action
-v mode verbeux
-n  n'affiche que les ID de processus

Options de délection de processus

   les critères de sélection peuvent être: terminal, user, pid, command. les options ci dessous peuvent être utilisés pour s'assurer de l'interprétation correcte.

-t l'argument suivant est un terminal
-u l'argument suivant est un username
-p l'argument est un ID de processus
-c l'argument suivant et un nom de commande
^
03 février 2014

htmlpdflatexmanmd




sysctl

sysctl

Configuration du kernel en temp réel

OPTIONS

variable[=value] Définis une variable du kernel. nécessite l'option -w
-n, --values Affiche uniquement les valeurs
-e, --ignore Ignore les erreurs sur les clé inconnues
-N, --names Affiche uniquement les noms
-q, --quiet N'affiche pas les valeurs sur stdout
-w, --write Change une valeur
-p[FILE], --load[=FILE], -f[FILE] Charge les paramètres sysctl depuis le fichier spécifié (défaut: /etc/sysctl.conf)
-a, -A, --all, -X Affiche toutes les valeurs disponibles
--deprecated Inclus les paramètres dépréciés à --all
-b, --binary Affiche les valeurs sans newline
--system Charge les paramètres depuis les fichiers de configuration système
--pattern pattern Applique uniquement les paramètres qui matchent le pattern

Exemples

/sbin/sysctl -a
/sbin/sysctl -n kernel.hostname
/sbin/sysctl -w kernel.domainname="example.com"
/sbin/sysctl -p/etc/sysctl.conf
/sbin/sysctl -a --pattern forward
/sbin/sysctl -a --pattern forward$
/sbin/sysctl -a --pattern 'net.ipv4.conf.(eth|wlan)0.arp'
/sbin/sysctl --system --pattern '^net.ipv6'

Fichiers

/etc/sysctl.conf Fichier de configuration de systcl
/etc/sysctl.d/50-libreswan.conf /etc/sysctl.d/99-sysctl.conf Fichiers de configuration de systcl
/run/sysctl.d/*.conf Fichiers système de configuration de sysctl
/usr/local/lib/sysctl.d/*.conf Fichiers système de configuration de sysctl
/usr/lib/sysctl.d/10-default-yama-scope.conf /usr/lib/sysctl.d/50-coredump.conf /usr/lib/sysctl.d/50-default.conf /usr/lib/sysctl.d/50-libkcapi-optmem_max.conf /usr/lib/sysctl.d/97-kde-baloo-filewatch-inotify.conf Fichiers système de configuration de sysctl
/lib/sysctl.d/10-default-yama-scope.conf /lib/sysctl.d/50-coredump.conf /lib/sysctl.d/50-default.conf /lib/sysctl.d/50-libkcapi-optmem_max.conf /lib/sysctl.d/97-kde-baloo-filewatch-inotify.conf Fichiers système de configuration de sysctl
^
03 février 2014

htmlpdflatexmanmd




sysctl.conf

sysctl.conf

Fichier de configuration de sysctl

   sysctl.conf est un fichier contenant des valeurs sysctl. La syntaxe est la suivante:

  #comment

  ; comment

  token = value

Exemple

Exemple de ligne dans sysctl.conf
kernel.modprobe = /sbin/modprobe
^
07 mai 2016

htmlpdflatexmanmd




tailf

tailf

monitor un fichier de log

   Il fonctionne de manière similaire à tail -f, mais n'accède pas à un fichier quand il ne grandit pas. Cela a pour effet de ne pas mettre à jours la date d'accès du fichier, donc un flush du système de fichier ne se produit pas périodiquement quand aucune activité ne se produit.

OPTIONS

-n, --lines=‹number›, -‹number› Affiche les number dernière lignes. Défaut: 10
^
03 février 2016

htmlpdflatexmanmd




taskset

taskset

Récupérer ou définir l'affinité processeur d'un processus

   taskset est utilisé pour récupérer ou définir l'affinité processeur d'un processus en cours d'exécution ou pour lancer une nouvelle commande avec une affinité processeur. L'affinité processeur est une propriété de l'ordonnanceur qui lie un processus à un ensemble de processeurs donné sur un système. L'ordonnanceur de Linux respectera l'affinité processeur et le processus ne s'exécutera sur aucun autre processeur. Notez que l'ordonnanceur Linux gère également l'affinité processeur dite naturelle: l'ordonnanceur essaie de maintenir les processus sur le même processeur tant que cela a du sens pour des raisons de performances. Ainsi, forcer une affinité processeur spécifique n'est utile que dans certaines applications.

   L'affinité du processeur est représentée par un masque binaire, avec le LSB correspondant au premier processeur logique et le MSB au dernier processeur logique. Tous les processeurs peuvent ne pas exister dans un système donné, mais un masque peut indiquer plus de processeurs que ceux qui sont présents. Un masque récupéré n'aura que les bits correspondants aux processeurs présents physiquement sur le système. Si un masque erroné est fourni (c'est-à-dire, un masque qui correspond à un processeur absent sur le système actuel) une erreur est alors renvoyée. Les masques sont généralement codés en hexadécimal.

Exemples

0x00000001 correspond au processeur n°0
0x00000003 correspond aux processeurs n°0 et 1
0xFFFFFFFF correspond au prosseurs n°0 à 31

OPTIONS

-a, --all-tasks Définis ou récupère l'affinité processeur de toutes les tâches (threads) d'un PID donné
-p, --pid Spécifie un PID existant
-c, --cpu-list Indisque une liste numérique de processeurs au lieu d'unn masque binaire. ex: 0,5,7,9-11

Permissions

   Un utilisateur peut modifier l'affinité d'un processus lui appartenant, mais doit posséder la capacité CAP_SYS_NICE pour modifier l'affinité d'un processus des autres utilisateurs. Un utilisateur peut récupérer l'affinité de n'importe quel processus.
^
31 mai 2010

htmlpdflatexmanmd




telinit

telinit

Lié à init. Signal à init d'effectuer une action

OPTIONS

0,1,2,3,4,5,6 dit à init de passer au runlevel spécifié
a,b,c dit à init de traiter seulement les entrées de /etc/inittab ayant un runlevel a, b ou c.
Q, q dit à init de relire /etc/inittab
S, s dit à init de passer mode simple utilisateur
U, u dit à init de se ré-exécuter lui même. Il ne ré-examine pas /etc/inittab. Le runlevel doit être un de Ss0123456 sinon la requête est ignorée.
-t telinit peut dire à init combien de temps il devrait attendre entre l'envoie de SIGTERM et de SIGKILL.(5 secondes par défaut)
-e  dit à init de changer d'environnement pour les processus qu'il gère. L'argument soit sous la forme VAR=VAL, ou sous la forme VAR, qui supprime la variable VAR.
^
24 mai 2010

htmlpdflatexmanmd




top

top

Surveillance du système

   L'utilitaire top fournis une vue temps-réel du système. Il peut afficher des informations sommaire sur le système, et une liste des tâches en cours. Les informations qu'il affiche sont configurable.

  Le programme fournis une interface interactive limitée pour la manipulation des processus et une interface étendue pour une configuration étendue.

Options de ligne de commande

-b mode batch. Utile pour envoyer la sortie à d'autres programmes ou dans un fichier. Dans ce mode, top n'accèpte pas d'entrée et s'arrête après la limite d'itération définie par -n, ou jusqu'à ce qu'il soit tué.
-c affiche la ligne de commande.
-d Délai (format ss.tt = secondes.dixièmes) Spécifie le délai entre chaque mise à jour d'écran
-h affiche une aide et quitte
-H Threads. activé, les threads seront affichés, sinon top affiche un sommaire de tous les threads courant.
-i Idle. Désactivé, les tâches qui sont au repos ou zombie ne sont pas affichées
-n  Nombre d'itération. Spécifie le nombre maximum d'itération ou frames, que top devrait produire avant de se terminer.
-u Monitor. Monitor seulement les processus avec l'uid ou l'utilisateur spécifié
-U Monitor. Idem pour les UID et utilisateur réel, effectifs, sauvegardés et UID de système de fichier.
-p Monitor. Monitor seulement les processus avec le(s) process ID spécifié(s). Cette options peut être spécifiée jusqu'à 20 fois.
-s Mode sécurisé. Lance top en mode sécurisé forcé, même pour root. Ce mode est contrôlé par le fichier de configuration.
-S Mode temps cumulatif. chaque processus est listé avec le temps cpu qu'il a utilisé ainsi que que ses enfants mort.
-v affiche la version et quitte

Champs/colonnes

PID l'ID du processus
PPID l'ID du processus parent
RUSER Le vrai propriétaire de la tâche
UID L'ID effectif du propriétaire de la tâche
USER le nom effectif du propriétaire de la tâche
GROUP Le groupe effectif du propriétaire dela tâche
TTY Le nom du terminal qui contrôle la tâche.
PR La priorité de la tâche
NI valeur nice
P Le dernier processeur utilisé.
%CPU Utilisation CPU, exprimé en % du temps CPU total
TIME Temps CPU. Temps total de CPU que la tâche a utilisé depuis qu'elle a démarré
TIME+ Temps CPU. en centièmes de secondes
%MEM Utilisation mémoire
VIRT Image virtuelle. Quantité totale de mémoire virtuelle utilisée par la tâche.
SWAP Taille swap. Portion de la mémoire virtuelle de la tâche en swap
RES Resident size. Taille de la mémoire physique non swappée de la tâche
CODE Taille de la mémoire virtuelle de code
DATA Taille de la mémoire virtuelle de données+pile
SHR Taille mémoire partagée. Quantité de mémoire partagée utilisée par la tâche
nFLT Page fault count. nombre de page fault majeur qui se sont produite pour une tâche.
nDRT Dirty page count. nombre de pages qui ont été modifiées depuis la dernière écriture sur disque.
S Status du processus :

        D uninterruptible sleep
        R running
        S sleeping
        T traced or stopped
        Z zombie

Command Ligne de commande ou nom du programme
WCHAN Sleeping in function. En fonction de la disponibilité du kernel link map (System.map), ce champs affiche le nom ou l'adresse de la fonction kernel dans laquelle la tâche est actuellement endormie.
Flags Task Flags. voir ‹linux/shed.h›

Sélectionner et ordonner les colonnes

   Après avoir utilisé les commandes 'f' (Fields select) ou 'o' (Order fields), un écran permet de sélectionner et ordonner les colonnes.

Etats CPU

Les états CPU sont affichés au dessus de la liste des tâches.
up User CPU time. Temps que le cpu a passé à faire tourner les processus de l'utilisateur qui ne sont pas nicé
sy System CPU time. Temps que le cpu a passé à faire tourner le kernel et ses processus
ni Nice CPU time. Temps que le cpu a passé à faire tourner les processus de l'utilisateur qui on été nicé.
wa iowait. Temps que le cpu a attendu que les I/O s'achèvent
hi Hardware IRQ. Temps que le cpu a servis les interruptions hardware.
si Software interrupt. Temps que le cpu a servis les interruptions logiciel.
st Steal time. quantité de CPU 'volé' de cette machine virtuelle par l'hyperviseur.

Commandes intéractives globales

elles sont toujours disponible en mode plein écran et en mode d'affichage alternatif, mais certaines ne sont pas disponibles en mode securité.
‹Enter›,‹Space› Rafraîchit l'affichage.
‹ ?›,‹h› affiche l'aide
‹=› Supprime les restrictions sur quelles tâches sont affichées.
‹A› Switch entre le mode plein écran et le mode alternatif
‹B› Active la mise en gras des valeurs du sommaire.
‹d›,‹s› Change l'interval de rafraîchissement.
‹G› Permet de choisir entre 4 'vues' différentes
‹I› switcher entre le mode Irix et le mode Solaris
‹ u › Permet de définir un utilisateur (nom ou UID effectif) pour filter les tâches à afficher
‹U› Permet de définir un utilisateur (nom ou UID réel) pour filter les tâches à afficher
‹k› Permet d'envoyer un signal à une tâche
‹q› quitter top
‹r› Renice une tâche
‹W› Sauvegarde vos options dans le fichier de configuration.
‹Z› change les couleurs d'affichage

Commandes du sommaire

‹l› affiche ou non la ligne affichant la charge moyenne
‹m› affiche ou non les information sur l'utilisation de la mémoire
‹t› affiche ou non l'état des CPU et des tâches
‹ 1 › affiche ou non l'état de chaque CPU

Commandes de la zone des tâches

‹ b › change la façon dont 'x' et 'y' seront affichés
‹x› surligne la colonne de trie.
‹y› surligne les tâche 'runing'
‹z› switch entre le mode monochrome ou le mode couleur.

Contenue de la fenêtre des tâches

‹c› switch entre le nom du programme et la commande dans la colonne commande
‹f›,‹o› Permet de sélectionner des champs et des les ordonner.
‹S› Basculer vers le mode de temps cumuatif.
‹ u › afficher les tâche appartenant à l'utilisateur spécifié

Taille de la fenêtre des tâches

‹ i › Affiche toutes les tâche ou seulement les tache actives
‹n›,‹#› Permet de spécifier le nombre de tâches à afficher.

Trie de la fenêtre des tâches

M %MEM
N PID
P %CPU
T TIME+
 ‹  la colonne à gauche de la colonne de trie devient la colonne de trie.
 ›  la colonne à droite de la colonne de trie devient la colonne de trie.
‹F›,‹ 0 › permet de changer le champs utilisé pour trier les entrées.
‹R› switch de trie croissant/décroissant

Couleurs

En utilisant 'Z' vous pouvez changer les couleurs.
S sommaire
M message/prompt
H en-tête de colonne
T Tâches
0 - 7 sélectionner la couleur
a/w choisir entre 4 thème de couleur.
B switch de mise en gras
b Switch surligner/gras
z couleur/monochrome

mode d'affichage alternatif

Dans ce mode les 4 groupes d'affichage sont affichés simultanément.
‹-› affiche ou non l'affichage des tâches
‹_› idem mais pour toutes les vues.
‹=› force l'affichage de la liste des tâches
‹+› idem mais pour toutes les vues.
‹A› permet de passer en mode alternatif
‹a›,‹w› permet de changer la vue de la fenêtre courante
‹G› Idem
‹g› Permet de renommer la vue courante

Fichiers

/etc/toprc Ce fichier permet de limiter les fonctionnalités autorisées aux utilisateurs.
/$HOME/.toprc Fichier de configuration top personnel. Utiliser 'W' pour le créer ou le mettre à jours.

Exemple

s # line 1 : 'secure' mode switch
5.0 # line 2 : 'delay' interval in seconds
^
11 novembre 2011

htmlpdflatexmanmd




udev

udev

Gestion des périphériques dynamiques

Description

   udev fournis un système d'évènements périphériques, de gestion des permissions des nœuds périphériques, et peut créer des liens symboliques additionnels dans /dev, ou renommer des interfaces réseaux. Le kernel assigne simplement des noms de périphériques basés sur l'ordre de découverte.

  udevd reçois les uevents directement du kernel quand un périphérique est ajouté ou enlevé du système, ou quand son état change. Quand udev reçois un évènement périphérique, il regarde si des règles dans sa configuration correspondent, peut fournir des informations additionnelles à stocker dans la base de données udev, ou des informations pour créer des noms de liens. Tous les processus d'information de périphériques sont stockés dans la base de données udev et envoyés au souscripteur d'évent.

Configuration

   Les fichiers de configuration sont dans /etc/udev et /lib/udev. Toutes les lignes vides, ou commençant par '#' seront ignorés

Fichier de configuration

   Le fichier de configuration principal est /etc/udev/udev.conf. Il consiste de variables permettant à l'utilisateur d'écraser les valeurs

udev par défaut. Les variables sont :
udev_root Spécifie où placer les nœuds de périphériques dans le système de fichier (défaut /dev)
udev_log Le logging priority.

Fichiers de règles

   Les règles par défaut de udev sont lues depuis les fichiers dans /lib/udev/rule.d/, les fichiers personnalisés dans /etc/udev/rules.d/, et les fichiers temporaires dans /dev/.udev/rules.d/. Tous les fichiers de règles sont triés et traités dans l'ordre lexical, sans regarder dans quel répertoire ils sont. Les fichiers dans /etc/udev/rules.d ont une précédence sur les fichiers de même nom dans /lib/udev/rules.d.

   Les fichiers de règles doivent se terminer par .rules, sinon ils sont ignorés. Chaque ligne dans un fichier de règle contient au moins une paire de clé/valeur. Il y'a 2 types de clé, les clés de correspondance et les clés d'assignement. Si toutes les clés de correspondance correspondent avec leurs valeurs, la règle s'applique et les clés d'assignement reçoivent la valeur spécifiée. Une règle de correspondance peut renommer une interface réseau, ajouter les liens pointant vers des nœuds de périphériques, ou lancer un programme spécifique.

   Une règle consiste d'une ou plusieurs paires de clé/valeur séparés par un ','. Chaque clé a une opération distincte, dépendant de l'opérateur utilisé

Opérateurs

== compare l'égalité
!= Compare l'inégalité
= Assigne une valeur à une clé. Les clés qui représentent une liste, sont réinitialisées avec cette valeur simple.
+= Ajoute la valeur à une clé qui maintient une liste
:= Assigne une valeur à une clé, puis empêche de modifier cette valeur ultérieurement.

   Les noms des clés peuvent être utilisés pour faire correspondre les propriétés des périphériques. Certains périphériques matchent également des clés avec les propriétés des périphériques parent dans sysfs. Si plusieurs clés qui match un périphérique parent sont spécifié dans une simple règle, toutes ces clés doivent matcher à un et le même périphérique parent.

ACTION Match le nom de l'action
DEVPATH Match le devpath du périphérique
KERNEL Match le nom du périphérique
NAME Match le nom du nœud ou de l'interface réseau
SYMLINK Match le nom d'un lien ciblant le nœud
SUBSYSTEM Match le nom du pilote du périphérique
ATTR{filename} Match les valeurs d'attribut sysfs du périphérique.
KERNELS Cherche le devpath supérieur pour un nom de périphérique correspondant
SUBSYSTEMS Cherche le devpath supérieur pour un nom de sous-système de périphérique correspondant
DRIVERS Cherche le devpath supérieur pour un nom de pilote de périphérique correspondant
ATTRS{filename} Cherche le devpath supérieur pour un périphérique qui match les valeurs d'attributs sysfs. Si plusieurs ATTRS sont spécifiés, tous doivent matcher sur le même périphérique.
ENV{key} Match avec une valeur de propriété de périphérique.
TAG Match avec un tag de périphérique
TEST{masque octal} Test l'existence d'un fichier. Un masque octal peut être spécifié.
PROGRAM Exécute un programme. La clé est vraie, si le programme retourne un succès. Les propriétés du périphérique sont disponibles pour le programme. La sortie du programme affichée dans stdout est redirigée dans la clé RESULT
RESULT Match la chaîne retournée par un appel PROGRAM.

   De nombreux champs supportent les motifs type shell:

Match aucun, ou un certain nombre de caractères
Match un simple caractère
[] Match un simple caractère spécifié dans les crochets.

   Les clés suivantes peuvent être assignées :

NAME Le nom du nœud de périphérique. Généralement, le kernel définis le nom du nœud par défaut, ou créé et supprime le nœud avant que udev reçoive l'event. Changer le nom du nœud créés des inconsistances et n'est pas supportées. Si le kernel et NAME spécifient des noms différents, une erreur sera loggée. Udev ne modifie que les permissions des nœuds et crée des liens additionnels, qui est une bonne manière pour renommer un nœud. Les liens ne doivent jamais être en conflit avec des noms de nœud.
SIMLINK Le nom de lien ciblant un nœud. Chaque règle qui match va ajouter cette valeur à la liste des liens à créer. Plusieurs liens peuvent être créés en les séparant par un espace. Si plusieurs périphériques demandent le même nom de lien, le lien pointera toujours vers le périphérique avec la plus haute link_priority. Si ce périphérique est supprimé, le lien sera réévalué. Sans link_priority spécifié, le périphérique obtenant le lien ne peut être prédit.
OWNER, GROUP, MODE Les permissions pour le nœud périphérique.
ATTRKEY La valeur qui devrait être écrite dans un attribut sysfs du périphérique de l'évènement
ENVKEY Définis une valeur de propriété du périphérique. Les noms de propriété avec un '.' ne sont pas stockés dans la base ou exportés vers les outils externes ou évènements.
TAG Attache un tag à un périphérique. C'est utilisé pour filtrer les évènements pour les utilisateurs de la fonctionnalité de monitoring de libudev. L'implémentation peut seulement fonctionner efficacement si seulement quelques tags sont attachés aux périphériques.
RUN Ajoute un programme à la liste des programmes à exécuter pour un périphérique spécifique. Cela peut seulement être utilisé pour des tâche très courtes. Les tâches longues bloquent le processus d'évènement. Si RUNfail_event_on-error est spécifié, et que le programme ne retourne pas 0, l'évènement sera marqué comme échoué. Sans chemin absolu, le programme doit être dans /lib/udev. Les chemins avec des espaces peuvent être spécifié entre ''
LABEL Label nommé où un GOTO peut sauter
GOTO Saute à LABEL
IMPORT{type} Importe des variables comme propriétés de périphérique, en fonction de son type:

        program Exécute un programme externe.
        file Importe un fichier texte comme valeur assignée, qui doit être au format de clé d'environnement
        db Importe une simple propriété spécifiée comme valeur assignée la base du périphérique courrant. Ne fonctionne que si la base est déjà remplie par un précédent évènement.
        cmdline Importe une simple propriété depuis la ligne de commande du kernel. Pour de simples flags la valeur de la propriété sera à 1.
        parent Import les clés stockées du périphérique parent.

Sans option, udev choisis entre program et file en fonction du bit exécutable des permissions de fichier
WAIT_FOR Attend qu'un fichier devienne disponible ou 10sec. Le chemin est relatif au périphérique sysfs. Sans chemin spécifié, attend qu'un attribut apparaisse.

Options

link_priority=value Spécifie la priorité des liens crées. (Défaut: 0)
event_timeout= Nombre de seconde qu'un event attend les opérations avant de se terminer de lui-même.
string_escape=none|replace Les caractères non-sûres et de contrôle sont remplacés dans les chaînes utilisé pour le nommage des périphériques.
static_node= Applique les permissions spécifiée dans cette règle à un nœud de périphérique statique avec le nom spécifié. Les nœuds statique peuvent être des modules kernel, ou copiés depuis /lib/udev/devices. Ces nœuds peuvent ne pas avoir de module kernel correspondant au moment où udev est démarré, et permet de piloter les modules chargeable du kernel.
watch Recherche un nœud avec inotify, quand il est fermé après avoir été ouvert en écriture, un uevent de changement sera synthétisé.
nowatch Désactive la recherche de nœud avec inotify

   Les champs NAME, SYMLINK, PROGRAM, OWNER, GROUP, MODE et RUN supportent les substitutions de chaîne dans le style printf. Les substitutions sont:

Options

$kernel, %k Le nom kernel pour ce périphérique
$number, %n Le numéro kernel pour ce périphérique. Par exemple 'sda3' a comme nombre kernel 3.
$devpath, %p Le devpath du périphérique
$id, %b Le nom du périphérique matché pendant la recherche de devpath supérieur pour SUBSYSTEMS, KERNELS, DRIVERS et ATTRS
$driver Le nom du pilote du périphérique matché pendant la recherche du devpath supérieur pour SUBSYSTEMS, KERNELS, DRIVERS et ATTRS
$attrfile, %sfile La valeur d'un attribut sysfs trouvé au périphérique, où toutes les clés de la règle ont matchés.
$envkey, %Ekey Une valeur de propriété de périphérique
$major, %M Le numéro majeur kernel pour le périphérique
$minor, %m Le numéro mineur kernel pour le périphérique
$result, %c La chaîne retournée par le programme externe lancé avec PROGRAM. Une seule partie de la chaîne peut être sélectionnée en spécifiant le numéro comme attribut %cN. Si le numéro est suivi d'un '+', cette partie + plus celles restantes sont substituées.
$parent, %P Le nom du nœud parent
$name Le nom courant du nœud
$links La liste des liens courants, séparés par un espace.
$root, %r La valeur udev_root
$sys, %S Le point de montage sysfs
$tempnode, %N Le nom d'un nœud créé temporairement pour fournir l'accès au périphérique depuis un programme externe avant que le vrai nœud soit créé.
%% Le caractère %
$$ Le caractère $
^
11 novembre 2011

htmlpdflatexmanmd




udevadm

udevadm

Utilitaire de gestion udev

Description

   Utilitaire de gestion d'udev. Il attend un commande et des options spécifiques et contrôle udev en temps réel, les requêtes d'event kernel, gère la queue d'event et fournit des mécanismes de debuggage.

udevadm info

   Requête la base udev pour les informations de périphérique. Peut également requêter les propriétés d'un périphérique dans sa représentation sysfs pour aider à créer des règles udev.

--query=type Requête la base pour un type spécifié de périphérique de données. Nécessite --path ou --name pour identifier le périphérique. Les requêtes valides sont name, symlink, path, property et all.
--path=devpath le devpath du périphérique à requêter
--name=file Le nom du nœud ou du symlink
--root Le répertoire root udev : /dev. Utilisé avec name ou symlink, la requête retourne le chemin absolu.
--attribut-walk Affiche toutes les propriétés sysfs qui peuvent être spécifiés dans les règles udev. Affiche tous les périphériques dans la chaîne, jusqu'à la racine de sysfs.
--device-id-of-file=file Affiche les numéros majeur/mineur du périphérique.
--export-db Exporte le contenu de la base udev

udevadm trigger

   Requête les events de périphérique du kernel. Principalement utilisé pour rejouer les event lors du branchement à froid.

--verbose Affiche la liste des périphériques qui sont pilotés
--dry-run ne pas piloter l'event actuel
--type=type Pilote un type spécifique de périphérique. Les types valides sont : devices, subsystems, failed (défaut : devices)
--action=action Type d'event à piloter. Défaut : change
--subsystem-match=subsystem Pilote les events pour les périphériques appartenant à un sous-systèmes. Peut-être spécifié plusieurs fois et support les motifs type shell.
--subsystem-nomatch=subsystem Ne pilote pas les event pour les périphérique qui appartiennent à un subsystem. Peut-être spécifié plusieurs fois et support les motifs type shell.
--attr-match=attribute=value Pilote les events pour les périphériques qui match un attribut sysfs. Si une valeur est spécifiée, vérifie avec la valeur de l'attribut. Non spécifié, vérifie l'existence de l'attribut. peut-être spécifié plusieurs fois.
--attr-nomatch=attribute=value Ne pilote pas les events pour les périphériques qui match un attribut sysfs. Si une valeur est spécifiée, vérifie avec la valeur de l'attribut. Non spécifié, vérifie l'existence de l'attribut. peut-être spécifié plusieurs fois.
--property-match=property=value Pilote les events pour les périphériques qui match une propriété. Peut-être spécifié plusieurs fois et supporte les motifs type shell
--tag-match=property Pilote les events pour les périphériques qui match le tag. Peut-être spécifié plusieurs fois.
--sysname-match=name Pilote les events pour les périphériques qui match un nom de périphérique. Peut-être spécifié plusieurs fois et supporte les motifs type shell.

udevadm settle

   Regarde la queue d'event udev, qui quitte si tous les events actuels sont handlés.

--timeout=seconds Nombre de seconde max à attendre que la queue d'event soit vide (défaut 180). A 0, retourne immédiatement.
--seq-start=seqnum Attend seulement les event après le numéro de séquence donné.
--seq-end=seqnum Attend seulement les events avant le numéro de séquence donné.
--exit-if-exists=file stop l'attente de l'existence du fichier
--quiet mode silencieux

udevadm control

   Modifie l'état interne de udevd

--log-priority=value Définis le niveau de log. peut être défini sous forme numérique ou err, info et debug.
--stop-exec-queue Signal à udevd de stopper l'exécution des nouveaux events. Les nouveaux events seront mis en queue
--start-exec-queue Signal à udevd d'exécuter les events
--reload-rules Recharge les fichiers de règles. Peu utile vu qu'udevd détecte automatiquement les changements
--property=KEY=value Définis une propriété global pour tous les events
--children-max=value Définis le nombre maximum d'events que udevd va manipuler simultanément.

udevadm monitor

   Écoute les events et les uevents kernels sortis par une règle udev et affiche le devpath de l'event. Peut être utilisé pour analyser le timing d'event, en comparant le timestamps des uevent kernel et des events udev.

--kernel Affiche les uevents kernel
--udev Affiche les events udev après le traitement des règles
--property Affiche également les propriétés de l'event
--subsystem-match=string[/string] Filtre les events par sous-système[type de périphériques]. Seuls les event udev avec un sous-système correspondant vont passer.
--tag-match=string Filtre les events par propriété. Seul les event udev avec le tag donné vont passer.
udevadm test simule un event udev pour un périphérique donné, le devpath doit être spécifié après les options
--action=string La chaîne action
--subsystem=string La chaîne sous-système
^
11 novembre 2011

htmlpdflatexmanmd




udevd

udevd

Service de gestion des périphériques dynamiques

Description

   udevd écoute les évènements kernel. Pour chaque évènement, udevd exécute les instructions correspondant spécifiées dans les règles udev. Au démarrage, le contenu de /lib/udev/devices est copié dans /dev. Si les modules kernel spécifient des noeuds de périphériques statiques, ces nœuds sont créés même sans un périphérique kernel correspondant, permettant un chargement à la demande de ces modules. Les permissions qui match dans les règles udev sont appliquées à ces nœuds de périphérique statiques.

  Le mode de fonctionnement d'udevd peut être changé avec udevadm control

OPTIONS

--daemon daemonise udevd
--debug Mode debug
--children-max= Nombre max d'évènements exécutés en parallèles
--exec-delay= Nombre de secondes d'exécution des instructions RUN.
--resolve-names= Spécifie quand udev devrait résoudre les noms des utilisateurs et des groupes. À early (défaut) les noms sont résolus quand les règles sont parcourues. À late, résout pour chaque event, à never, ne résout jamais les noms et tous les périphériques seront possédés par root.
^
31 mai 2010

htmlpdflatexmanmd




update-rc.d

update-rc.d

Met à jour les liens des scripts init

   Met à jour les liens des scripts init du système dans /etc/rcX.d/ qui ciblent les script dans /etc/init.d/. update-rc.d a 2 modes d'opération pour installer les scripts dans la séquence de boot. Un mode legacy où les arguments de la ligne de commande sont utilisés pour décider la configuration de runlevel; et un mode par défaut où les informations de runlevel et de dépendance sont récupérés depuis l'en-tête du script.

   Si un fichier dans /etc/rcX.d/ existe, update-rc.d ne fait rien. Supprimer les liens manuellement dans les dossiers /etc/rcX.d/ est une erreur commune parce qu'à la prochaine mise à jours du programme, le script postinstall va pré-exécuter update-rc.d qui va recréer les liens. La bonne démarche est de désactiver le service dans tous les runlevels.

   Si default est utilisé, update-rc.d va créer des liens pour démarrer les services dans les runlevels 2345 et de les stopper dans les runlevels 016. Par défaut, tous les liens ont le numéro de séquence de 20, mais peut changer en fonction des dépendances.

   Les script kill sont appelés en premier. En général, le numéro de séquence pour stopper un lien devrait être 100 moins le numéro de séquence pour le démarrer, ce qui force les services à être stoppés dans l'ordre inverse qu'ils ont été démarré. Par contre le numéro de séquence par défaut pour stopper un lien reste 20 par défaut, il s'agit d'un bug historique.

   Le script doit exister dans /etc/init.d/ avant d'utiliser update-rc.d pour créer les liens. Le script doit être supprimé de /etc/init.d/ avant d'utiliser update-rc.d pour supprimer les liens

OPTIONS

-n  Ne fait rien, affiche seulement ce qu'il aurait fait.
-f Force la suppression des liens même si le script existe encore.

Exemples

Inserér les liens en utilisant defaults:
update-rc.d foobar defaults
l'équivalent en utilisant les arguments explicites:
update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
Une commande plus courante:
update-rc.d foobar start 30 2 3 4 5 . stop 70 0 1 6 .
Insérer les liens dans les runlevels par défaut quand B requièreA
update-rc.d script_for_A defaults 80 20
update-rc.d script_for_B defaults 90 10
Insérer un lien d'un service qui n'est pas nécessaire à un autre service:
update-rc.d top_level_app defaults 98 02
Insérer un lien qui requière un service qui se lance/se termine avec un numéro de séquence de 20:
update-rc.d script_depends_on_svc20 defaults 21 19
Supprimer tous les liens d'un script (il doit avoir été supprimé avant)
update-rc.d foobar remove
Exemple pour désactiver un service:
update-rc.d -f foobar remove
update-rc.d foobar stop 20 2 3 4 5 .
exemple d'une commande pour installer un script d'initialisation et d'arrêt du système:
update-rc.d foobar start 45 S . stop 31 0 6 .
Exemple d'une commande pour désactiver un script d'initialisation et d'arrêt du système:
update-rc.d -f foobar remove
update-rc.d foobar stop 45 S .
^
29 octobre 2011

htmlpdflatexmanmd




useradd

useradd

Créé ou modifie un utilisateur

   Créé un nouvel utilisateur ou modifie les informations par défaut appliquées aux nouveaux utilisateurs. il s'agit d'un utilitaire bas-niveau, préférer adduser. Invoqué sans -D, créé un nouveau compte utilisateur. Par défaut, un groupe sera également créé pour le nouvel utilisateur.

OPTIONS

-b, --base-dir Répertoire de base par défaut du système si -d n'est pas spécifié. Est concatené avec le nom du compte pour définir le répertoire personnel. Doit exister si -m n'est pas spécifié. Non spécifié, utilise le contenu de la variable HOME dans /etc/default/useradd ou /home par défaut.
-c, --comment Description du compte. Utilisé pour le nom complet de l'utilisateur.
-d, --home Répertoire de l'utilisateur.
-D, --defaults Modifier les valeurs par défaut, voir plus bas.
-e, --expiredate Date d'expiration du compte, au format AAAA-MM-JJ. Non spécifié, utilise la valeur dans /etc/default/useradd, ou vide.
-f, --inactive Nb de jours suivant la fin de validité d'un mot de passe après lequel le compte est définitivement désactivé. -1 désactive cette fonction. Non spécifié, utilise INACTIVE dans /etc/default/useradd, ou -1.
-g, --gid Nom ou gid du groupe initial de connexion de l'utilisateur (quand -N/--no-user-group est utilisé ou quand USERGROUPS_ENAB est à no dans /etc/login.defs). Ce groupe doit exister. Défini GROUP dans /etc/default/useradd.
-s, --shell Nom du shell de l'utilisateur. défini SHELL dans /etc/default/useradd.

Notes

   L'administrateur système doit se charger de placer les fichiers dans /etc/skel, ou tout autre répertoire spécifié dans /etc/default/useradd ou sur la ligne de commande. Vous ne pouvez pas ajouter un utilisateur à un groupe NIS ou LDAP. Il est généralement recommandé d'utiliser des noms qui commencent par une lettre minuscule ou un '_', suivi par des lettre minuscules, chiffres, '_' ou '-'. Peut finir par un '$' en expression régulière: [a-z_][a-z0-9_-]*[$] ?. Sous Debian, ne peut pas commencer par '-', ':' ou un espace blanc (space, end of line, \n, tabulation, \t, etc). Les noms d'utilisateurs sont limités à 16 caractères.

Configuration

   Les variables de /etc/login.defs modifient le comportement de cet outil:

CREATE_HOME indique si le répertoire personnel doit être créé ou non. Ne s'applique pas pour les utilisateurs systèmes, peut être annulé sur la ligne de commande
GID_MAX GID_MIN Plage de GID que useradd, groupadd et newusers peuvent utiliser pour la création des groupes.
MAIL_DIR répertoire d'attente des mails.
MAIL_FILE Emplacement des boîtes aux lettres des utilisateurs
MAX_MEMBERS_PER_GROUP Nombre maximum de membres par entrée de groupe. Une fois la limite atteinte une nouvelle entrée dans /etc/group avec le même nom, mdp et GID est créé. A 0, pas de limite (défaut). Permet de limiter la longueur des lignes dans le fichier de groupes (utile pour NIS).
PASS_MAX_DAYS Nb max de jour de validité d'un mot de passe. (-1 désactive cette option)
PASS_MIN_DAYS nb mini de jours autorisés avant la modification d'un mot de passe. (-1 désactive cette option)
PASS_WARN_AGE Nombre de jours durant lesquels l'utilisateur recevra un avertissement avant que son mot de passe n'arrive à expiration. (valeur négative désactive cette option).
SYS_GID_MAX SYS_GID_MIN Plage de GID utilisé pour la création des groupes systèmes.
SYS_UID_MAX SYS_UID_MIN Plage d'UID pour la création des utilisateurs systèmes
UID_MAX UID_MIN Plage d'UID pour la création d'utilisateurs normaux.
UMASK Masque de mode pour la création de fichiers. (défaut : 022)
USERGROUPS_ENAB à yes, userdel supprimera le groupe de l'utilisateur s'il ne contient pas d'autres membres et useradd créera par défaut un groupe portant le nom de l'utilisateur.

Valeurs de retour

0 succès
1 impossible de mettre à jour le fichier des mots de passe
2 erreur de syntaxe
3 paramètre non valable pour l'option
4 UID déjà utilisé
6 le groupe n'existe pas
9 Nom d'utilisateur déjà utilisé
10 impossible de mettre à jours le fichier des groupes
12 impossible de créer le répertoire personnel
13 impossible de créer le répertoire d'attente des courriels
^
29 octobre 2011

htmlpdflatexmanmd




userdel

userdel

Supprime un utilisateur et les fichiers associés. userdel est un utilitaire bas niveau, préférer deluser.

OPTIONS

-f, --force Force la suppression de l'utilisateur, même s'il est encore connecté. force également à supprimer son répertoire personnel ou sa file d'attente des mails. commande dangereuse et pouvant laisser le système dans un état incohérent.
-r, --remove les fichiers dans le home de l'utilisateur seront supprimés avec le répertoire lui-même et le répertoire des mails.

Configuration

les variables dans /etc/login.defs:
MAIL_DIR
MAIL_FILE
MAX_MEMBERS_PER_GROUP
USERDEL_CMD Cette commande est exécutée lors de la suppression d'un utilisateur.
USERGROUPS_ENAB

Avertissement

   userdel ne permet pas la suppression d'un compte si des processus actifs lui appartiennent encore.
^
29 octobre 2011

htmlpdflatexmanmd




usermod

usermod

Modifie un compte utilisateur.

OPTIONS

-a, --append Ajoute l'utilisateur aux groupes supplementaires. ne l'utiliser qu'avec -G
-c, --comment Modifier le commentaire. Généralement modifié avec chfn.
-d, --home Change le répertoire de l'utilisateur
-e, --expiredate Date de désactivation du compte au format AAAA-MM-JJ
-f, --inactive Nb de jours suivant la fin de validité d'un mot de passe après lequel le compte est désacivé.
-g, --gid Nom du groupe principal de l'utilisateur. Le groupe doit exister. Tous les fichiers dans le répertoire home de l'utilisateur seront modifié avec ce nouveau groupe.
-G, --groups liste des groupes supplémentaire séparés par des ','. Si un groupe dont il fait partie n'est pas listé, il sera supprimé de ce groupe, sauf avec -a.
-l, --login Change le nom de connexion.
-L, --lock Vérrouiller le mot de passe d'un utilisateur. Ajoute un ' !' devant le mot de passe chiffré. ne peut pas être utilisé avec -p ou -U
-m, --move-home déplace le contenu du répertoire personnel.
-o, --non-unique Avec -u, permet de changer le UID vers une valeur déjà utilisée.
-p, --password mot de passe chiffré, comme renvoyé par crypt.
-s, --shell Nom du nouveau shell de l'utilisateur.
-u, --uid UID de l'utilisateur. la boite aux lettre et le contenu de son home seront automatiquement modifiés.
-U, --unlock Dévérouiller le mot de passe de l'utilisateur. Supprime le ' !' devant le mot de passe chiffré.
-Z, --selinux-user Identifiant SELinux du nouvel utilisateur. vide par défaut.

Configuration

Variable utilisée dans /etc/login.defs
MAIL_DIR
MAIL_FILE
MAX_MEMBERS_PER_GROUP
^
03 février 2016

htmlpdflatexmanmd




vcs

vcs, vcsa

Mémoires des consoles virtuelles

   /dev/vcs0 est un périphérique caractère de numéro majeur 7 et mineur 0, avec les permissions 0644 et un propriétaire root:tty. Il correspond à la mémoire d'affichage de la console virtuelle en cours d'utilisation.

   /dev/vcs[1-63] sont des périphériques caractères représentant la mémoire d'affichage des consoles virtuelles. Ils ont un numéro majeur 7 et mineurs de 1 à 63. Ils ont généralement un mode d'accès 0644 et un propriétaire root:tty. Les /dev/vcsa[0-63] sont équivalents mais utilisent des entiers non-signés court (dans l'ordre des octets de l'hôte) qui incluent les attributs, et sont préfixés avec 4 octets indiquant les dimensions de l'écran et la position du curseur: lines, columns, x, x, (x = y = 0 en haut à gauche).

   Lorsqu'une police à 512 caractères est chargée, la position du 9e bit peut être extraite en appliquant l'opration ioctl(2) VT_GETHIFONTMASK sur /dev/tty[1-63]; la valeur est renvoyée dans l'entier de type non-signé court pointé par le troisième paramètre de ioctl(2).

   Ces périphériques remplacent les opérations ioctl(2) screedump des console(4), ainsi l'administrateur peut contrôler les accès en utilisant les permissions du système de fichiers.

Les périphériques pour les 8 premières consoles virtuelles peuvent être créés ainsi:
for x in 0 1 2 3 4 5 6 7 8; do
    mknod -m 644 /dev/vcs$x c 7 $x;
    mknod -m 644 /dev/vcsa$x c 7 $[$x+128];
done
chown root:tty /dev/vcs*

Exemple

On peut faire un screendump de la console vt3 en basculant sur vt1 et en tapant:
cat /dev/vcs3 ›foo
Noter que la sortie ne contient pas de caractères de retour-chariot, quelques manipulations peuvent être nécessaires comme:
old -w 81 /dev/vcs3 | lpr
ou
xetterm -dump 3 -file /proc/self/fd/1

Ce programme affiche le caractère et l'attribut d'écran sous le curseur de la seconde console virtuelle, puis y change la couleur de fond:
#include ‹unistd.h›
#include ‹stdlib.h›
#include ‹stdio.h›
#include ‹fcntl.h›
#include ‹sys/ioctl.h›
#include ‹linux/vt.h›
    
int
main(void)
{
    int fd;
    char *device = "/dev/vcsa2";
    char *console = "/dev/tty2";
    struct {unsigned char lines, cols, x, y;} scrn;
    unsigned short s;
    unsigned short mask;
    unsigned char ch, attrib;
    
    fd = open(console, O_RDWR);
    if (fd ‹ 0) {
        perror(console);
        exit(EXIT_FAILURE);
    }
    if (ioctl(fd, VT_GETHIFONTMASK, &mask) ‹ 0) {
        perror("VT_GETHIFONTMASK");
        exit(EXIT_FAILURE);
    }
    (void) close(fd);
    fd = open(device, O_RDWR);
    if (fd ‹ 0) {
        perror(device);
        exit(EXIT_FAILURE);
    }
    (void) read(fd, &scrn, 4);
    (void) lseek(fd, 4 + 2*(scrn.y*scrn.cols + scrn.x), 0);
    (void) read(fd, &s, 2);
    ch = s & 0xff;
    if (attrib & mask)
        ch |= 0x100;
    attrib = ((s & ~ mask) ›› 8);
    printf("ch='%c' attrib=0x%02x\n", ch, attrib);
    attrib ^= 0x10;
    (void) lseek(fd, -1, 1);
    (void) write(fd, &attrib, 1);
    exit(EXIT_SUCCESS);
}

^
24 mars 2016

htmlpdflatexmanmd




veritysetup

veritysetup

Gère les volumes dm-verity

   veritysetup est utilisé pour configurer les mappages device-mapper dm-verity. Les cibles verity fournissent une vérification d'intégrité transparente des périphériques block utilisant l'API crypto kernel. Les périphériques dm-verity sont toujours lecture-seule.

Opérations

format ‹data_device› ‹hash_device› Calcule et stocke Les données de vérification de hash de manière permanente pour le périphérique. La zone de hash peut être localisée sur le même périphérique après que les données soient spécifiées par l'option --hash-offset. Il est nécessaire de fournir la chaîne de hash root pour la vérification du périphérique ou l'activation. Le hash root doit être trusté. Les argument hash et data peuvent être un périphérique block ou un fichier image. Si le périphérique de hash n'existe pas il sera créé
create ‹name› ‹data_device› ‹hash_device› ‹root_hash› Créé un mappage du nom sur le périphérique donné en utilisant le hash pour la vérification par le kernel. root_hash est une chaîne hexadécimale.
verify ‹data_device› ‹hash_device› ‹root_hash› Vérifie a donnée dans le périphérique en utilisant les blocks de hash stocké dans hash_device. Cette commande effectue une vérification dans l'espace utilisateur, aucun périphérique kernel n'est créé.
remove ‹name› Supprime le mappage existant spécifié
status ‹name Affiche le status pour la mappage verity actif spécifié
dump ‹hash_device› Repporte les paramètres du périphérique verity depuis le superblock stocké sur disque

OPTIONS

-v, --verbose mode verbeux
--debug Mode debug
--no-superblock Créé ou utilise dm-verify sans superblock sur disque permanent
--format=number Spécifie le type de hash (actuellement: 1)
--data-block-size=bytes Utilise la taille de block spécifiée pour le périphérique de donnée.
--hash-block-size=bytes Utilise la taille de block spécifiée pour le périphérique de hash
--data-blocks=blocks Taille du périphérique de donnée utilisée pour la vérification. Non spécifié, tout le périphérique est utilisé
--hash-offset=bytes Offset de la zone de hash dans le périphérique de hash. La valeur doit être alignée à l'offset du secteur disque
--salt=hex string Salt à utiliser pour le formattage ou la vérification. Format est une chaîne hexadécimale
--uuid=UUID Utilise l'UUID fournis pour la commande format au lieu d'en générer un nouveau

Codes de retour

0 L'opération s'est déroulé avec succès
1 Mauvais paramètres
2 N'a pas les permissions
3 Out of memory
4 Mauvais périphérique spécifié
5 Le périphérique existe déjà
^
28 août 2015

htmlpdflatexmanmd




warnquota

warnquota

Envoie un mail aux utilisateurs sur les quotas

   warnquota vérifie le quota disque des systèmes de fichiers spécifiés et envois des mails d'alerte aux utilisateurs qui ont atteind leur softlimit.

OPTIONS

-F, --format=format-name Affiche le quota au format spécifié: vfsold (16-bits UID), vfsv0 (32bits UID), vfsv1 (format 64bits) rpc (quota sur NFS), xfs (quota sur les système XFS).
-q, --quota-tab=quotatab Utilise le fichier spécifié au lieu de /etc/quotatab avec les chaînes de description de périphérique.
-c, --config=configfile Utilise le fichier spécifié au lieu de /etc/warnquota.conf comme fichier de configuration
-a, --admins-file=adminsfile Utilise le fichier spécifié au lieu de /etc/quotagrpadmins comme fichier avec les administrateurs de groupes.
-u, --user Vérifie les quotas utilisateur
-g, --group Vérifie les quotas de groupe
-s, --human-readable Affichage au format automatique
-i, --no-autofs ignore les points de montage montés par automounter
-d, --no-details N'attache pas de rapport de quota dans le mail.
^
28 août 2015

htmlpdflatexmanmd




/etc/warnquota.conf

/etc/warnquota.conf

fichier de configuration des alertes de quota, utilisé par warnquota

OPTIONS

CC_BEFORE Envoie en CC seulement quand un utilisateur a moins que la période de grâce spécifiée.
CC_TO Adresses email en cc
CHARSET Jeu de caractère à utiliser dans le mail
FROM adresse email de l'expéditeur
GROUP_MESSAGE Un texte envoyé comme corps du mail si un groupe excède sa limite
GROUP_SIGNATURE Texte de signature ajoutée à la fin du corps du mail
LDAP_BASEDN Base de recherche LDAP
LDAP_BINDDN Compte de connexion LDAP
LDAP_BINDPW Mot de passe du compte LDAP
LDAP_DEFAULT_MAIL_DOMAIN Domaine recherché
LDAP_HOST Serveur ldap à contacter si LDAP_URI n'est pas définis
LDAP_MAIL (Bool) contrôle si LDAP doit être utilisé pour rechercher les adresses email
LDAP_MAIL_ATTRIBUTE Spécifie l'attribut contenant l'email de l'utilisateur
LDAP_PORT Port du serveur LDAP si LDAP_URI n'est pas définis
LDAP_SEARCH_ATTRIBUTE L'attribut qui maintient l'ID de l'utilisateur
LDAP_URI L'URI du serveur LDAP à contacter
MESSAGE Corps du message à envoyer si un utilisateur dépasse ses limites
MAIL_CMD Commande à exécuter pour envoyer des mails
MAILDEV Périphérique avec quota disque à exclure des notification.
PHONE Un téléphone de contact
SIGNATURE La fin du corps du message
SUBJECT Le sujet du mail
SUPPORT Le contact du support informatique de l'utilisateur

caractères interprétés dans les chaînes

%d domain name
%h host name
%i, %s user or group name
%% literal % character
| new-line character
^
07 mai 2016

htmlpdflatexmanmd




wdctl

wdctl

Affiche le status du watchdog hardware

   Le périphérique par défaut est /dev/watchdog. Si plus d'un périphérique est spécifié alors la sortie est séparée par une ligne blanche

OPTIONS

-f, --flags list Affiche seulement les flags spécifiés
-F, --noflags N'affiche pas les informations sur les flags
-I, --noident N'affiche les informations d'identité watchdog
-n, --noheadings N'affiche pas une ligne d'en-tête pour la table de flags.
-o, --output list Définis les colonnes à afficher
-O, --oneline affiche toutes les informations sur une seule ligne au format clé="valeur"
-r, --raw Utilise le format brute
-s, -settimeout seconds Définis le timeout watchdog en secondes
-T, --notimeouts N'affiche pas les timeouts watchdog
-x, --flags-only Idem à -I -T
^
07 octobre 2011

htmlpdflatexmanmd




wipefs

wipefs

Efface la signature d'un système de fichier ou d'un raid sur un périphérique (magic string) pour le rendre invisible pour libblkid

   Il n'efface pas le système de fichier ni les données du périphérique. Sans les options -a ou -o, il liste tous les système de fichiers et offsets de leurs signatures.

-a, --all Efface toutes les signatures disponibles
-n, --no-act Exécute tout sauf l'appel write()
-o, --offset offset Spécifie l'emplacement (en octet) de la signature qui devrait être effacée. Peut inclure le préfixe 0x. Peut être spécifié plusieurs fois.
-p, --parsable Affiche un format parsable au lieu d'un format imprimable. Encode tous les caractères non sûr d'une chaîne à sa valeur hexa correspondante et préfixée par '\x'

^
28 août 2015

htmlpdflatexmanmd




xqmstats

xqmstats

Affiche les statistiques de gestion de quota depuis /proc

   Affiche les statistiques de dquot XFS avec les éléments suivant:

- Reclaims
- Missed reclaims
- Dquot dups
- Cache misses
- Cache hits
- Dquot wants
- Shake reclaims
- Inact reclaims

^
28 mai 2017

htmlpdflatexmanmd




AIDE

AIDE

Advanced Intrusion Detection Environment

   AIDE est un vérificateur d'intégrité de fichier.

Commandes

--check, -C Vérifie les inconsistances de la base de donnée.
--init, -i Initialise la base de données
--update, -u Vérifie la base de données, et met à jours la base non-interactivement.
--compare, -E Compare 2 bases. Elles doivent être définis dans un fichier de configuration avec database=[url] et database_new=[url]
--config-check, -D Vérifie la configuration est s'arrête

Paramètres

-c, --config= Fichier de configuration. Défaut: ./aide.conf.
-l, --limit=REGEX Limite la commande aux entrées correspondant à l'expression.
-B, --before="configparameters" paramètre gérés avant de lire le fichier de configuration
-A, --after="configparameters" Paramètres gérés après avoir lu le fichier de configuration
-V, --verbose=verbosity_level Verbosite de aide (0-255) Défaut: 5
-r, --report=reporter Url où envoyer la sortie.

Diagnostique

   Normalement, le code de sortie est 0 si aucune erreur n'est survenue. Excepté pour --check, --compare, et --update, les codes de sortie sont:

1 Nouveaux fichiers detecté
2 fichiers supprimés
4 Fichiers modifiés
14 Erreur d'ecriture
15 argument invalide
16 Fonction non-implémentée
17 erreur de coniguration
18 Erreur d'E/S
19 Erreur de version
^
28 mai 2017

htmlpdflatexmanmd




aide-attributes

aide-attributes

Décoder et comparer des numéro d'attributs encodés en hexa

   aide-attributes décode les numéro d'attribut en noms d'attributs ou affiche les différences entre 2 numéro d'attribut. Ce script est utile pour décoder les numéros d'attributs affichés dans la base.

Exemples

Décoder le numéro c3d:
› aide-attributes c3d
filename
perm
uid
gid
size
bount
lnkcount

Afficher les différences entre 2 numéros d'attribut
aide-attributes c3d fbd
+ctime
+mtime
+inode
^
28 mai 2017

htmlpdflatexmanmd




aide.conf

aide.conf

Fichier de configuration aide

Configuration

database url depuis laquelle la base est lue.
database_out url où écrire la nouvelle base
database_new url où trouver d'autres base pour --compare
database_attrs Attributs des fichiers de base qui sont ajouté au rapport final en mode verbeux l2+.
database_add_metadata (bool) Ajoute la version AIDE et la date de la génération de la base en commentaire du fichier de base.
verbose Verbosité des messages (0-255)
report_url url où écrire la sortie. Peut être spécifié plusieurs fois
report_base16 (bool) encode en base16 les checksum dans les rapport au lieu de base64
report_detailed_init (bool) Ajoute les fichiers (verbole ›=2) et leurs détails (verbose ›=7) dans le mode initialisation.
report_quiet (bool) supprime la sortie de rapport si aucune différence dans la base n'a été trouvée
gzip_dbout (boo) compresse la sortie de la base.
root_prefix Préfixe en enlever de chaque nom de fichier dans le système de fichier avant d'appliquer les règles et l'écriture en base.
acl_no_symlink_follow (boo) suit les liens symboliques
warn_dead_symlinks (bool) Alerte sur les liens morts
grouped (bool) groupe les fichiers dans le rapport par fichiers ajoutés, supprimés ou changés
summarize_changes (bool) créé un sommaire dans les sections des fichiers ajoutés, supprimés, ou changés.

           Le format général est YlZbpugamcinCAXSE:

                Y Type de fichier (f,d,l,c,b,p ou s, ! si le type a changé, et ? sinon)
                Z = indique que la taille a changé, ‹ reporte une taille réduite, et › une taille augmentée
                Les autres lettres sont affichées si l'attribut associé a été changé, ou un '.' pour aucun changement, '+' si l'attribut a été ajouté, '-' s'il a été supprimé, ':' s'il est ignoré ou ' ' si l'attribut n'a pas été vérifié. Exception: (1) un fichier nouvellement créé remplace chaque lettre avec '+', (2) un fichier supprimé remplace chaque lettre avec '-'. L'attribut associé avec chaque lettre:

                        l le nom du lien a changé
                        b Le compteur de block a changé
                        p Les permissions ont changé
                        u l'uid a changé
                        g le gid a changé
                        a La date d'accès a changé
                        m La date de modification a changé
                        c La date de changement a changé
                        i L'inode a changé
                        C Un ou plusieurs checksum a changé
                        A L'acl a changé
                        X les attributs étendus ont changés
                        S Les attributs SELinux ont changé
                        E Les attributs de fichier dans le fs ext2 ont changé

report_ignore_added_attrs Liste d'attributs dont l'ajout est ignoré du rapport final
report_ignore_removed_attrs Liste d'attributs dont la suppression est ignoré du rapport final
report_ignore_e2fsattrs Liste sans délimiteur d'attributs de fichier ext2 qui sont ignorés dans le rapport final. voir chattr. 0 = ignore tous les attributs.
config_version Valeur affichée dans le rapport et dans la base.
Group definitions Si le paramètre n'est pas un des précédents paramètres, il est considéré comme une définition de groupe. La valeur est considérée comme une expression.

Sélections

   AIDE supporte 3 type de lignes de sélection:

        Expression régulière ‹regex› ‹group›
        Sélection négative !‹regex›
        Sélection d'égalité =‹regex› ‹group›

           Chaque expression régulière doit commencer par '/'. Un '^' implicite est ajouté à chaque expression.

Sélection restreinte

   Ces lignes sont des lignes de sélection mais peuvent être restreint à des types de fichier. Les types suivants sont supportés:

        f fichier régulier
        d répertoire
        l lien symbolique
        c fichier caractère
        b Fichier block
        p FIFO
        s Socket UNIX

           Les types sont séparés par un ','. La syntaxe est la suivante:

        sélection restreinte normale
        ‹regex› ‹file types› ‹group›
        Selection inversée
        !‹regex› ‹file types›
        Sélection égale
        =‹regex› ‹file types› ‹group›

Exemples

N'ajoute que les répertoire et fichier dans la base:
/ d,f R
Ajouter tout sauf les répertoires
^/run d
/run R
Utiliser une règle spécifique pour les répertoires
/run d R-m-c-i
/run R

Macro

@@define VAR val Définis une variable
@@undef VAR supprime une variable
@@ifdef VAR, @@ifndef VAR Déclaration conditionnelle
@@ifhost hostname, @@ifnhost hostname Déclaration conditionnelle
@@{VAR} Substitution de variable
@@else Définis une partie else d'une déclaration if
@@endif Termine une déclaration if
@@include VAR Inclus de fichier dans la configuration

URL

   Les url peuvent être:

stdout
stderr
stdin
file://filename
fd:number

Groupe par défaut

p permissions
ftype type de fichier
i inode
l nom du lien
u utilisateur
g groupe
s taille
b compteur de block
m mtime
a atime
c ctime
S vérifier si la taille grandis
I ignore le noms de fichier changés
ANF autorise de nouveaux fichiers
ARF autorise les fichiers supprimés
md5
sha1
sha256
sha512
rmd160
tiger
haval
crc32
gost
whirlpool checksums
acl liste de contrôle d'accès
selinux Attributs SELinux
xattrs Attributs étendus
e2fsattrs attributs de fichier dans un fs ext2
R p+ftype+i+l+n+u+g+s+m+c+md5+X
L p+ftype+i+l+n+u+g+X
E groupe vide
X acl+selinux+xattrs+e2fsattrs
p+ftype+l+u+g+i+n+S+X
^
28 mai 2017

htmlpdflatexmanmd




aideinit

aideinit

Créer une nouvelle base AIDE

   aideinit initialise une base AIDE à l'emplacement database_out.

OPTIONS

-y, --yes écrase le fichier database_out
-f, --force Force l'écrasement de la base avec une nouvelle
-c, --config Fichier de configuration alternatif
-o, --output Fichier de sortie alternatif
-d, --database Fichier de base alternatif
-b, --background Lance en tâche de fond.
^
17 mars 2010

htmlpdflatexmanmd




arp

arp

Manipuler et afficher la table arp ipv4 du noyau

Modes

arp sans mode affiche le contenu de la table arp, il est possible de limiter l'affichage en spécifiant le type d'adresse physique, le nom de l'interface ou l'adresse de l'hôte.
arp -d address va supprimer l'entrée dans la table arp
arp -s address hw_addr est utilisé pour ajouter une entrée dans la table. Pour spécifier des entrée pour une ou plusieurs interfaces, utiliser -Ds address ifname

OPTIONS

-v, --verbose mode verbeux
-n, --numeric affiche les adresses numériques au lieu des noms
-H type, --hw-type type spécifie quelle classe d'entrée arp doit vérifier.
-a utilise le format de sortie BSD
-D, --use permet de spécifier une interface au lieu de hw_addr. c'est la meilleur option pour spécifier un proxy arp.
-i If, --device If sélectionne une interface
-f filename, --file filname similaire à l'option -s, seulement cette fois les données sont prise depuis le fichier spécifié. généralement /etc/ethers (défaut)

Exemples

Répondre aux requêtes arp sur eth0 pour 10.0.0.2 avec l'adresse MAC de eth1
arp -i eth0 -Ds 10.0.0.2 eth1 pub
Supprimer une entrée de la table
arp -i eth1 -d 10.0.0.1
^
31 mai 2017

htmlpdflatexmanmd




audispd

audispd

Multiplexeur d'évènement

   audispd doit être démarré par auditd pour obtenir les évènements, qu'il distribut aux programmes enfants qui souhaitent analyser les évènements en temps réel. Quand auditd reçoit SIGTERM ou SIGHUP, il passe ce signal au dispatcher également, qui en retour le passe aux processus enfant.

   Les programmes enfant installent un fichier de configuration dans un répertoire, /etc/audisp/plugins.d/. Les noms de fichier ne doivent pas avoir plus d'un '.' dans le nom sinon ils sont traités comme copie de sauvegarde et ignorés. Les options sont:

OPTIONS

active (bool)
direction Dicté par le plugin. (in, out)
path Chemin complet du plugin. Dans le cas des plugins internes, c'est juste le nom.
type Indique commment le plugin est lancé (builtin, always). builtin devrait toujours être spécifié pour les plugins internes, sinon always.
args Permet de passer des arguments au programme enfant. Il y a une limite de 2 arguments
format binary ou string. binary passe les données tel que audispd les a reçu. string est plus adapté au parsing
^
02 juin 2017

htmlpdflatexmanmd




audispd.conf

audispd.conf

Fichier de configuration du dispatcher d'évènement d'audit

q_depth Valeur numérique indiquand la taille de queue interne du dispatcher. Défaut: 80
overflow_action Détermine la réaction du service au débordement de sa file d'attente. ignore, syslog, suspend, single et halt
priority_boost Nombre non-négatif qui indique la priorité qu'il doit utiliser. Ce boost est ajouté au boost fournis par auditd. Défaut: 4. 0 = aucun changement
max_restarts Nombre non-négatif indiquant le nombre maximum de tentative de redémarrer un plugin crashé. Défaut: 10
name_format Contrôle le format des noms de nœud insérés dans le flux d'évènements. none, hostname, fqd, numeric, et user
name Chaîne identifiant la machine si name_format = user

^
02 juin 2017

htmlpdflatexmanmd




audit.rules

audit.rules

Jeu de règles chargés dans le système d'audit

   Le fichier audit.rules est un fichier contenant des règles d'audit chargés par auditd au démarrage. auditctl est utilisé pour cette opération. Les régles d'audit sont de 3 type: control, file, et syscall

contrôle

   Les commandes de contrôle configurent le système d'audit. Ces commande incluent typiquement la suppression de toutes les règles, définir la taille de file backlog, définir le mode d'erreur, etc.

Système de fichier

   Ces régles sont parfois appelées des watchs. Ces règles sont utilisée pour auditer les accès à des fichiers particuliers. La syntaxe suit généralement ce format: -w path-to-file -p permissions -k keyname où les permissions sont une des suivantes: r,w,x,a

appels système

   Ces règles sont chargées dans un moteur qui intercepte chaque syscall que tous les programmes font dans le système. Noter que cela impacte les performances.

  Le kernel a 4 règles: task, exit, user et exclude.

task Cette liste est vérifie seulement durantles syscall fork ou clone. Rarement utilisé en pratique.
exit Est l'endroit où tous les syscall et requêtes d'audit système sont évalués
user Utilisé pour filtrer (supprimer) certains évènements qui viennent du userspace.
exclude Utilisé pour exclure certains évènements. Le champ msgtype est utilisé pour indiquer au kernel les types de message à ne pas enregistrer.

   Les règles syscall prenne la forme générale:-a action,list -S syscall -F field=value -k keyname

-a indique d'ajouter une règle à la fin de la liste.
action et list sont séparés par une virgule. les listes valides sont task, exit, user et exclude, les actions valide sont always ou never (créer un évènement)
La suite de la règle est normalement -S, qui peut être soit un nom ou un numéro de syscall.
L'option -F affine le matche. Voir auditctl pour une liste complète de champ.

Notes

En faisant une investigation, on commence normalement avec aureport pour avoir une idée de ce qui se passe dans le système. Ce rapport indique principalement les évènements hardcodés par le système d'audits tels que les login/logout, authentifications, anomalies système, etc.
aureport --start this-week
Ensuit, pour obtenir une seconde vue des règles chargées:
aureport --start this-week --key --summary
Cela donne une liste ordonnée des clés associées avec les règles Si par exemple, une règle syscall sur un échec d'ouverture d'un fichier avec EPERM, avec une clé nommée access:
-a always,exit -F arch=b64 -S open -S openat -F exit=-EPERM -k access
On peut isoler ces erreurs avec auseurch et envoyer le résultat à aureport.
ausearch --start this-week -k access --raw | aureport --file --summary
Supposons que l'on souhaite voir quels utilisateurs se sont vu refuser l'accès:
ausearch --start this-week -k access --raw | aureport --user --summary
Pour afficher beaucoups d'accès échoués à un fichier particulier, on peut lancer un rapport pour voir qui le fait:
ausearch --start this-week -k access -f /path-to/file --raw | aureport --user -i
Ce rapport donne les tentatives d'accès par personne. Pour voir un évènement particulier, regarder la date et l'heure. Assumant que l'évènement est le 822 à 2:30 le 09/01*2009.
ausearch --start 09/01/2009 02:30 -a 822 -i --just-one
Sélectionne le premier évènement de ce jour.

Exemples

La règle suivante montre comment auditer les erreurs d'accès aux fichiers à cause de problèmes de permission. Noter que ça demande 2 règles pour chaque architecture:
-a always,exit -F arch=b32 -S open -S openat -F exit=-EACCES -k access
-a always,exit -F arch=b32 -S open -S openat -F exit=-EPERM -k access
-a always,exit -F arch=b64 -S open -S openat -F exit=-EACCES -k access
-a always,exit -F arch=b64 -S open -S openat -F exit=-EPERM -k access
^
29 mai 2017

htmlpdflatexmanmd




auditctl

auditctl

Utilitaire de contrôle du système d'audit Linux

Options de configuration

-b backlog Définis le nombre max de tampon d'audit permit (défaut: 64). Si tous les tampons sont pleins, le flag d'erreur est consulté par le kernel.
--backlog_wait_time wait_time Définis de temps (défault: 60*Hz) que le kernel attend lorsque backlog_limit est atteind avant de mettre plus d'évènements d'audit en queue à transférer à auditd. Doit être supérieur ou égal à 0 et inférieur à 10 fois la valeur par défaut.
-c Continue à charger les règles malgré les erreurs. Génère un sommaire du résultat du chargement des règles
-D Supprime toutes les règles et watchs
-e [0..2] Définis le flag enable. 0 = désactivé, 1 = activé, 2 = bloqué en l'état actuel.
-f [0..2] Défpinis le mode failure. 0 = silencieux, 1 = printk, 2 = panic. Permet de déterminer comment le kernel gère les erreurs critiques.
-i Ignore les erreurs en lisant les règles depuis un fichier.
--loginuid-immutable Rend les loginuid inchangeables une fois définis.
-q mount-point.subtree Si vous avez un watch répertoire existant, et un montage déplacé ou bindé ailleurs dans le subtree rechargé, il faut indiquer au kernel que le subtree mounté est équivalent au répertoire regardé. Si le subtree est déjà monté au moment où le watch est émis, le subtree est automatiquement taggé pour surveilance.
-r rate Définis la limite des message par seconde. (0=pas de limite). Si ce taux est atteind, le flag failure est consulté
-R file Lit les règles dans un fichier.
-t Déclence les subtrees après une commande mount

Options de status

-l Liste toutes les règles, 1 par ligne. 2+ options peuvent être passées à cette commande. -k liste les règles qui matche une clé, ou -i pour interpreter a0 à a3 pour aider à déterminer les valeurs d'argument syscall.
-m text Envoie un message userspace dans le système d'audit. Ne peut être fait qu'avec la capability CAP_AUDIT_WRITE.
-s Reporte le status du sous-système d'audit

Options de règle

-a [list,action|action,list] Ajoute une règle à la fin de la liste avec l'action spécifié. Les champs peuvent être dans n'importe quel ordre. Les noms de liste valides, puis d'actions sont:

        task Ajoute une règle à la liste par tâche. Utilisée seulement quand une tâche est créée ( fork() ou clone() )
        exit Ajoute une règle à la liste de sortie syscall. Utilisée à la sortie d'un appel système pour déterminer si un évènement d'audit devrait être créé
        user Ajoute une règle à a liste de filtre de message utilisateur. Utilisé par le kernel pour filtrer les évènements venant du userspace avant de les relayer à service d'audit.
        exclude Ajoute une règle à la liste de filtre d'exclusion de type d'évènement. Cette liste est utilisée pour filtrer les évènement que l'on ne veut pas voir.

        never Aucun enregistrement d'audit n'est généré.
        always Alloue un contexte d'audit.

-A list,action Ajoute une règle au début de la liste
-C [f=f | f!=f] Construit une règle de comparaison inter-champ. Peut être spécifié plusieurs fois. Les 2 opérateurs supportés sont equel et not equal. Les champs valides sont: auid, uid, euid, suid, fsuid, obj_uid; and gid, egid, sgid, fsgid, obj_gid
-d list,action Supprime une règle de la liste. La règle est supprimée seulement si les noms syscall matchent exactement.
-F [n=v | n!=v | n‹v | n›v | n‹=v | n›=v | n&v | n&=v] Construit un champs de règle: nom, opération, valeur. Peut être spécifié jusqu'à 64 fois. Chaque équation est combinée l'une avec l'autre pour déclencher un enregistrement d'audit. Il y a 8 opérateurs supportés: égal, non égal, inférieur à, supérieur à, inférieur ou égal à, supérieur ou égal à, mask de bit ou test de bit. Les champs qui prennent un uid peuvent utiliser le nom de l'utilisateur. Les champs valides sont:

        a0, a1, a2, a3 Les 4 arguments d'un syscall. Noter que les arguments chaîne ne sont pas supportés.
        arch Architecture CPU du syscall (uname -m)
        auid ID original de l'utilisateur. raccourci de audit uid, parfois appelé loginuid
        devmajor Numéro majeur de périphérique
        devminor Numéro mineur de périphérique
        dir Chemin complet d'un répertoire à regarder
        egid gid effectif
        euid uid effectif
        exe Chemin absolu de l'application à laquelle cette règle s'applique. Uniquement dans une liste exit
        exit Valeur de sortie d'un syscall
        fsgid GID du système de fichier.
        fsuid UID du système de fichier
        filetype Type du fichier cible (file, dir, socket, link, character, block, ou fifo)
        gid id du groupe
        inode Numéro d'inode
        key Autre manière de définir une clé filtre. voir -k
        msgtype Utiliser pour matcher le type d'enregistrement de l'évènement. devrait être utilisé dans les listes d'exclusion ou utilisateur
        obj_uid UID de l'objet
        obj_gid GID de l'objet
        obj_user Utilisateur SELinux de la ressource
        obj_role Type SELinux de la ressource
        obj_type Type SELinux de la ressource
        obj_lev_low niveau inférieur SELinux de la ressource
        obj_lev_high Niveau supérieur SELinux de la ressource
        path Chemin complet du fichier à regarder. Ne peut être utiliser que dans la liste exit
        perm Filtre de permissions pour les opérations de fichier. Voir -p Uniquement dans la liste exit
        pers Numéro de personnalité OS
        pid ID de processus
        ppid ID du processus parent
        subj_user Utilisateur SELinux du programme
        subj_role role SELinux du programme
        subj_type Type SELinux du programme
        subj_sen Sensibilité SELinux du programme
        subj_clr Autorisation SELinux du programme
        sgid gid sauvé.
        success Si la valeur de sortie est ›=0, c'est true/yes (1), sinon false/no (0)
        suid UID sauvé
        uid id de l'utilisateur

-k key Définis une clé filtre dans une règle d'audite. C'est une chaîne arbitraire (max 31 octets) qui peut identifier de manière unique les enregistrements d'audit produits par une règle. Peut être spécifié plusieurs fois
-p [r|w|x|a] Décrit les types d'accès sur lesquels se déclence un watch de système de fichier.
-S [Syscall name or number|all] Si le syscall doné est fait par un programme, démarre un enregistrement d'audit. Peut être spécifié plusieurs fois
-w path Insert un watch pour un objet système de fichier au chemin spécifié.
-W path Suppmire un watch pour l'objet système de fichier.

Performances

Les règles syscall sont évaluées pour chaque syscall pour chaque programme. Avec 10 règles syscall, chaque programe dans le système est retardé durant un syscall jusqu'à ce que le système d'audit évalu chaque règle, ce qui peut impacter fortement les performances. Tenter de combiner autant de filtre, action, clé, et champs que possible sont identiques. Par exemple:
auditctl -a always,exit -S openat -F success=0
auditctl -a always,exit -S truncate -F success=0
peuvent être reécris en une seule règle:
auditctl -a always,exit -S openat -S truncate -F success=0
Également, tenter d'utiliser l'audit de système de fichier améliore les performances. Par exemple, pour capturer toutes les ouvertures échouées, mais seulement les fichiers dans /etc:
auditctl -a always,exit -S openat -S truncate -F dir=/etc -F success=0
Cela améliore les performances vu que le kernel n'évalue pas chaque syscall. C'est géré par le code d'audit de système de fichier.

Exemples

Voir tous les syscalls faits par un programme spécifique
auditctl -a always,exit -S all -F pid=1005
Vois les fichiers ouverts par un utilisateur spécifique
auditctl -a always,exit -S openat -F auid=510
Voir les appels openat échoués
auditctl -a always,exit -S openat -F success=0
Regarder les changements d'un fichier (2 manières exprimées)
auditctl -w /etc/shadow -p wa
auditctl -a always,exit -F path=/etc/shadow -F perm=wa
Regarder les changements, récursivement dans un répertoire (2 manières exprimées)
auditctl -w /etc/ -p wa
auditctl -a always,exit -F dir=/etc/ -F perm=wa
Voir si un admin accède aux fichier des autres utilisateurs:
auditctl -a always,exit -F dir=/home/ -F uid=0 -C auid!=obj_uid
^
29 mai 2017

htmlpdflatexmanmd




auditd

auditd

Service d'audit Linux

   auditd est le composant userspace du système d'audit Linux. Il est responsable de l'écriture des enregistrements d'audit sur disque.

OPTIONS

-F Ne lance pas en tâche de fond
-l Autorise à suivre les liens symboliques pour les fichiers de configuration
-n  ne fork pas
-s=ENABLE_STATE Indique si auditd devrait changer la valeur courante du flag enabled du kernel (disable, enable ou nochange).

Signaux

SIGHUP reconfigure auditd
SIGTERM Stop l'audit, écrit un évènement d'arrêt, et quitte
SIGUSR1 rotation automatique des logs
SIGUSR2 tente de relancer le logging

Fichiers

/etc/audit/auditd.conf Fichier de configuration pour auditd
/etc/audit/audit.rules Règles d'audit à charger au démarrage
/etc/audit/rules.d/ Jeux de règles individuels à compiler par augenrules

Notes

   Le paramètre de boot audit=1 devrait être ajouté pour s'assurer que tous les processus qui sont lancés avant le service auditd soient marqués comme auditable par le kernel. Noter que faire cela rend quelques processus impossible à auditer.

  auditd peut reçevoir des évènements depuis d'autres services auditd via le plugin audisp-remote. auditd peut être liés avec tcp_wrappers pour contrôler quelles machines peuvent s'y connecter.
^
02 juin 2017

htmlpdflatexmanmd




auditd.conf

auditd.conf

Fichier de configuration du service d'audit

local_events (bool) Spécifie si les évènements locaux sont inclus. Défaut: yes.
log_file Spécifie le chemin complet du fichier de log où les enregistrements d'audit sont stockés
write_logs [bool) Détermine si les logs sont stockés sur disque. Défaut: yes.
log_format Format des logs stockés sur disque: raw et enriched. enriched résoud les uid, gid, syscall, architecture, et adresse socket.
log_group Spécifie le groupe du fichier de log. Défaut: root
priority_boost Nombre non-négatif qui indique la priorité. Défaut 4.
flush none ne fait rien de spécial pour vides les enregistrements sur disque. incremental utilise freq pour déterminer la fréquence, incremental_async est similaire, mais de manière asynchrone pour de meilleurs performances. data conserve les données du disque synchronisés en permanence. sync conserve les données et les métadonnées pleinement synchronisés. Défaut: incremental_async
freq Nombre non-négatif indiquant le nombre d'enregistrement à écrire avant de les vider sur disque.
num_lgos Spécifie le nombre de fichiers de logs à conserver. ‹ 2, la rotation de logs n'est pas effectuée. Doit être inférieur à 1000.
disp_qos Contrôle si la communication est bloquante/sans perte ou non-bloquante/avec perte entre auditd et le dispatcher. Il y a un tampon de 128K entre les 2, ce qui est suffisant dans la plupart des cas. (lossy ou lossless). Défaut: lossy
dispatcher Spécifie le dispatcher.
name_format Contrôle comment insérer les noms de nœud dans le flux d'évènements d'audit. none, hostname, fqd, numeric, et user. Défaut: none
name Nom à utiliser lorsque name_format = user
max_log_file Spécifie la taille max des fichiers de log. Une fois cette limite atteinte, il déclence une action de configuration
max_log_file_action Indique au système quelle action prendre quand le système a détecté que la limite de taille du fichier de log est atteinte.
action_mail_acct Adresse email ou alias. /usr/lib/sendmail doit exister dans la machine
space_left Valeur numérique, en Mo, indiquant quand effectuer une action lorsque l'espace disque vient à manquer
space_left_action Indique quelle action prendre quand l'espace disque restant est inférieur à space_left. (ignore, syslog, rotate, email, exec, suspend, single, ou halt)
admin_space_left Identique à space_left. Est considéré comme la dernière change de faire quelque chose avant de ne plus avoir d'espace disque.
admin_space_left_action Indique quelle action prendre quand l'espace disque restant est inférieur à admin_space_left
disk_full_action Indique quelle action prendre quand le système a détecté que la partition qui maintient les logs est pleine. (ignore, syslog, rotate, exec, suspend, single, et halt)
disk_error_action Indique quelle action prendre quand une erreur disque est détectée en écrivant des évènements d'audit sur disque.
tcp_listen_port Port tpc d'écoute des enregistrements d'audit des systèmes distants.
tcp_listen_queue Valeur numérique qui indique combien de connexions en cours sont permises. Défaut: 5
tcp_max_per_addr Valeur numérique indiquant combien de connection concurrentes de la même IP sont permises. Défaut: 1 (max 1024)
use_libwrap (bool) Utilise tcp_wrappers pour définir les machines autorisées à se connecter
tcp_client_ports 1 ou 2 valeurs numérique. Indique les ports clients permis pour les connexions entrante. Spécifier 1-1023 pour autoriser les port privilégiés
tcp_client_max_idle Délai en secondes d'inactivité d'un client avant que la connexion soit terminées. Défaut: 0 = désactive la vérification
enable_krb5 (bool) Utilise kerberos pour l'authentification et le chiffrement
krb5_principal Principal du serveur. Défaut: auditd.
krb5_key_file Emplacement de la clé du principal du client. Cette clé doit être possédée par root, en mode 0400. Défaut: /etc/audit/audit.key
distribute_network (bool) À yes, les évènements provenant du réseau sont distribués au dispatcher pour traitement. Défaut: no

Notes

- Dans un environneent CAPP, Le chemin d'audit est si important que l'accès aux ressources système doit être refusé si un chemin d'audit ne peut être créé. Dans cet environnement, il est suggéré que /var/log/audit soit dans sa propre partition.
- Le paramètre flush devrait être sync ou data
- space_left doit être être une valeur qui donne suffisamment de temps à un administrateur de réagir et de récupérer de l'espace disque. Cela peut impliquer aureport -t et le déplacement des anciens logs. Il est recommandé que space_left_action soit email.
- admin_space_left doit être l'espace disque nécessaire pour les actions administratives à enregistrer.
- disk_full_action est déclenchée quand il n'y a plus de place. Tous les accès devraient être terminés vu qu'il n'y a plus de capacité d'audit. Peut être définis à single ou halt
- disk_error_action devrait être syslog, sigle ou halt en fonction de la stratégie locale
- Spécifie ue seul port client permis peut poser problème pour le client souhaitant redémarrer le sous-système d'audit, vu qu'il n'est pas capable de recréer une connexion avec les même adresses d'hôte et ports tant que la connection est à l'état TIME_WAIT.
^
29 mai 2017

htmlpdflatexmanmd




augenrules

augenrules

Script qui fusionne les fichiers de règle d'audit

   augenrules est un script qui fusionne tous les composants de règle d'audit dans /etc/audit/rules.d dans un fichier /etc/audit/audit.rules. Les fichiers de règle doivent se terminer par .rules pour être traités. Les fichiers sont concaténés dans l'ordre. Le fichier généré est copié dans /etc/audit/audit.rules seulement s'il diffère.

- La dernière directive -D traitée sans option, si presente, et toujours émise comme première ligne du fichier résultant.
- La dernière directive -h traitée, si présente, est toujours émise comme seconde ligne du fichier résultant.
- La dernière directive -f traitée, si présente, est toujours émise comme 3ème ligne
- La dernière directive -e traitée, si présente, est toujours émise comme dernière ligne.

OPTIONS

--check Teste si les règles ont changées et doivent être mises à jours sans écrases les règles d'audit
--load Charge les anciennes et les nouvelles règles dans le kernel
^
31 mai 2017

htmlpdflatexmanmd




aulast

aulast

Programme similaire à last

   aulast affiche une liste des dernières connexions utilisateurs, similairement au programme last et lastb. Il recherche dans le logs d'audit et affiche une liste de tous les utilisateurs connectés/déconnectés.

OPTIONS

--bad Affiche les mauvais logins
--extract Écrit les enregistrement brut pour créer le rapport affiché dans un fichier aulast.log dans le répertoire courant
-f‹file› Lit les logs d'audit depuis le fichier spécifié
--proof Affiche les numéros de série d'évènement d'audit utilisés pour déterminer la ligne précédente du rapport.
--stdin Prend les enregistrements depuis stdin. Les évènement doivent être au format brut
--tty Limite le rapport à l'activité du tty
--user‹name› Limite de rapport à l'utilisateur spécifique

Exemples

Voir les logins de ce mois
ausearch --start this-month --raw | aulast --stdin
^
29 mai 2017

htmlpdflatexmanmd




aulastlog

aulastlog

Programme similaire à lastlog

   aulastlog est un programme qui afiche le dernier login pour tous les utilisateurs de la machine locale.

OPTIONS

-u, --user Affiche l'enregistrement lastlog pour l'utilisateur avec le login spécifié uniquement
--stdin Utilise stdin comme source des enregistrement d'audit. Les évènements doivent être au format raw
^
31 mai 2017

htmlpdflatexmanmd




aureport

aureport

Outil de rapports des logs d'audit

   aureport produit un sommaire des logs d'audit système.

OPTIONS

-au, --auth Affiche les tentative d'authentification
-a, --avc Affiche les messages avc
--comm afficher les commandes lancées
-cr, --crypto Affiche les évènements crypto
-f, --file Affiche les fichiers et sockets af_unix
--failed Ne sélectionne que les évènements échoués.
-h, --host Afficher les hôtes
-i, --interpret Interprète les entités numérique en texte.
-if, --input file | directory Utilise le fichier donné au lieu des logs
--input-logs Utilise l'emplacement des logs depuis auditd.conf comme entrées.
--integrité Affiche les évènements d'intégrité
-k, --key Affiche les clés des règles d'audit
-l, --login Affiche les logins
-m, --mods Affche les modifications de compte
-ma, --mac Affiche les évènements MAC
-n, --anomaly Affiche les évènement anormaux
--node node-name Ne sélectionne que les évènements venant du nœud spécifié
-nc, --no-config N'inclus pas les évènements CONFIG_CHANGE
-p, --pid Affiche les processus
-r, --response AFfiche les réponse aux évènements anormaux
-s, --syscall Affiche les syscall
--success Affiche seulement les évènements réussis
--summary Lance un sommaire qui donne un total des éléments du rapport principal
-t, --log Affiche un rapport du début et fin pour chaque log
--tty AFfiche les touches tty
-te, --end [end-date] [end-time] Recherche les évènement avant cette date/heure. mots clés permis: now, recent, today, yesterday, this-week, wwek-ago, this-month, this-year.
-tm, --terminal Affiche les terminaux
-ts, --start [start-date] [start-time] Affiche les évènements après cette date/heure. Les mots clé de -te sont permis.
-u, --user Affiche les utilisateurs
--virt Affiche les évènement de virtualisation
-x, --executable Affiche les exécutables
^
31 mai 2017

htmlpdflatexmanmd




ausearch

ausearch

Outil de requête de logs d'audit

OPTIONS

-a, --event audit-event-id Recherche un évènement basé sur l'id doné. Les messages commencent toujours par msg=audit(1116360555.329:2401771, l'id étant le nombre après le ':'.
--arch CPU Recherche les évènements basé sur une architecture CPU.
-c, --comm comm-name Recherche un évènement basé sur le nom de l'exécutable.
--debug Affiche les évènements mal-formés sur stderr
--checkpoint checkpoint-file checkpoint la sortie entre les invocation successive de ausearch de manière à ce que seuls les évènements qui n'ont pas été sortie sont affichés dans les invocations suivantes
-e, --exit exit-code-or-errno Recherche un évènement basé sur le code de sortie syscall donné
-f, --file filename Recherche un évènement basé sur le nom de fichier donné, ou socket af_unix
-ga, --gid-all all-group-id Recherche en évènement avec le gid ou gid effectif spécifié
-ge, --gid-effective effective-group-id Recherche en évènement avec le gid effectif spécifié
-gi, --gid group-id Recherche en évènement avec le gid spécifié
-hn, --host hostname Recherche en évènement avec le nom d'hôte spécifié
-i, --interpret Interprète les entités numériques en texte.
-if, --input filename | directory Utilise le fichier ou répertoire au lieu des logs
--input-logs Utilise l'emplacement des logs spécifié dans auditd.conf pour la recherche
--just-one Stop une fois le première évènement correspondant trouvé
-k, --key key-string Recherche en évènement basé sur la clé donnée
-l, --line-buffered Vide la sortie sur chaque ligne.
-m, --message message-type | comma-sep-message-type-list Recherche un évènement correspondant au type de message spécifié.
-n, --node node-name Recherche les évènements venant du ou des nœuds spécifiés.
-o, --object SE-Linux-context-string Recherche des évènements venant avec le tcontext donné
-p, --pid process-id Recherche un évènement avec le PID de processus donné
-pp, --ppid parent-process-id Recherche un évènement ayant le PID de processus parent donné
-r, --raw Sortie non formatée
-sc, --syscall syscall-name-or-value Recherche un évènement correspondant au syscall donné
-se, --context SE-Linux-context-string Recherche un évènement avec les scontext ou tcontext donné
--session Login-Session-ID Recherche un évènement avec l'ID de session donné
-su, --subject SE-Linux-context-string Recherche un évènement avec le scontext donné
-sv, --success success-value Recherche un évènement avec la valeur de succès donné (yes ou no)
-te, --end [end-date] [end-time] Recherche les évènement avant cette date/heure. mots clés permis: now, recent, today, yesterday, this-week, wwek-ago, this-month, this-year.
-ts, --start [start-date] [start-time] Affiche les évènements après cette date/heure. Les mots clé de -te sont permis.
-tm, --terminal terminal Recherche un évènement correspondant à la valeur terminal donnée
-ua, --uid-all all-user-id Recherche un évènement avec l'UID ou UID effectif donné
-ue, --uid-effective effective-user-id Recherche un évènement avec l'UID effectif donné
-ui, --uid user-id Recherche un évènement avec l'UID donné
-ul, --loginuid login-id Recherche un évènement avec le login id donné
-uu, --uuid guest-uuid Recherche un évènement avec l'uuid invité donné
-vm, --vm-name guest-name Recherche un évènement avec le nom de l'invité donné
-w, --word Chaîne de recherche à matcher
-x, --executable executable Recherche un évènement correspondant à l'exécutable donné

Codes de sortie

0 succès
1 Rien n'est trouvé, erreur d'argument, erreur d'accès fichier mineur
10 données checkpoint invalide
11 Erreur de traitement de checkpoint
12 Évènement checkpoint non trouvé dans le fichier de log
^
02 juin 2017

htmlpdflatexmanmd




ausearch-expression

ausearch-expression

Format d'expression de recherche d'audit

Structure lexicale

   Les espaces blancs sont ignorés. Les éléments suivants sont reconnus:

Ponctuation
( ) \
opérateurs logiques
! && ||
Opérateurs de comparaison
‹ ‹= == › ›= !== i= i!= r= r!=
expressions régulières

Syntaxe

field comparison-operator value
field est une chaîne qui spécifie le premier champ avec ce nom dans l'enregistrement, ou \ suivi d'une chaîne, qui spécifie un champ virtuel avec le nom spécifié.
operator Spécifie la comparaison à effectuer
r= r!= chaîne brute du champ (tel que stocké), et la compare à la valeur.
i= i!= Chaîne interprétée du champs
‹ ‹= == › ›= !== Opérateurs d'évaluation
\regexp string-or-regexp Dans ce cas spécial, l'enregistrement d'audit est pris comme une chaîne, et matché avec regexp-or-string, qui est une expression régulière étendue,.

   Si E1 et E2 sont des expressions valides, alors ! E1, E1 && E2, et E1 || E2 sont des expressions valides également. Noter que ! field op value est interprétée comme !(field op value), et non pas (!field) op value.

Champs virtuels

\timestamp Valeur d'horodatage de l'évènement courant. Value doit avoir le format ts:‹seconds›.‹milli›.
\record_type La valeur est le type d'enregistrement courant.
^
31 mai 2017

htmlpdflatexmanmd




ausyscall

ausyscall

Mappage des noms en numéro syscall

   ausyscall affiche le mappage des noms syscall en numéro et inversement pour l'architecture donnée. Il peut être utilisé pour vérifier les numéros syscall dans une plateforme pour optimiser les règles.

Supposons une règle auditctl:
-a always, exit -S open -F exit=-EPERM -k fail-open
Pour vérifier que les programmes 32 et 64 bits sont audités, lancer
ausyscall i386 open
et
ausyscall x86_64 open
Et regarder les numéros retournés. S'ils sont différents, il faut écrire 2 règles pour obtenir une couverture complète:
-a always,exit -F arch=b32 -S open -F exit=-EPERM -k fail-open
-a always,exit -F arch=b64 -S open -F exit=-EPERM -k fail-open

OPTIONS

--dump Affiche tous les syscalls pour l'architecture donnée
--exact Match exact (au lieu de partiel) du nom syscall
^
29 mai 2017

htmlpdflatexmanmd




autrace

autrace

Programme similaire à strace

   autrace est un programme qui ajoute des règles d'audit pour tracer une processus, similairement à strace. Il exécute ainsi le programme en lui passant les arguments. Les informations d'audit résultant sont au format de log d'audit si auditd fonctionne ou syslog. Cette commande supprime toutes les règles d'audit avant d'exécuter le programme cible et après d'avoir exécuté. C'est une précaution, il ne se lance pas si les règles ne sont pas supprimées avec auditctl avant.

OPTIONS

-r Limite les appels système collectés à celles nécessaire pour l'analise d'utilisation de ressource.

Exemples

Exemple de session
autrace /bin/ls /tmp
ausearch --start recent -p 2442 -i
ou le mode d'utilisation de ressource
autrace -r /bin/ls
ausearch --start recent -p 2450 --raw | aureport --file --summary
ausearch --start recent -p 2450 --raw | aureport --host --summary
^
31 mai 2017

htmlpdflatexmanmd




auvirt

auvirt

Affiche les évènements lié aux machines virtuelles

   auvirt affiche une liste de sessions invité trouvés dans les logs d'audit. Si un invité est spécifié, seul les évènement liés à cet invité sont considérés. Pour chaque invité, il affiche un enregistrement avec le nom de domaine, l'utilisateur qui a démarré l'invité, la date à laquelle l'invité a été démarré/stoppé.

OPTIONS

--all-events Sortie plus détaillée
--debug Mode debug
-f, --file Lit les enregistrements depuis le fichier spécifié
--proof Ajoute après chaque évènement, une ligne contenant tous les identifiants des enregistrements d'audit utilisés pour calculer l'évènement. Chaque identifiant consiste du temps UNIX, millisecondes, et le numéro de série
--show-uuid Affiche l'UUID de l'invité dans chaque enregistrement
--stdin Lit les enregistrements depuis d'entrée standard
--summary AFfiche un sommaire des évènements trouvés.
-te, --end [end-date] [end-time] Recherche les évènement avant cette date/heure. mots clés permis: now, recent, today, yesterday, this-week, wwek-ago, this-month, this-year.
-ts, --start [start-date] [start-time] Affiche les évènements après cette date/heure. Les mots clé de -te sont permis.
-u, --uuid N'affiche que les évènement liés à l'invité spécifié par son uuid
-v, --vm N'affiche que les évènement liés à l'invité spécifié par son nom

Exemples

Affiche tous les enregistrements dans ce mois pour un invité
auvirt --start this-month --vm GuestVmName --all-events
^
26 mai 2017

htmlpdflatexmanmd




bond2team

bond2team

Convertis une configuration bond en team

   bond2team est un outil pour convertir des options bonding en team. Les fichiers résultant sont sauvés dans un répertoire temporaire en utilisant le sytpe ifcfg par défaut.

OPTIONS

--master ‹interface› Spécifie le nom de l'interface ou du fichier ifcfg à convertir
--rename [interface] Permet de renommer l'interface
--ifcfg Définis la sortie au format ifcfg
--json Définis le format de sortie au style JSON
--bonding_opts 'bonding options' Spécifie les options bonding à convertir au lieu de lire le fichier ifcfg
--port ‹interface› Définis l'interface spécifié comme port team
--configdir ‹dir› Spécifie le répertoire de configuration (défaut: /etc/sysconfig/network-scripts)
--outputdir ‹dir› Définis le répertoire de sortie
--stdout Sort le résultat sur stdout au lieu d'un fichier
--debug Mode debug
--quiet mode silencieux

Exemples

Convertir bond0:
bond2team --master bond0
Convertir bond0, en le renommant en team0
bond2team --master bond0 --rename team0
Convertir les paramètres donnés
bond2team --bonding_opts 'mode=1 miimon=500 primary=eth1 primary_reselect=0' --port eth1 --port eth2 --port eth3 --port eth4
^
31 mars 2016

htmlpdflatexmanmd




bootctl

bootctl

Contrôle le firmware et le paramètre du gestionnaire de boot

   bootctl vérifie, met à jours, installe et supprime le chargeur de boot du système courant.

Commandes

status Vérifie et affiche les versions installées du chargeur et les variables de boot EFI
update Met à jours toutes les versions installées de systemd-boot, si la versions courante est plus récente que la version installée dans la partition système EFI. Cela inclus également le chargeurs EFI default/fallback dans /EFI/Boot/boot*.efi. Une entrée systemd-boot dans les variables de boot EFI est créé s'il n'y a pas d'entrée courante. L'entrée courante sera ajoutée à la fin le la liste de l'ordre de boot.
install Install systemd-boot dans la partitions système EFI. Une copie de systemd-boot sera stockée comme chargeur EFI default/fallback dans /EFI/Boot/boot*.efi. Une entrée systemd-boot dans les variables de boot EFI est créé et ajoutée en haut de la liste de l'ordre de boot.
remove Supprime toutes les versions installées de systemd-boot de la partition système EFI, et supprime systemd-boot des variables de boot EFI

OPTIONS

--path Chemin de la partition système EFI. Le défaut est /boot.
--no-variables Ne touche pas aux variables de boot EFI

Code de sortie

   En cas de succès, retourne 0.
^
31 mars 2016

htmlpdflatexmanmd




busctl

busctl

Examiner et superviser le bus D-Bus

OPTIONS

--address=ADDRESS Se connecte au bus spécifié par l'adresse au lieu d'utiliser celui par défaut
--show-machine En affichant la liste des paires, affiche une colonne contenant les noms des conteneurs auxquels ils appartiennent.
--unique En affichant la liste des paires, afficher seulement les noms uniques (sous la forme :number.number)
--acquired L'opposé de --unique. Uniquement les noms connus sont affichés.
--activatable En affichant la liste des paires, affiche seulement les paires qui ne sont pas encore activés, mais peuvent être démarrés automatiquement si accédés.
--match=MATCH En affichant les messages échangés, affiche seulement le sous-jeu correspondant au match
--size= Utilisé avec la commande capture, spécifie la taille de message bus max à capturer. Défaut: 4096
--list Utilisé avec la commande tree, affiche une liste plate de chemins d'objets au lieu d'une arborescence.
-quiet Utilisé avec la commande call, supprime l'affichage du payload de réponse. Noter que cela n'empêche pas les erreurs retournées d'être affichés.
--verbose Avec les commandes call et get-property, affiche dans un format plus verbeux
--expect-reply=BOOL Utilisé avec la commande call, spécifie si busctl devrait attendre la fin du call de méthode, afficher la donnée de la réponse de la méthode, et retourne un succès ou un échec via de code de sortie du process. Défaut: yes
--auto-start=BOOL Utilisé avec la commande call, spécifi si le call de méthode devrait implicitement activer le service appelé, qui ne devrait pas être encore en cours d'exécution mais est configuré en auto-start. Défaut: yes
--allow-interactive-authorization=BOOL Utilisé avec la commande call, spécifie si les services peuvent forcer l'autorisation interactive tout en exécutant l'opération, si la stratégie de sécurité est configurée pour cela. Défaut: yes
--timeout=SECS Utilisé avec la commande call, spécifie le temps max d'attente pour la fin du call de methode. Par défaut, assume des secondes (peut être spécifié avec ms, us, s, min, h, d, w, month, y). Noter que ce timeout ne s'applique pas si --expect-reply=no est utilisé. Défaut: 25s.
--augment-creds=BOOL Contrôle si les données d'accréditifs reportées par list ou status devraient être augmenté avec les données de /proc. Activé, les données affichées peuvent être inconsistantes, vu que les données dans /proc peuvent être plus récentes que le reste des informations d'accréditifs. Défaut: yes
--user Dialogue avec le gestionnaire de service de l'utilisateur appelant, au lieu du gestionnaire de service système.
--system Dialogue avec le gestionnaire de service système.
-H, --host= Exécute l'opération à distance. Spécifie un nom d'hôte, ou un nom d'utilisateur est un nom d'hôte séparé par un @ pour s'y connecter. Le nom d'hôte peut optionnellement être suffixé par un nom de conteneur, séparé par un :, qui connecte directement au conteneur spécifique sur l'hôte spécifié. Il utilise ssh pour dialoguer avec une instance de gestionnaire de machine. Les noms de conteneur peuvent être énumérés avec machinectl -H ‹host›
-M, --machine= Exécute l'opération dans un conteneur local. Spécifie un nom de conteneur
--no-pager Ne sort pas la sortie dans un pager
--no-legend N'affiche pas la légende (en-tête et pied de page)

Commandes

list Affiche tous les paires sur le bus, par noms de service. Par défaut, affiche tous les noms.
status [SERVICE] Affiche les information de processus et d'accréditifs d'un service, un processus, ou le propriétaire du bus.
monitor [SERVICE...] Dump les message échangés. Si SERVICE est spécifié, affiche les message vers et depuis ce paire. Sinon affiche tous les messages sur le bus.
capture [SERVICE...] Similaire à monitor mais écris la sortie au format pcap.
tree [SERVICE...] Affiche une arborescence d'objet d'un ou plusieurs services. Si SERVICE est spécifié, affiche l'arborescence d'objet des services spécifiés, sinon affiche toutes les arborescences sur le bus.
introspect SERVICE OBJECT [INTERFACE] Affiche les interfaces, méthodes, propriétés et signaux de l'objet spécifié (identifié par son chemin) sur le service spécifié. Si l'argument interface est passé, la sortie est limitée aux membres de l'interface spécifiée.
call SERVICE OBJECT INTERFACE METHOD [SIGNATURE [ARGUMENT...]] Invoque une méthode et affiche la réponse. Prend un nom de service, un chemin d'objet, nom d'interface et nom de méthode. Si les paramètres doivent être passés à l'appel de la méthode, une chaîne signature est requise, suivie par les arguments, individuellement formatés comme chaîne. Pour les détails du format utilisé, voir plus bas. Pour supprimer la sortie de la donnée retournée, utiliser l'option --quiet.
get-property SERVICE OBJECT INTERFACE PROPERTY... Récupère la valeur courante d'une ou plusieurs propriétés d'objet. Plusieurs propriétés peuvent être spécifiés à la fois.
set-property SERVICE OBJECT INTERFACE PROPERTY SIGNATURE ARGUMENT... Définis la valeurs courante d'une propriété d'objet.

Format de paramètres

   Les commandes call et set-property prennent une chaîne signature suivie par une liste de paramètres formatés comme chaîne (voir la spécification D-Bus pour les chaînes de signature). Pour les types simple, chaque paramètre suivant la signature devrait simplement être la valeur du paramètre formaté comme chaîne. les valeurs booléennes peuvent être formatées en "true", "yes", "on", ou "1". Pour les tableaux, un argument numérique pour le nombre d'entrées doit être spécifié. Pour les variantes, la signature du contenu doit être spécifié, suivi par le contenu. Pour les dictionnaires et structures, le contenu doit être spécifié directement.

formater une simple chaîne "jawoll"
s jawoll
formater un tableau de chaîne avec 2 entrées:
as 3 hello world foobar
formater un tableau dictionnaire qui map les chaînes en variantes, consistant de 3 entrées. La chaîne "One" est assignée à la chaîne "Eins". "Two" à l'entier 32-bits 2, Yes est assigné comme booléen positif:
a{sv} 3 One s Eins Two u 2 Yes b true

Exemples

Les 2 commandes suivantes écrivent d'abord une propriété puis la lisent. La propriété est trouvée dans l'objet /org/freedesktop/systemd1 du service org.freedesktop.systemd1. Le nom de la propriété est "LogLevel" sur l'interface "org.freedesktop.systemd1.Manager".
busctl set-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel s debug
busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel s "debug"
Les 2 commandes suivantes lisent une propriété qui contient un tableau de chaînes, et affichent d'abords au format simple, puis au format verbeux
busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment
as 2 "LANG=en_US.UTF-8" "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
busctl get-property --verbose org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment
ARRAY "s" {
STRING "LANG=en_US.UTF-8";
STRING "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin";
};
La commande suivante invoque une méthode StartUnit sur l'interface org.freedesktop.systemd1.Manager de l'objet org/freedesktop/systemd1 du service org.freedesktop.systemd1, et lui passe 2 chaînes cups.service et replace.
busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager StartUnit ss "cups.service" "replace"
o "/org/freedesktop/systemd1/job/42684"
^
31 mars 2016

htmlpdflatexmanmd




coredump.conf

coredump.conf, coredump.conf.d

Fichier de configuration de stockage de coredump

   Ces fichiers peuvent se trouver dans les emplacements suivants:

/etc/systemd/coredump.conf
/etc/systemd/coredump.conf.d/*.conf
/run/systemd/coredump.conf.d/*.conf
/usr/lib/systemd/coredump.conf.d/*.conf

   Ces fichiers configurent le comportement de systemd-coredump(8). La configuration par défaut est définie durant la compilation, donc un fichier de configuration dans /etc/systemd/ contient les entrées commentées montrant les défaut. Quand un package doit personnaliser la configuration, il peut installer des configurations dans /usr/lib/systemd/*.conf.d/. Le fichier de configuration principal est lu avant tous les autres, et a la précédence la plus faible. Les fichiers dans un sous-répertoire sont triés alphabétiquement, sans regarder dans quel sous-répertoire il réside. Pour désactiver un fichier de configuration fournis par un vendeur, la manière recommandée est de placer un lien vers /dev/null dans le répertoire /etc avec le même nom de fichier que le fichier de configuration du vendeur.

OPTIONS

Storage= Contrôle où stocker les cores. none log mais ne stocke pas de manière permanente, external (défaut) stocke les cores dans /var/lib/systemd/coredump. journal stocke les cores dans le journal et suis les rotations de journaux. both stocke les cores dans les 2 emplacements.
Compress= Contrôle la compression pour le stockage externe. défaut: yes.
ProcessSizeMax= Taille maximum en octets d'un core qui est traité. les coredump excédant cette taille sont loggé, mais le backtrace ne sera pas généré et le core ne sera pas stocké.
ExternalSizeMax=, JournalSizeMax= Taille maximum (non-compressée) en octets d'un core à sauvegarder
MaxUse=, KeepFree= Force les limites de l'espace disque pris par les coredumps stockés en externe. MaxUse s'assure que les anciens coredumps sont supprimés dès que l'espace disque utilisé par les coredump atteint cette limite (défaut: 10% de la taille totale du disque). KeepFree contrôle l'espace disque à conserver lible au minimum (défaut: 15% de l'espace disque total). Noter que l'espace disque utilisé par les coredumps peut excéder ces limits durant la compression. Les anciens coredumps sont supprimés basés sur de temps via systemd-tmpfiles(8).
^
31 mars 2016

htmlpdflatexmanmd




coredumpctl

coredumpctl

Récupère les coredump du journal

OPTIONS

--no-legend N'affiche pas les en-têtes
-1 Affiche les informations s'un simple coredump seulement, au lieu de lister tous les coredumps connus.
-F FIELD, --field=FIELD Affiche toutes les valeurs possible du champ spécifié correspondant dans les entrées coredump du journal
-o FILE, --output=FILE Écrit le core dans le fichier spécifié
-D DIR, --directory=DIR Utiliser les fichiers journaux dans le répertoire spécifié
--no-pager Ne sort pas la sortie dans un pager

Commandes

list Liste les coredumps capturés dans le journal correspondant aux caractéristiques spécifiées
info Affiche des informations détaillée sur les coredumps capturés dans le journal
dump Extrait le dernier coredump correspondant aux caractéristiques spécifiées.
gdb Invoque gdb sur le dernier coredump correspondant aux caractéristiques spécifiées.

Correspondance

PID Process ID du processus qui a dumpé le core. En entier.
COMM Nom de l'exécutable (correspond à COREDUMP_COMM=). Ne doit pas contenir de '/'
MATCH Prédicat journalctl général. Doit contenir un signe '='

Exemples

Liste tous les coredump d'un programme nommé foo
coredumpctl list foo
Invoque gdb sur le dernier coredump
coredumpctl gdb
Affiche des informations sur un processus qui a dumpé le core, correspondant au PID 6654
coredumpctl info 6654
Extrait le dernier coredump de /usr/bin/bar dans un fichier
coredumpctl -o bar.coredump dump /usr/bin/bar
^
23 mai 2017

htmlpdflatexmanmd




cronrc

cronrc

Fichier de configuration pour tigercron

Liste des champs

1. Liste d'heures
2. Liste de jours du mois
3. Liste de joures de la semaine
autres scripts à exécuter

Exemples

Vérifier les signes d'intrusion connues toutes les 8 heures:
0,8,16 * * check_known check_rootkit check_logfiles check_runprocs check_rootdir check_root
check_finddeleted est très verbeux, donc on le lance moins souvent:
1 * * check_finddeleted
Vérification système tous les jours à 1heure
1 * * check_system
Obtenir une liste de processus en écoute chaque jours à différentes heures
0,4,6,10,14,18,20 * * check_listeningprocs
Vérifier les informations utiles de comptes
2 * * check_accounts check_rhosts check_netrc check_group check_passwd check_passwdformat
Vérifie les permissions de fichiers et les mots de passe:
5 * * check_perms
Vérifie la configuration réseaux tous les lundi
3 * Mon check_inetd check_exports check_aliases check_path check_crontabs check_anonftp check_printcap check_tcpd
Vérifie les fichiers une fois par mois
2 1 *  find_files
2 3 *  check_devices
Vérifier la configuration système une fois par mois
1 2 *  check_services check_umask check_ftpusers check_embedded check_exrc
Vérifier la force des mots de passe
2 2 *  crack_run
Lancer une vérification d'intégrité chaque semaine
5 * Mon tripwire_run
5 * Mon aide_run
5 * Mon integrit_run
Pour les vérification de signature il est préférable de le lancer manuellement une fois /usr/lib/tiger/systems/$OS/$VERSION/signatures téléchargé:
5 * Mon check_signatures
^
22 mai 2017

htmlpdflatexmanmd




dracut

dracut

Outil bas niveau pour générer une image initramfs

   Créé une image initramfs pour la version kernel spécifiée. Si la version kernel est omise, la version courante est utilisée. Si l'image n'est pas spécifié, l'emplacement par défaut est utilisée. Si vous être basculé dans un shell de récupération durant le boot, le fichier /run/initramfs/rdsosreport.txt est créé. Des informations de debuggage peuvent être ajoutés au boot en ajoutant rd.debug à la ligne de commande du kernel. /run/initramfs/rdsosreport.txt contient tous les logs et la sortie de certains outils.

Pour créer une image initramfs, la commande la plus simple est:
dracut
Si l'initramfs existe déjà, dracut affiche une erreur. Pour écraser l'image existante:
dracut --force
Pour spécifie un autre nom de fichier pour l'image
dracut foobar.img
Pour générer une image pour une version kernel spécifique:
dracut foobar.img 2.6.40-1.rc5.f20
Un raccourci pour générer l'image à l'emplacement par défaut:
dracut --kver 2.6.40-1.rc5.f20

   Pour créer des images plus petites, utiliser l'option --hostonly.

Pour voir le contenu d'une image créé:
lsinitrd | less
Pour afficher le contenu d'un fichier dans l'initramfs:
lsinitrd -f /etc/ld.so.conf
Certains modules dracut sont désactivés par défaut et doivent être activés manuellement. Les modules peuvent être ajoutés dans /etc/dracut.conf ou /etc/dracut.conf.d/myconf.conf.
dracut --att bootchart initramfs-bootchart.img
Pour voir une liste des modules dracut disponible
dracut --list-modules
Pour ajouter des modules kernel dans l'initramfs qui ne sont pas automatiquement ajoutés par dracut, utiliser l'option --add-drivers ou dans /etc/dracut.conf.
dracut --add-drivers mymod initramfs-with-mymod.img
Un initramfs généré sans le mode hostonly ne contient aucun fichiers de configuration système, donc la configuration doit être faite sur la ligne de commande kernel. Pour afficher la ligne de commande:
dracut --print-cmdline
Spécifier le périphérique root:
root=/dev/sda2
Spécifier les paramètres clavier
rd.vconsole.font=latarcyrheb-sun16 rd.vconsole.keymap=de-latin1-nodeadkeys rd.locale.LANG=de_DE.UTF-8
blacklister les modules kernel
rd.driver.blacklist=mptsas rd.driver.blacklist=nouveau
Pour accélerer le processus de démarrage il est possible de spécifier plus d'informations. Par exemple, on peut indiquer à dracut que la partition root n'est pas un volume LVM ni un raid
rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0
Injecter des fichiers personnalisés avec l'option --include
dracut --include cmdline-preset /etc/cmdline.d/mycmdline.conf initramfs-cmdline-pre.img
L'option --install permet de spécifier de nombreux fichier qui sont installés dans l'image initramfs aux même emplacement.
dracut --install 'strace fsck.ext3 ssh' initramfs-dbg.img
boot réseaux
ip=dhcp
Pour réduire la taille de l'image, il est possible d'omettre tous les modules dracut. On peut également spécifie les modules kernel et dracut exacte. Par exemple pour une image NFS:
dracut -m "nfs network base" initramfs-nfs-only.img
puis on eut réduire encore la taille avec --host-only
dracut -m "nfs network base" --host-only initramfs-nfs-host-only.img

Résolution de problèmes

   Si le processus de boot échoue, il existe de nombreuses options pour debugger la situation:

1. Supprimer "rhgb" et "quiet"
2. Ajouter 'rd.shell'
3. ajouter 'rd.shell rd.debug log_bug_len=1M'
4. /run/initramfs/rdsosreport.txt est généré et contient tous les logs et la sortie des outils important.

debugger dracut

Debugger dracut nécessite une console durant le boot. Cette section documente uen connection série pour enregistrer les messages de boot
1. Activer la console série pour le kernel et le bootloader
2. ouvrir /boot/grub2/grub.cfg, sous la ligne timeout=5, ajouter:
serial --unit=0 --speed=9600
terminal --timeout=5 serial console
3. ouvrir /boot/grub2/grub.cfg, ajouter les arguments de boot à la ligne kernel:
console-tty0 console=ttys0,9600
4. Rediriger la sortie non-interactive
exec ›/dev/kmsg 2›&1 ‹/dev/console

OPTIONS

--kver ‹kernel version› Définis la version kernel
-f, --force Écrase un initramfs existant
-a, --add ‹list of dracut modules› Ajoute des modules dracut. peut être spécifié plusieurs fois
--force-add ‹list of dracut modules› Force l'ajoute de modules dracut dans le jeu de modules par défaut. Peut être spécifié plusieurs fois
-o, --omit ‹list of dracut modules› Omet les modules dracut spécifié Peut être spécifié plusieurs fois
-m, --modules ‹list of drucat modules› Spécifie une liste de modules dracut à appeler pendant la construction de l'initramfs. Les modules sont localisé dans /usr/lib/dracut/modules.d. Peut être spécifié plusieurs fois. Cette option force dracut à n'inclure que les modules spécifiés dans la liste
-d, --drivers ‹list of kernel modules› Liste de modules kernel à inclure exclusivement dans l'initramfs, sans le suffixe .ko. Peut être spécifié plusieurs fois.
--add-drivers ‹list of kernel modules› Liste de modules kernel à ajouter à l'initramfs
--force-drivers ‹list of kernel modules› idem à add-drivers, mais s'assure que les pilotes sont chargés très tôt via modprobe
--omit-drivers ‹list of kernel modules› Liste de modules kernel à exclure de l'initramfs. peut être spécifié plusieurs fois
--filesystems ‹list of filesystems› Liste de modules de systèmes de fichier à inclure exclusivement dans l'initramfs. peut être spécifié plusieurs fois
-k, --kmoddir ‹kernel directory› Répertoire où rechercher les modules kernel.
--fwdir ‹dir›[:‹dir›...]++ Répertoires additionnels, où rechercher des firmwares. Peut être spécifié plusieurs fois
--kernel-cmdline ‹parameters› Paramètres de ligne de commande kernel par défaut
--kernel-only N'installe que les pilotes kernel et les firmwares
--no-kernel N'installe par les pilotes kernel ni les firmwares
--early-microcode Combine le microcode avec ramdisk
--no-early-microcode Ne combine pas le microcode avec ramdisk
--print-cmdline Affiche la ligne de commande kernel pour le layout disque courant
--mdadmconf Inclus /etc/mdadm.conf
--nomdadmconf N'inclus pas /etc/mdadm.conf
--lvmconf inclus /etc/lvm/lvm.conf
--nolvmconf N'inclus pas /etc/lvm/lvm.conf
--fscks [LIST] Ajoute une liste d'outils fsck, en plus de ceux spécifiés dans la configuration.
--nofscks inhibe l'installation des outils fsck
--strip strip les binaires dans l'initramfs
--nostrip ne strip pas les binaires dans l'initramfs
--prelink prelink les binaires dans l'initramfs
--noprelink ne prelink pas les binaires dans l'initramfs
--hardlink hardlink les fichiers dans l'initramfs
--nohardlink ne haldlink pas les fichiers dans l'initramfs
--prefix ‹dir› préfixe les fichiers dans l'initramfs avec le répertoire spécifié
--noprefix ne préfixe pas les fichiers dans l'initramfs
--debug Affiche des inforamtion de débuggage durant la construction
-v, --verbose mode verbeux
-q, --quiet mode silencieux
-c, --conf ‹dracut configuration file› spécifie le fichier de configuration à utiliser
--confdir ‹configuration directory› Spécifie le répertoire de configuration à utiliser
--tmpdir ‹temporary directory› Spécifie le répertoire temporaire à utiliser
--sshkey ‹sshkey file› Fichier de clé ssh utilisé avec le module ssh-client
--logfile ‹logfile› Fichier de log à utiliser
-l, --local Active le mode locale. dracut utilise les modules depuis le répertoire courant au-lieu des modules installés dans /usr/lib/dracut/modules.d.
-H, --hostonly Mode host-only: n'installe que ce qui est nécessaire pour booter l'hôte locale.
-N, --no-hostonly Désactive le mode host-only
--hostonly-cmdline Stocke les arguments de ligne de commande kernel nécessaires dans l'initramfs
--no-hostonly-cmdline Ne stocke pas les arguments de ligne de commande nécessaires dans l'initramfs
--hostonly-i18n Installe seulement le clavier nécessaire et les fonts en accord avec la configuration de l'hôte
--no-hostonly-i18n Installe tous les claviers et fonts disponibles
--persistent-policy ‹policy› Utiliser la stratégie pour adresses les disques et partitions. peut être un nom de répertoire dans /dev/disk (ex by-uuid, by-label)
--fstab Utilise /etc/fstab au lieu de /proc/self/mountinfo
--add-fstab ‹filename› Ajoute les entrées du fichier au fstab de l'initramfs
--mount "‹device› ‹mountpoint› ‹filesystem type› [‹filesystem options› [‹dump frequency› [‹fsck order›]]]" Monte de périphérique dans l'iniramfs.
--mount "‹mountpoint›" idem, mais les paramètres manquant sont déterminés en recherchant dans les montages courants
--add-device ‹device› Connecte le périphérique. Utile en mode hostonly pour le supporte du swap dans une partition lvm chiffrée.
-i, --include ‹SOURCE› ‹TARGET› Inclus les fichiers dans le répertoire source dans le répertoire cible dans l'initramfs. Peut être spécifié plusieurs fois
-I, --install ‹file list› Installe la liste de fichiers dans l'initramfs
--install-optional ‹file list› Installe la liste des fichiers dans l'initramfs, s'ils existent
--gzip Compresse l'initramfs avec gzip
--bzip2 Compresse l'initramfs avec bzip2
--lzma Compresse l'initramfs avec lwma
--xz Compresse l'initramfs avec xz
--lzo Compresse l'initramfs avec lzop
--lz4 Compresse l'initramfs avec lz4
--compress ‹compressor› Compresse l'initramfs avec le programme de compression spécifié.
--no-compress Ne compresse pas l'initramfs généré
--reproducible Crée des images reproductible
--no-reproducible Ne créé pas d'images reproductibles
--list-modules Liste les module dracut disponibles
-M, --show-modules Les les modules inclus durant la construction
--keep Conserve le répertoire temporaire pour débuggage
--printsize Affiche la taille du module installé
--profile Affiche les informations de profile du processus de construction
--ro-mnt Mount / et /usr en lecture seule
-L, --stdlog ‹level› Niveau de log, de 0 à 6.
--regenerate-all Régénère toutes les images initramfs dans l'emplacement par défaut avec les versions kernel trouvés dans le système.
--loginstall ‹DIR› Log tous les fichiers installés depuis l'hôte dans le répertoire spécifié
--uefi Créé un exécutable uefi.
--uefi-stub ‹FILE› Spécifie le stub loader UEFI, qui charge le kernel, initramfs et ligne de commande attachés. Défaut: /lib/systemd/boot/efi/linux‹EFI-MACHINE-TYPE-NAME›.efi.stub. ou /usr/lib/gummiboot/linux‹EFI-MACHINE-TYPE-NAME›.efi.stub
--kernel-image ‹FILE› Spécifie l'image kernel à inclure dans l'exécutable UEFI. Défaut: /lib/modules/‹KERNEL-VERSION›/vmlinuz ou /boot/vmlinuz-‹KERNEL-VERSION›

Fichiers

/var/log/dracut.log Fichier de log de la création de l'initramfs
/tmp/dracut.log fichier de log, si /var/log/dracut n'est pas accéssible en écriture
/etc/dracut.conf Fichier de configuration de dracut
/etc/dracut.conf.d/*.conf Fichiers de configurations de dracut
/usr/lib/dracut/dracut.conf.d/01-dist.conf /usr/lib/dracut/dracut.conf.d/02-rescue.conf /usr/lib/dracut/dracut.conf.d/50-nss-softokn.conf Fichiers de configurations de dracut
/etc/conf.d/ (initramfs) Fichiers sourcés dans l'initramfs pour définir les valeurs initiales
/etc/cmdline (initramfs) Contient des options de ligne de commande additionnelles
/etc/cmdline.d/*.conf (initramfs) Contient des options de ligne de commande additionnelles
^
22 mai 2017

htmlpdflatexmanmd




dracut.cmdline

dracut.cmdline

Options de ligne de commande kernel dracut

   Le périphérique root utilisé par le kernel est spécifié dans le fichier de configuration de boot dans la ligne de commande kernel, comme toujours. La spécification traditionnelle root=/dev/sda1 est toujours permise, mais non encouragée. Le périphérique root devrait être identifié par un label ou un uuid.

  Les paramètres "rd.*" mentionnés sans '=' sont des paramètres booléens. Si l'assignement avec '=' est manquant, '=1' est assumé.

Standard

init=‹path to real init› Spécifie le chemin du programme init à démarrer un fois l'initramfs terminé
root=‹path to blockdevice› Spécifie le périphérique à utilisé pour '/'
rootfstype=‹filesystem type› auto, si non spécifié
rootflags=‹mount options› Spécifie des options de montage additionnels pour '/'. Non spécifié, lit /etc/fstab du vrai '/'.
ro force '/' et '/usr' en lecture seule
rw force '/' et '/usr' en lecture écriture
rootfallback=‹path to blockdevice› Spécifie le périphérique block à utiliser comme périphérique root, si le root normal ne peut être trouvé
rd.auto rd.auto=1 ACtive l'auto-assemblage des périphérique spéciaux comme cryptoLUKS, dmraid, mdraid ou lvm.
rd.hostonly=0 Supprime tous ce qui est compilé dans la configuration de l'hôte. Celà permet de booter sur un changement de disque.
rd.cmdline=ask Demande à l'utilisateur des paramètres additionnels
rd.fstab=0 N'honore pas les options de montage spéciaux pour '/' dans /etc/fstab du vrai '/'
resume=‹path to resume partition› Résume depuis une partition swap
rd.skipfsck N'effectue pas de fsck pour '/' et '/usr'.

iso-scan/filename

   Utiliser iso-scan/filename avec une iso Fedora/Red Hat/CentOS fonctionne en copiant les paramètres cmdline kernel

Divers

rd.driver.blacklist=‹drivername›[,‹drivername›,...] Ne pas charger le module kernel. Peut être spécifié plusieurs fois
rd.driver.pre=‹drivername›[,‹drivername›,...] Force le chargement du module spécifié. Peut être spécifié plusieurs fois
rd.driver.post=‹drivername›[,‹drivername›,...] Force le chargement du module une fois tous les modules automatique ont été chargé. Peut être spécifié plusieurs fois
rd.retry=‹seconds› Délai pour retenter le initqueue pour configurer les périphériques. Défaut: 30s. après 2/3 du temps, les raids dégradés sont démarrés de force.
rd.timeout=‹seconds› Délai d'attente pour que les périphériques apparaissent. Défaut: 0 - indéfinis. noter que ce délai ne devrait pas dépasser rd.retry
rd.noverifyssl Accèpte les certificats auto-signés pour les téléchargements ssl
rd.ctty=‹terminal device› Spécifie le terminal de contrôle pour la console. Utile avec plusieurs console=*.

debug

rd.info AFfiche des informations supplémentaires même si 'quiet' est spécifié
rd.shell Permet d'être basculé dans un shell si le montage root échoue
ld.debug définis -x pour le shell dracut. Si systemd est actif dans l'initramfs, toute la sortie est loggée dans le journal système.
rd.memdebug=[0-3] Affiche l'utilisation mémoire, de 0 à 3
rd.break Bascule dans un shell à la fin
rd.break={cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup} Bascule dans un shell au breakpoint définis
rd.udev.info Définis le niveau de log udev à info
rd.udev.debug Définis le niveau de log udev à debug

I18N

rd.vconsole.keymap=‹keymap base file name› Table de traduction clavier chargé par loadkeys; pris depuis le répertoires de keymaps. Écris dans KEYMAP dans /etc/vconsole.conf dans l'initramfs
rd.vconsole.keymap.ext=‹list of keymap base file names› Liste de keymaps supplémentaires, écris d-ans EXT_KEYMAP dans /etc/vconsole.conf
rd.vconsole.unicode (bool) Indique le mode utf-8. Sera écrit dans UNICODE dans /etc/vconsole.conf
rd.vconsole.font=‹font base file name› Police de caractère de la console. Écris dans FONT dans /etc/vconsole.conf
rd.vconsole.font.map=‹console map base file name› Voir setfont -m.
rd.vconsole.font.unimap=‹unicode table base file name› Voir setfont -u
rd.locale.LANG=‹locale› Pris depuis l'environnement.
rd.locale.LC_ALL=‹locale› Pris depuis l'environnement

LVM

rd.lvm=0 Désactive la détection LVM
rd.lvm.vg=‹volume group name› N'active que ce groupe de volume. Peut être spécifié plusieurs fois
rd.lvm.lv=‹logical volume name› N'active que les volumes logique spécifiés. Peut être spécifié plusieurs fois
ld.lvm.conf=0 Supprime tout /etc/lvm/lvm.conf, qui pourrait exister dans l'initramfs

LUKS

ld.luks=0 Désactive la détection LUKS
rd.luks.uuid=‹luks uuid› N'active que les partitions LUKS avec l'uuid donné.
rd.luks.allow-discards=‹luks uuid› Permet l'utilisations des requêtes discards (TRIM) pour les partitions LUKS avec l'uuid donné.
rd.luks.allow-discards Permet l'utilisations des requêtes discards (TRIM) pour toutes les partitions LUKS
rd.luks.crypttab=0 Ne vérifie pas si la partition LUKS est dans /etc/crypttab

LUKS - key on removable device support

rd.luks.key=‹keypath›:‹keydev›:‹luksdev› keypath est le chemin d'une clé à rechercher. si keypath fini par .gpg, c'est une clé symétrique GPG. keydev est un périphérique sur lequel la clé réside. Peut être un périphérique, UUID ou label. luksdev indique le périphérique luks auquel s'applique la clé.

md raid

rd.md=0 Désactive la détection raid
rd.md.imsm=0 Désactive les raids imsm/ism
rd.md.ddf=0 Désactive les raids ddf
rd.md.conf=0 Ignore mdadm.conf inclus dans l'initramfs
rd.md.waitclean=1 Attends la fin des resynchro, récupération, ou reshape avant de continuer
rd.md.uuid=‹md raid uuid› N'active que le raid avec l'uuid spécifié. peut être spécifié plusieurs fois

dm raid

rd.dm=0 Désactive la détection dm raid
rd.dm.uuid=‹dm raid uuid› N'active que le raid avec l'uuid spécifié. peut être spécifié plusieurs fois

multipath

rd.multipath=0 Désactive la detection multipath

FIPS

rd.fips Active FIPS
rd.fips.skipkernel Ne vérifie pas le checksum de l'image kernel

Réseau

ip={dhcp|on|any|dhcp6|auto6} spécifie la méthode d'obtention d'une adresse ip
ip=‹interface›:{dhcp|on|any|dhcp6|auto6}[:[‹mtu›][:‹macaddr›]] idem, spécifique à une interface. peut être spécifié plusieurs fois
ip=‹client-IP›:[‹peer›]:‹gateway-IP›:‹netmask›:‹client_hostname›:‹interface›:{none|off|dhcp|on|any|dhcp6|auto6|ibft}[:[‹mtu›][:‹macaddr›]] Configuration réseau explicite. Peut être spécifié plusieurs fois
ip=‹client-IP›:[‹peer›]:‹gateway-IP›:‹netmask›:‹client_hostname›:‹interface›:{none|off|dhcp|on|any|dhcp6|auto6|ibft}[:[‹dns1›][:‹dns2›]] configuration réseau explicite.
ifname=‹interface›:‹MAC› Assigne le nom spécifié au périphérique réseau.
rd.route=‹net›/‹netmask›:‹gateway›[:‹interface›] Ajouter une route statique.
bootdev=‹interface› Spécifie l'interface réseau à utiliser pour les informations netroot et de routage. Requis si plusieurs lignes ip= sont utilisées
BOOTIF=‹MAC› Spécifie l'interface réseau à utiliser pour les informations netroot et de routage.
rd.bootif=0 Désactive le parsing BOOTIF, qui est fournis par PXE
nameserver=‹IP› [nameserver=‹IP› ...] Spécifie les serveurs de noms à utiliser
rd.peerdns=0 Désactive le paramètre DNS des paramètres DHCP
biosdevname=0 désactive le renommage d'interface réseau biosdevname
rd.reednet=1 active l'événement réseau sans netroot définis
vlan=‹vlanname›:‹phydevice› Définis un périphérique vlan
bond=‹bondname›[:‹bondslaves›:[:‹options›]] Définis une périphérique bond
team=‹teammaster›:‹teamslaves› Définis un périphérique team
bridge=‹bridgename›:‹ethnames› Définis un périphérique bridge

NFS

root=[‹server-ip›:]‹root-dir›[:‹nfs-options›] Monte un partage NFS. si aucun serveur n'est donné, utilise dhcp
root={dhcp|dhcp6} permet de rechercher le chemin de root via dhcp
rd.nfs.domain=‹NFSv4 domain name› Spécifie le domaine NFSv4. Écrase les paramètres dans /etc/idmap.conf
rd.net.dhcp.retry=‹cnt› Si définis, dracut tente de se connecter via dhcp, cnt fois avant d'échouer. Défaut: 1
rd.net.timeout.dhcp=‹arg› Si définis, dhclient est appelé sans "-timeout ‹arg›"
rd.net.timeout.iflink=‹seconds› Délai d'attente d'activation des liens. Défaut: 60
rd.net.timeout.ifup=‹seconds› Délai d'attente de l'état "up" des lient. Défaut: 20
rd.net.timeout.route=‹seconds› Délai d'attente d'activation des routes. Défaut: 20
rd.net.timeout.ipv6dad=‹seconds› Délai d'attente pour IPv6 DAD. Défaut: 50
rd.net.timeout.ipv6auto=‹seconds› Délai d'attente pour l'adressage ipv6 automatique. Défaut: 40
rd.net.timeout.carrier=‹seconds› Délai d'attente de reconnaissance du carrier. Défaut: 5

CIFS

root=cifs://[‹username›[:‹password›]@]‹server-ip›:‹root-dir› Définis un partage cifs
cifsuser=‹username› username cifs
cifspass=‹password› password cifs

iSCSI

root=iscsi:[‹username›:‹password›[:‹reverse›:‹password›]@][‹servername›]:[‹protocol›]:[‹port›][:[‹iscsi_iface_name›]:[‹netdev_name›]]:[‹LUN›]:‹targetname› Définis un accès iSCSI pour root
root=???
netroot=iscsi:[‹username›:‹password›[:‹reverse›:‹password›]@][‹servername›]:[‹protocol›]:[‹port›][:[‹iscsi_iface_name›]:[‹netdev_name›]]:[‹LUN›]:‹targetname› Plusieurs options netroot sont permis pour définir plusieurs disques iscsi
root=??? rd.iscsi.initiator=‹initiator› rd.iscsi.target.name=‹target name› rd.iscsi.target.ip=‹target ip›
rd.iscsi.target.port=‹target port› rd.iscsi.target.group=‹target group› rd.iscsi.username=‹username›
rd.iscsi.password=‹password› rd.iscsi.in.username=‹in username› rd.iscsi.in.password=‹in password› Spécifier manuellement tous les paramètres iscsistart.
root=??? netroot=iscsi rd.iscsi.firmware=1 Li le paramètre iscsi depuis le firmware BIOS
rd.iscsi.param=‹param› Le paramètre est passé à iscsistart. peut être spécifié plusieurs fois
rd.iscsi.ibft rd.iscsi.ibft=1 Active l'autoconfiguration iBFT pour les interfaces
rd.iscsi.waitnet=0 Désactive l'attente que toutes les interfaces soient actives avant de tenter une connection aux targets iSCSI
rd.iscsi.testroute=0 Désactive la vérification, si la route vers de target iSCSI est possible avant de tenter une connection

FCoE

fcoe=‹edd|interface|MAC›:{dcb|nodcb} Définis une connexion FCoE via l'interface spécifiée.

NBD

root=??? netroot=nbd:‹server›:‹port/exportname›[:‹fstype›[:‹mountopts›[:‹nbdopts›]]] Mounte un partage nbd.
root=dhcp dhcp root-path=nbd:‹server›:‹port/exportname›[:‹fstype›[:‹mountopts›[:‹nbdopts›]]] récupère les informations nbd via dhcp.

DASD

rd.dasd=... Même syntaxe que le paramètre du module kernel.

ZFCP

rd.zfcp=‹zfcp adaptor device bus ID›,‹WWPN›,‹FCPLUN› Peut être spécifié plusieurs fois
rd.zfcp.conf=0 ignore zfcp.conf inclus dans l'initramfs

ZNET

rd.znet=‹nettype›,‹subchannels›,‹options› Peut être spécifié plusieurs fois

Booter des images live

   dracut offre plusieurs options pour les images live.

  SquashFS Le système boot avec un fs readonly depuis le squashfs et applique un dm rw par dessus le fs readonly.

  non compressé Quand le système live est installé avec --skipconpress, le système root ext3fs.img, est étendu à l'installation et aucun squashfs n'est utilisé durant le boot.

  image writable Le système récupère une image compressée, l'extrait dans /run/initramfs/fsimg/rootfs.img, la connecte dans un périphérique loop, créé un dm writable à /dev/mapper/live-rw et le monte comme volume rw à /.

rd.writable.fsimg=1 ACtive le support de système de fichier rw.
root=live:‹url› Boot une image live récupérée depuis l'url spécifié. (http, https, ftp, terrent, tftp)
rd.live.debug=1 Active la sortie debug du processus de boot
rd.live.dir=‹path› Spécifie le répetroire dans le squashfs où ext3fs.img ou rootfs.img peuvent être trouvés. Défaut: LiveOS
rd.live.squashimg=‹filename of SquashFS image› Spécifie le fichier d'une image squash du système de fichier root. Défaut: squashfs.img
rd.live.ram=1 Copie l'image complète en RAM et l'utilise pour booter. Utile quand l'image réside sur un DVD par ex. qui doit être éjeté ensuite.
rd.live.overlay=‹devspec›:(‹pathspec›|auto)|none Permet l'utilisation d'overlay permanent.
rd.live.overlay.size=‹size MiB› Spécifie une taille d'overlay persistant. Défaut: 512
rd.live.overlay.readonly=1 Spécifie un overlay rw non persistant stacké sur un snapshot ro.
rd.live.overlay.reset=1 Spécifie qu'un overlay persistant devrait être réinitialisés au boot.
rd.live.overlay.thin=1 Active l'utilisation de snapshots thin.

Plymouth

plymouth.enable=0 Désactive plymouth complètement
rd.plymouth=0 Désactive plymouth seulement dans l'initramfs

Clés kernel

masterkey=‹kernel master key path name› Définis la clé maître
masterkeytype=‹kernel master key type› Définis le type de clé maître
evmkey=‹EVM key path name› Définis le chemin de la clé EVM
ecryptfskey=‹eCryptfs key path name› Définis le chemin de la clé eCryptfs
^
22 mai 2017

htmlpdflatexmanmd




dracut.conf

dracut.conf

Fichier de configuration pour dracut

OPTIONS

add_dracutmodules+=" ‹dracut modules› " Ajoute la liste de modules dracut
dracutmodules+=" ‹dracut modules› " Liste de modules dracut à appeler
omit_dracutmodules+=" ‹dracut modules› " Omet la liste des modules dracut
drivers+=" ‹kernel modules› " liste de modules kernel à inclure exclusivement
add_drivers+=" ‹kernel modules› " liste de module à inclure
force_drivers+=" ‹list of kernel modules› " idem à add_drivers, mais s'assure que les pilotes sont chargés très tôt via modprobe
omit_drivers+=" ‹kernel modules› " liste de modules à ne pas ajouter
filesystems+=" ‹filesystem names› " Liste de modules fs à inclure exclusivement
drivers_dir="‹kernel modules directory›" Répertoire où rechercher les modules kernel
fw_dir+=" :‹dir›[:‹dir› ...] " Répertoire additionnel où rechercher les firmwares
install_items+=" ‹file›[ ‹file› ...] " Fichiers additionnels à inclure
install_optional_items+=" ‹file›[ ‹file› ...] " fichiers additionnels à inclure s'ils existent
compress="{bzip2|lzma|xz|gzip|lzo|lz4|‹compressor [args ...]›}" compression à utiliser
do_strip="{yes|no}" strip les binaire à inclure
do_prelink="{yes|no}" prelink les binaires à inclure
hostonly="{yes|no}" mode hostonly
hostonly_cmdline="{yes|no}" Stocke les arguments de ligne de commande dans l'initramfs
i18n_install_all="{yes|no}" Installe tous les fichiers claviers et font disponible
persistent_policy="‹policy›" Stratégie pour adressesr les disques et partitions. (ex: by-uuid, by-label)
tmpdir="‹temporary directory›" répertoire temporaire à utiliser
use_fstab="{yes|no}" Utilise /etc/fstab au lieur de /proc/self/mountinfo
add_fstab+=" ‹filename› " Ajoute les entrées dans le fichier au fstab de l'initramfs
add_device+=" ‹device› " Connecte le périphérique. Utile en mode hostonly pour le supporte du swap dans une partition lvm chiffrée.
mdadmconf="{yes|no}" Inclus /etc/mdadm.conf
lvmconf="{yes|no}" Inclus /etc/lvm/lvm.conf
fscks=" ‹fsck tools› " Ajoute une liste d'outils fsck. Défaut: "umount mount /sbin/fsck /sbin/fsck.btrfs /sbin/fsck.cramfs /sbin/fsck.ext2 /sbin/fsck.ext3 /sbin/fsck.ext4 /sbin/fsck.f2fs /sbin/fsck.fat /sbin/fsck.gfs2 /sbin/fsck.hfs /sbin/fsck.hfsplus /sbin/fsck.jfs /sbin/fsck.minix /sbin/fsck.msdos /sbin/fsck.ntfs /sbin/fsck.reiserfs /sbin/fsck.vfat /sbin/fsck.xfs xfs_db xfs_check xfs_repair e2fsck jfs_fsck reiserfsck btrfsck"
nofscks="{yes|no}" N'installe pas les outils fsck
ro_mnt="{yes|no}" mount '/' et '/usr' en lecture seule
kernel_cmdline="parameters" Spécifie les paramètres de ligne de commande du kernel
kernel_only="{yes|no}" Installe seulement les drivers et firmwares
no_kernel="{yes|no}" N'instanne pas les drivers et firmwares
acpi_override="{yes|no}" Remplace la table ACPI fournis par le BIOS.
acpi_table_dir="‹dir›" Répertoire où rechercher les tables ACPI.
early_microcode="{yes|no}" combine le microcode avec ramdisk
stdloglvl="{0-6}" Niveau de log de l'erreur standard
sysloglvl="{0-6}" Niveau de log syslog
fileloglvl="{0-6}" Niveau de log fichier
logfile="‹file›" Chemin du fichier de log
show_modules="{yes|no}" Affiche le nom des modules inclus sur stdout
i18n_vars="‹variable mapping›" voir dracut/modules.d/10i18n/README
i18n_default_font="‹fontname›" Font à installer.
i18n_install_all="{yes|no}" Installe tout
reproducible="{yes|no}" Créé une image reproductible
loginstall="‹DIR›" Log tous les fichiers installés depuis l'hôte dans le répertoire spécifié
uefi_stub="‹FILE›" Spécifie le loader UEFI qui va charger le kernel, initramfs et ligne de commande.
kernel_image="‹FILE›" Spécifie l'image kernel à inclure dans l'exécutable UEFI.
^
25 mai 2017

htmlpdflatexmanmd




fail2ban-client

fail2ban-client

Configure et contrôle le service fail2ban

OPTIONS

-c ‹DIR› répertoire de configuration
-s ‹FILE› Chemin du socket
-p ‹FILE› Chemin du fichier pid
-d Dump la configuration
-i Mode interactif
-v mode verbeux
-q mode silencieux
-b Lance le serveur en tâche de fond
-f Ne lance pas le serveur en tâche de fond

Commandes

start Démarre le serveur et les jails
reload Recharge la configuration
reload ‹JAIL› Recharge le jail
stop Stoppe tous les jail et termine le serveur
status Affiche le status courant du serveur
ping Test si le serveur est en vie
set loglevel ‹LEVEL› Définis le niveau de log (CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG)
get loglevel Affiche le niveau de log
set logtarget ‹TARGET› Définis la cible des logs (STDOUT, STDERR, SYSLOG ou un fichier)
get logtarget Affiche la cible des logs
set syslogsocket auto|‹SOCKET› Définis le chemin du socket syslog
get syslogsocket Affiche le chemin du socket syslog
flushlogs Vide le logtarget si c'est un fichier et l'ouvre de nouveau. Pour la rotation de log
set dbfile ‹FILE› Définis l'emplacement du datastore persistent. None le désactive
get dbfile Affiche l'emplacement du datastore persistent
get dbpurgeage ‹SECONDS› Défpinis de délai de conservation de l'historique des bans
get dbpurgeage Affiche le délai de conservation de l'historique des bans
add ‹JAIL› ‹BACKEND› Crée le jail en utilisant le backend
start ‹JAIL› Démarre le jail
stop ‹JAIL› Stoppe le jail
status ‹JAIL› [FLAVOR] Affiche le status courant du jail
set ‹JAIL› idle on|off Définis l'état idle du jail
set ‹JAIL› addignoreip ‹IP› Ajoute l'ip à la liste ignore du jail
set ‹JAIL› delignoreip ‹IP› supprime l'ip de la liste ignore du jair
set ‹JAIL› addlogpath ‹FILE› ['tail'] Ajoute le fichier à la liste de supervision du jail, optionnellement démarrant au tail du fichier (défaut: head)
set ‹JAIL› dellogpath ‹FILE› Supprime le fichier de la liste de supervision du jail
set ‹JAIL› logencoding ‹ENCODING› Définis l'encodage des fichiers de log du jail
set ‹JAIL› addjournalmatch ‹MATCH› Ajoute le match au filtre de journal du jail
set ‹JAIL› deljournalmatch ‹MATCH› Supprime le match du fitre de journal du jail
set ‹JAIL› addfailregex ‹REGEX› Ajoute l'expression régulière qui doit matcher les erreurs pour le jail
set ‹JAIL› delfailregex ‹INDEX› Suppmire l'expression régulière du jail
set ‹JAIL› ignorecommand ‹VALUE› Définis le ignorecommande du jail
set ‹JAIL› addignoreregex ‹REGEX› Ajoute l'expression régulière qui doit matcher un motif à exclure pour le jail
set ‹JAIL› delignoreregex ‹INDEX› Supprime l'expression régulière qui doit matcher un motif à exclure du jail
set ‹JAIL› findtime ‹TIME› Définis le nombre de secondes pour lequel le filtre recherche en arrière pour le jail
set ‹JAIL› bantime ‹TIME› Définis le nombre de secondes qu'un hôte est bannis pour le jail
set ‹JAIL› datepattern ‹PATTERN› Définis le motif utilisé pour matcher les dates/heures pour le jail
set ‹JAIL› usedns ‹VALUE› Définis le mode usedns pour le jail
set ‹JAIL› banip ‹IP› Bannis manuellement une IP pour le jail
set ‹JAIL› unbanip ‹IP› Débannis manuellement une IP du jail
set ‹JAIL› maxretry ‹RETRY› Définis le nombre d'erreurs avant de bannir l'hôte pour le jail
set ‹JAIL› maxlines ‹LINES› Définis le nombre de linux à mettre en tampon pour la recherche regex pour le jail
set ‹JAIL› addaction ‹ACT›[ ‹PYTHONFILE› ‹JSONKWARGS›] Ajoute une nouvelle action pour le jail
set ‹JAIL› delaction ‹ACT› Supprime une action pour le jail
set ‹JAIL› action ‹ACT› actionstart ‹CMD› Définis la commande de démarrage de l'action pour le jail
set ‹JAIL› action ‹ACT› actionstop ‹CMD› action pour le jail
set ‹JAIL› action ‹ACT› actioncheck ‹CMD› Définis la commande de vérification de l'action pour le jail
set ‹JAIL› action ‹ACT› actionban ‹CMD› Commande ban
set ‹JAIL› action ‹ACT› actionunban ‹CMD› commande unban
set ‹JAIL› action ‹ACT› timeout ‹TIMEOUT› commande timeout, en secondes
set ‹JAIL› action ‹ACT› ‹PROPERTY› ‹VALUE› Définis une valeur/propriété pour l'action
set ‹JAIL› action ‹ACT› ‹METHOD›[ ‹JSONKWARGS›] Appel la méthode pour l'action
get ‹JAIL› logpath afiche la liste des fichiers supervisés pour le jail
get ‹JAIL› logencoding Affiche l'encodage des fichiers de logs pour le jail
get ‹JAIL› journalmatch Affiche le fitre de match journal
get ‹JAIL› ignoreip Affiche la liste des ip ignorées
get ‹JAIL› ignorecommand Affiche l'ignorecommand du jail
get ‹JAIL› failregex Affiche la liste des expressions régulières qui matche les erreurs
get ‹JAIL› ignoreregex Affiche la liste des expressions régulières d'ignore pour le jail
get ‹JAIL› findtime Affiche le temps pour la recherche en arrière du filtre pour les erreurs
get ‹JAIL› bantime Affiche le temps de bannissement d'un hôte
get ‹JAIL› datepattern Affiche le motif utilisé pour matcher les dates/heures
get ‹JAIL› usedns Affiche le paramètre usedns
get ‹JAIL› maxretry Affiche le nombre d'erreurs permises pour le jail
get ‹JAIL› maxlines Affiche le nombre de ligne en tampon
get ‹JAIL› actions Affiche la liste d'actions
get ‹JAIL› action ‹ACT› actionstart Affiche la commande start pour l'action
get ‹JAIL› action ‹ACT› actionstop affiche la commande stop pour l'action
get ‹JAIL› action ‹ACT› actioncheck Affiche la commande check pour l'action
get ‹JAIL› action ‹ACT› actionban affiche la commande ban pour l'action
get ‹JAIL› action ‹ACT› actionunban affiche la commande unban pour l'action
get ‹JAIL› action ‹ACT› timeout affiche la commande timeout pour l'action
get ‹JAIL› actionproperties ‹ACT› Affiche la liste des propriétés pour l'action
get ‹JAIL› actionmethods ‹ACT› AFfiche la liste des méthodes pour l'action
get ‹JAIL› action ‹ACT› ‹PROPERTY› Affiche la valeur de la propriété pour l'action
^
25 mai 2017

htmlpdflatexmanmd




fail2ban-regex

fail2ban-regex

Tester les options failregex de fail2ban

OPTIONS

la syntaxe est fail2ban-regex

OPTIONS

-d, --datepattern=DATEPATTERN Définis un motif utilisé pour matcher les dates/heures
-e, --encoding=ENCODING Encodage de fichier. Défaut: locale système
-r, --raw pas de résolution DNS
-L, --maxlines=MAXLINES Nombre de ligne max pour les expressions régulières multilignes
-m, --journalmatch=JOURNALMATCH matche style journalctl. "systemd-journal" uniquement
-l, --log-level=LOG-LEVEL Niveau de log pour le logger fail2ban à utiliser
-v, --verbose mode verbeux
-D, --debuggex Produit des urls debuggex.com
--print-no-missed N'affiche pas de ligne manquante
--print-no-ignored N'affiche pas les lignes ignorées
--print-all-matched Affiche toutes les lignes qui matchent
--print-all-missed Affiche toutes les lignes manquantes
--print-all-ignored Affiche toutes les lignes ignorées
-t, --log-traceback Enrichis les messages de logs avec des tracebacks compressés
--full-traceback tracebacks complet, non-compressés
^
25 mai 2017

htmlpdflatexmanmd




fail2ban-server

fail2ban-server

Service fail2ban

   Fail2Ban lit le fichier de log contenant les rapport d'authentification échoués et banni les adresses IP correspondantes en utilisant les règles firewall. fail2ban-server ne doit pas être utilisé directement, et est lancé par fail2ban-client.

OPTIONS

-b Démarre en tâche de fond
-f Ne démarre pas en tâche de fond
-s ‹FILE› Chemin du socket
-p ‹FILE› Chemin du fichier pid
-x Force l'exécution du serveur
^
25 mai 2017

htmlpdflatexmanmd




fail2ban-testcases

fail2ban-testcases

Lance les tests d'unité fail2ban

OPTIONS

-l LOG_LEVEL, --log-level=LOG_LEVEL Niveau de log durant les tests
-n, --no-network Ne lance pas le tests qui nécessitent le réseau
-t, --log-traceback Enrichis les messages de logs avec des tracebacks compressés
--full-traceback tracebacks complet, non-compressés
^
12 mars 2016

htmlpdflatexmanmd




grub-bios-setup

grub-bios-setup

Définir un périphérique de boot en utilisant GRUB

   Définis les images à booter depuis le périphérique spécifié. Ce programme est généralement invoqué par grub-install. Le périphérique donné doit être un périphérique OS (ex: /dev/sda)

OPTIONS

-a, --allow-floppy Rend le périphérique bootable également comme une disquette.
-b, --boot-image=FILE Utilise le fichier comme image de boot. Défaut: boot.ing
-c, --core-image=FILE Utilise le fichier comme image core. Défaut: core.img
-d, --directory=DIR Répertoire contenant les fichiers GRUB. Défaut=/boot/grub
-f, --force Install même si des problèmes sont détectés
-m, --device-map=FILE Utilise le fichier comme map de périphérique. Défaut: /boot/grub/device.map
--no-rs-codes N'applique pas de codes reed-solomon en embarquant core.img. Uniquement pour les cibles BIOS x86
-s, --skip-fs-probe Ne recherche pas de système de fichier dans le périphérique donné
^
12 mars 2016

htmlpdflatexmanmd




grub-editenv

grub-editenv

Éditer le block d'environnement de GRUB

OPTIONS

create Créé un fichier block vide
list Liste les variables courantes
set [NAME=VALUE ...] Définis des variables
unset [NAME=VALUE ...] Supprime des variables

Exemples

Ajouter la langue:
grub-editenv -v - set lang=fr
^
12 mars 2016

htmlpdflatexmanmd




grub-file

grub-file

Vérifie si le fichier est du type spécifié

OPTIONS

--is-i386-xen-pae-domu Vérifier si le fichier peut être booté comme kernel invité non-privilégié Xen PAE i386
--is-x86_64-xen-domu Vérifier si le fichier peut être booté comme kernel invité non-privilégié Xen x86_64
--is-x86-xen-dom0 Vérifie si le fichier peut être utilisé comme kernel invité privilégié Xen x86_64
--is-x86-multiboot Vérifie si le fichier peut être utilisé comme kernel multiboot x86_64
--is-x86-multiboot2 Vérifie si le fichier peut être utilisé comme kernel multiboot2
--is-arm-linux Vérifie si le fichier est un Linux ARM
--is-arm64-linux Vérifie si le fichier est un Linux ARM64
--is-ia64-linux Vérifie si le fichier est un Linux IA64
--is-mips-linux Vérifie si le fichier est un Linux MIPS
--is-mipsel-linux Vérifie si le fichier est un Linux MIPSEL
--is-sparc64-linux Vérifie si le fichier est un Linux SPARC64
--is-powerpc-linux Vérifie si le fichier est un Linux POWERPC
--is-x86-linux Vérifie si le fichier est un Linux
--is-x86-linux32 Vérifie si le fichier est un Linux x86 supportant le mode 32bits
--is-x86-kfreebsd Vérifie si le fichier est ur kFreeBSD x86
--is-i386-kfreebsd Vérifie si le fichier est ur kFreeBSD i386
--is-x86_64-kfreebsd Vérifie si le fichier est ur kFreeBSD x86_64
--is-x86-knetbsd Vérifie si le fichier est ur kNetBSD x86
--is-i386-knetbsd Vérifie si le fichier est ur kNetBSD i386
--is-x86_64-knetbsd Vérifie si le fichier est ur kNetBSD x86_64
--is-i386-efi Vérifie si le fichier est un fichier EFI i386
--is-x86_64-efi Vérifie si le fichier est un fichier EFI x86_64
--is-ia64-efi Vérifie si le fichier est un fichier EFI ia64
--is-arm64-efi Vérifie si le fichier est un fichier EFI ARM64
--is-arm-efi Vérifie si le fichier est un fichier EFI ARM
--is-hibernated-hiberfil Vérifie si le fichier est hiberfil.sys à l'état hibernated
--is-x86_64-xnu Vérifie si le fichier est un XNU x86_64
--is-i386-xnu Vérifie si le fichier est un XNU i386
--is-xnu-hibr Vérifie si le fichier est un XNU
--is-x86-bios-bootsector Vérifie si le fichier est un secteur de boot BIOS
^
12 mars 2016

htmlpdflatexmanmd




grub-fstest

grub-fstest

Outil de débuggage pour les pilotes de système de fichier GRUB

Commandes

blocklist FILE Affiche la liste de blocks du fichier
cat FILE Copie le fichier sur la sortie standard
cmp FILE LOCAL Compare le fichier avec le fichier local
cp FILE LOCAL Copie le fichier dans le fichier local
crc FILE Récupérer le checksum crc32 du fichier
hex FILE Affiche le contenu du fichier en hexa
ls PATH Liste les fichiers dans le chemin
xnu_uuid DEVICE Calcule l'UUID XNU du périphérique
-c, --diskcount=NUM Spécifie le nombre de fichiers d'entrées
-C, --crypto Monte les périphériques crypto
-d, --debug=STRING Définis la variable d'environnement debug
-K, --zfs-key=FILE|prompt Charge la clé crypto zfs
-n, --length=NUM Gère N octets dans le fichier de sortie
-r, --root=DEVICE_NAME Définis le périphérique root
-s, --skip=NUM Saute N octets de fichier de sortie
-u, --uncompress Décompresse les données
-v, --verbose mode verbeux
^
12 mars 2016

htmlpdflatexmanmd




grub-glue-efi

grub-glue-efi

Traite les images EFI ia32 et amd 64 et les traite en accord avec le format Apple

OPTIONS

-3, --input32=FILE Définis le fichier d'entrée pour la partie 32-bits
-6, --input64=FILE Définis le fichier d'entrée pour la partie 64-bits
-o, --output=FILE Définis le fichier de sortie. Défaut: STDOUT
^
12 mars 2016

htmlpdflatexmanmd




grub-install

grub-install

Installer grub

OPTIONS

--compress[=no,xz,gz,lzo] compresse les fichiers GRUB
-d, --directory=DIR Utiliser les images et les modules sous DIR. Défaut: /usr/lib/grub/‹platform›
--fonts=FONTS Installe les FONTS. défaut: unicode
--install-modules=MODULES Installe seulement les modules spécifiés et leur dépendances. Défaut: all
-k, --pubkey=FILE Embarque le fichier comme clé publique pour la vérification de la signature
--locale-directory=DIR Utilise les traductions sous le répertoire. Défaut: /usr/share/locale
--locales=LOCALES Installe seulement les locales. Défaut=all
--modules=MODULES Pré-charge les modules spécifiés
--themes=THEMES Installe les thèmes. Défaut: starfield
-v, --verbose mode verbeux
--allow-floppy Rend le disque bootable comme une disquette
--boot-directory=DIR Installe les images GRUB sous le répertoire DIR/grub.
--bootloader-id=ID L'ID du bootloader. Cette options est seulement disponible sous EFI et Macs
--core-compress=xz|none|auto Choisis la compression à utiliser pour l'image core
--disk-module=MODULE module disque à utiliser (biosdisk ou native). Cette option est seulement disponible sur les cible BIOS
--efi-directory=DIR Utilise DIR comme partition système EFI
--force Install même si des problèmes sont détectés
--force-extra-removable Force l'installation sur média amovible. Cette option est seulement disponible sur EFI
--force-file-id Utilise l'identifiant de fichier même si UUID est disponible
--label-bgcolor=COLOR Utilise la couleur pour le label de fond
--label-color=COLOR Utilise la couleur pour le label
--label-font=FILE utilise la font pour le label
--macppc-directory=DIR Utilise le répertoire spécifié pour l'installation MAC PPC
--no-bootsector n'installe pas le secteur de boot.
--no-nvram ne met pas à jours les variables NVRAM boot-device/Boot*. Seulement disponible sur les cibles EFI et IEEE1275.
--no-rs-codes N'applique pas de codes reed-solomon en embarquant core.img. Cette option est seulement disponible sur les cibles BIOS x86
--no-uefi-secure-boot N'installe pas d'image utilisable avec UEFI, même si le système est démarré en l'utilisant. Uniquement disponible sur EFI
--product-version=STRING Utilise la chaîne comme version
--recheck Supprime la map de périphérique si elle existe
--removable Le périphérique d'installation est amovible. Uniquement disponible sur EFI
-s, --skip-fs-probe Ne sonde pas les système de fichiers dans le périphérique spécifié
--target=TARGET Install GRUB pour le plateforme spécifiée. Défaut: i386-pc
--uefi-secure-boot Installe une image utilisabe avec UEFI. Cette option est seulement disponible sur EFI et si grub-efi-amd64-signed est installé

   Le périphérique d'installation doit être le nom d'un périphérique. grub-install copie les images GRUB dans boot/grub. Dans certaines plateformes, il peut également installer GRUB sur le secteur de boot.
^
12 mars 2016

htmlpdflatexmanmd




grub-kbdcomp

grub-kbdcomp

Génère un fichier de couche clavier au format keymaps(5) dans un format qui peut être utilisé par la commande keymap de GRUB

OPTIONS

-o, --output=FILE Sauve la sortie dans le fichier
^
12 mars 2016

htmlpdflatexmanmd




grub-macbless

grub-macbless

bénir un fichier/répertoire mac

OPTIONS

-p, --ppc Pour les macs basés sur PPC
-v, --verbose mode verbeux
-x, --x86 Pour les macs basés sur x86
^
12 mars 2016

htmlpdflatexmanmd




grub-menulst2cfg

grub-menulst2cfg

transforme un fichier menu.lst en grub.cfg

   Cette commande n'a pas d'option

^
12 mars 2016

htmlpdflatexmanmd




grub-mkconfig

grub-mkconfig

Génère un fichier de configuration GRUB

OPTIONS

-o, --output=FILE Définis le fichier de sortie. Défaut: STDOUT
^
12 mars 2016

htmlpdflatexmanmd




grub-mkdevicemap

grub-mkdevicemap

Créer un fichier de mappage de périphérique

OPTIONS

-n, --no-floppy Ne recherche pas de lecteur de disquette
-s, --probe-second-floppy Recherche le second lecteur de disquette
-m, --device-map=FILE Utilise le fichier comme map. Défaut: /boot/grub/device.map
^
12 mars 2016

htmlpdflatexmanmd




grub-mkfont

grub-mkfont

Créé des fichiers de font GRUB au format PF2

OPTIONS

-a, --force-autohint Force l'autohint
-b, --bold Convertit la font en gras
-c, --asce=NUM set font ascent
-d, --desc=NUM et font descent
-i, --index=NUM Select face index
-n, --name=NAME Définis le nom de la famille de font
--no-bitmap Ignore les bitmaps strikes au chargement
--no-hinting Désactive le hinting
-o, --output=FILE Sauve la sortie dans le fichier
-r, --range=FROM-TO[,FROM-TO] Plage de font
-s, --size=SIZE Taille de font
^
12 mars 2016

htmlpdflatexmanmd




grub-mkimage

grub-mkimage

Créer une image bootable GRUB

OPTIONS

-c, --config=FILE Fichier embarqué comme première configuration
-C, --compression=(xz|none|auto) Choisis la compression à utiliser pour le core
-d, --directory=DIR Utilise les images et les modules sous DIR. Défaut: /usr/lib/grub/‹platform›
-k, --pubkey=FILE Embarque la clé publique pour la vérifitation de signature
-m Embarque le fichier comme image memdisk. Implique -p (memdisk)/boot/grub
-n, --note Ajoute le segment note pour CHRP IEEE1275
-o, --output=FILE Sort l'image générée dans le fichier. Défaut: stdout
-O, --format=FORMAT Génère une image au format spécifié (i386-coreboot, i386-multiboot, i386-pc, i386-pc-pxe, i386-pc-eltorito, i386-efi, i386-ieee1275, i386-qemu, x86_64-efi, i386-xen, x86_64-xen, mipsel-yeeloong-flash, mipsel-fuloong2f-flash, mipsel-loongson-elf, powerpc-ieee1275, sparc64-ieee1275-raw, sparc64-ieee1275-cdcore, sparc64-ieee1275-aout, ia64-efi, mips-arc, mipsel-arc, mipsel-qemu_mips-elf, mips-qemu_mips-flash, mipsel-qemu_mips-flash, mips-qemu_mips-elf, arm-uboot, arm-efi, arm64-efi
-p, --prefix=DIR Définis le préfixe de répertoire. Défaut: /boot/grub
^
12 mars 2016

htmlpdflatexmanmd




grub-mklayout

grub-mklayout

Génère un fichier de couche clavier GRUB au format keymaps(5) dans un format qui peut être utilisé par la commande keymap

OPTIONS

-o, --output=FILE Sauve la sortie dans le fichier
^
12 mars 2016

htmlpdflatexmanmd




grub-mknetdir

grub-mknetdir

Prépare un répertoire de boot réseau GRUB

OPTIONS

--compress[=no,xz,gz,lzo] Compresse les fichiers
-d, --directory=DIR Utilise les images et les modules sous DIR. Défaut: /usr/lib/grub/‹platform›
--fonts=FONTS Installe les FONTS. défaut: unicode
--install-modules=MODULES Installe seulement les modules spécifié. Défaut: all
-k, --pubkey=FILE Embarque la clé publique pour la vérification de la signature
--locale-directory=DIR Utilise les locales sous DIR. Défaut: /usr/share/locale
--locales=LOCALES Installe seulement les locales spécifiées. Défaut: all
--modules=MODULES Précharge les modules spécifiés
--themes=THEMES Installe les thèmes spécifiés. Défaut: starfield
--core-compress=xz|none|auto Choix de la compression de l'image core
--net-directory=DIR Répertoire root du serveur TFTP
--subdir=DIR Sous-réseau relatif d'un serveur réseau
^
12 mars 2016

htmlpdflatexmanmd




grub-mkpasswd-pbkdf2

grub-mkpasswd-pbkdf2

Génère un mot de passe hashé pour GRUB

OPTIONS

-c, --iteration-count=NUM Nombre d'itération de PBKDF2
-l, --buflen=NUM Longueur du hash générés
-s, --salt=NUM Longueur du salt
^
12 mars 2016

htmlpdflatexmanmd




grub-mkrelpath

grub-mkrelpath

Créé un chemin système relatif a son root

   Transforme un nom de fichier système en nom GRUB

^
12 mars 2016

htmlpdflatexmanmd




grub-mkrescue

grub-mkrescue

Créer une image de récupération GRUB

   Génère une image bootable pour CD/USB/disquette. Les arguments autre que les options sont passé à xorriso.

OPTIONS

--compress[=no,xz,gz,lzo] Compresse les fichiers
-d, --directory=DIR Utilise les images et les modules sous DIR. Défaut: /usr/lib/grub/‹platform›
--fonts=FONTS Installe les FONTS. défaut: unicode
--install-modules=MODULES Installe seulement les modules spécifié. Défaut: all
-k, --pubkey=FILE Embarque la clé publique pour la vérification de la signature
--locale-directory=DIR Utilise les locales sous DIR. Défaut: /usr/share/locale
--locales=LOCALES Installe seulement les locales spécifiées. Défaut: all
--modules=MODULES Précharge les modules spécifiés
--themes=THEMES Installe les thèmes spécifiés. Défaut: starfield
--arcs-boot Active ARCS.
--core-compress=xz|none|auto Choix de la compression de l'image core
--label-bgcolor=COLOR Utilise la couleur comme fond de label
--label-color=COLOR Utilise la couleur pour les labels
--label-font=FILE Utilise la font spécifiée pour les labels
-o, --output=FILE Sauve la sortie dans le fichier
--product-name=STRING Utilise la chaîne spécifiée comme nom de produit
--product-version=STRING Utilise la chaîne spécifiée comme version de produit
--rom-directory=DIR Sauve les images ROM dans le répertoire
--sparc-boot Active le boot sparc
--xorriso=FILE Utilise le fichier comme xorriso
^
12 mars 2016

htmlpdflatexmanmd




grub-mkstandalone

grub-mkstandalone

Créé une image GRUB basé sur memdisk

OPTIONS

--compress[=no,xz,gz,lzo] Compresse les fichiers
-d, --directory=DIR Utilise les images et les modules sous DIR. Défaut: /usr/lib/grub/‹platform›
--fonts=FONTS Installe les FONTS. défaut: unicode
--install-modules=MODULES Installe seulement les modules spécifié. Défaut: all
-k, --pubkey=FILE Embarque la clé publique pour la vérification de la signature
--locale-directory=DIR Utilise les locales sous DIR. Défaut: /usr/share/locale
--locales=LOCALES Installe seulement les locales spécifiées. Défaut: all
--modules=MODULES Précharge les modules spécifiés
--themes=THEMES Installe les thèmes spécifiés. Défaut: starfield
--core-compress=xz|none|auto Choix de la compression de l'image core
-o, --output=FILE Sauve la sortie dans le fichier
-O, --format=FORMAT Génère une image au format spécifié (i386-coreboot, i386-multiboot, i386-pc, i386-pc-pxe, i386-pc-eltorito, i386-efi, i386-ieee1275, i386-qemu, x86_64-efi, i386-xen, x86_64-xen, mipsel-yeeloong-flash, mipsel-fuloong2f-flash, mipsel-loongson-elf, powerpc-ieee1275, sparc64-ieee1275-raw, sparc64-ieee1275-cdcore, sparc64-ieee1275-aout, ia64-efi, mips-arc, mipsel-arc, mipsel-qemu_mips-elf, mips-qemu_mips-flash, mipsel-qemu_mips-flash, mips-qemu_mips-elf, arm-uboot, arm-efi, arm64-efi
^
12 mars 2016

htmlpdflatexmanmd




grub-mount

grub-mount

Exporter des systèmes de fichier GRUB avec FUSE

OPTIONS

-C, --crypto Monter des périphériques crypto
-d, --debug=STRING Définir la variable d'environnement debug
-K, --zfs-key=FILE|prompt Charge la clé crypto zfs
-r, --root=DEVICE_NAME Définis le périphérique root
^
12 mars 2016

htmlpdflatexmanmd




grub-probe

grub-probe

Affiche des informations de périphérique pour GRUB

OPTIONS

-d, --device L'argument donné est un périphérique système, pas un chemin
-m, --device-map=FILE Utilise FILE comme map de périphérique (défaut: /boot/grub/device.map)
-t, --target=TARGET Affiche la cible disponible (abstraction, arc_hints, baremetal_hints, bios_hints, compatibility_hint, cryptodisk_uuid, device, disk, drive, efi_hints, fs, fs_label, fs_uuid, gpt_parttype, hints_string, ieee1275_hints, msdos_parttype, partmap, zero_check) défaut: fs
-v, --verbose mode verbeux
^
12 mars 2016

htmlpdflatexmanmd




grub-reboot

grub-reboot

Définis l'entrée de boot par défaut pour le prochain boot uniquement.

OPTIONS

--boot-directory=DIR Utilise le répertoire DIR/grub au lieu de /boot/grub.

   L'entrée de menu spécifiée est un nombre, un titre, ou un identifiant.
^
12 mars 2016

htmlpdflatexmanmd




grub-render-label

grub-render-label

Génère un .disk_label pour Mac

OPTIONS

-b, --bgcolor=COLOR Utilise la couleur pour le fond
-c, --color=COLOR Utilise la couleur pour le texte
-f, --font=FILE Utilise la font (PF2)
-i, --input=FILE Lis le texte depuis le fichier
-o, --output=FILE Définis le fichier de sortie. Défaut: STDOUT
-t, --text=STRING Définis le label
^
12 mars 2016

htmlpdflatexmanmd




grub-script-check

grub-script-check

Vérifie la syntaxe de grub.cfg

OPTIONS

-v, --verbose Affiche des messages d'informations
^
12 mars 2016

htmlpdflatexmanmd




grub-set-default

grub-set-default

Définis l'entrée de boot par défaut pour GRUB. Nécessite de définir GRUB_DEFAULT=saved dans /etc/default/grub

OPTIONS

--boot-directory=DIR Utilise DIR/grub au lieu de /boot/grub

   L'entrée de menu spécifiée est un nombre, un titre, ou un identifiant.
^
12 mars 2016

htmlpdflatexmanmd




grub-syslinux2cfg

grub-syslinux2cfg

Transforme une configuration syslinux en grub.cfg

OPTIONS

-c, --cwd=DIR Répertoire courant de syslinux. Défaut: le répertoire parent du fichie d'entrée
-i, --isolinux assume que l'entrée est un fichier de configuration isolinux
-o, --output=FILE Écris la sortie dans le fichier. Défaut: stdout
-p, --pxelinux Assume que le fichier d'entrée est un fichier de configuration pxelinux
-r, --root=DIR Répertoire root du disque syslinux. Défaut: /
-s, --syslinux Assume que le fichier d'entrée est un fichier de configuration syslinux
-t, --target-root=DIR Répertoire root qui sera vu à l'exécution. Défaut: /
-T, --target-cwd=DIR Répertoire courant du syslinux tel que vu à l'exécution. Défaut: le répertoire parent du fichie d'entrée
^
12 mars 2016

htmlpdflatexmanmd




grub2

grub2

multiboot bootloader

   Brièvement, un boot loader est le premier logiciel qui est lancé au démarrage de l'ordinateur. Il est responsable du chargement et de transférer le contrôle à un kernel. Le kernel, en retour, initialise le reste du système d'exploitation.

   GRUB est un boot loader très puissant, qui peut charger une grande variété de systèmes d'exploitation. GRUB est conçu pour adresser la complexité du boot d'un ordinateur personnel.

   Une des fonctionnalité les plus importantes est sa flexibilité; GRUB comprend les systèmes de fichier et les formats exécutable de kernel, ce qui permet de charger un kernel sans enregistrer sa position physique sur le disque.

   En bootant avec GRUB, vous pouvez utiliser soit une interface en ligne de commande, ou une interface. En utilisant la ligne de commande, il suffit de spécifier l'emplacement du dique et le nom de fichier du kernel manuellement. Dans l'interface par menu, il suffit de sélectionner un OS en utilisant les touches. Le menu est basé sur un fichier de configuration qui peut être préparé avant. Il est possible de basculer d'un mode à l'autre, et même éditer les entrées du menu avant de les utiliser.

Fonctionnalités

- Reconnaissante de plusieurs formats d'exécutable
- Supporte de nombreuses variantes de a.out, plus ELF. Les tables de symbole sont également chargés.
- Support de kernels non-multiboot
- Supporte de nombreux kernels 32bits qui ne sont pas multiboot compliant ( FreeBSD, NetBSD, OpenBSD, et Linux).
- Charger plusieurs modules
- Support complet du chargement de modules.
- Charger un fichier de configuration
- Support de fichiers de configuration au format texte avec des commandes de boot. Il est également possible de charger un autre fichier de configuration dynamiquement et embarque un fichier de configuration preset dans un fichier image grub. La liste des commandes sont un superset de ces lignes de commandes supportées.
- Fournis une interface par menu
- Une interface à menu avec un timeout programmable est disponible. Il n'y a pas de limite fixée sur le nombre d'entrées de boot, et l'implémentation actuelle a l'espace pour des centaines.
- Interface en ligne de commande flexible: Une interface flexible, accessible depuis le menu, est disponible pour éditer les commandes, ou écrire une nouvelle commande. Si aucun fichier de configuration n'est présent, GRUB supprime la ligne de commande.
- Suporte plusieurs systèmes de fichier: AFFS, AtheOs Fs, BeFS, BtrFS, cpio, ext2/3/4, DOS, ISO9660, JFS, Minix Fs, NTFS, ReiserFS, ROMFS, SFS, Squash4, tar, UDF, BSD UFS, XFS et ZFS.
- Décompression automatique: Peut décompresser des fichiers compressés avec gzip ou xz. Cette fonction est automatique et transparente à l'utilisateur.
- Accède aux données sur un périphérique installé
- Supporte la lecture des données depuis des disquettes ou disques dur reconnus par le BIOS
- Indépendant des translation de géometrie du disque. À la différence de nombreux boot loader, GRUB gère les géometries de disque de manière transparente.
- Detecte toute la RAM installée. GRUB peut généralement trouver toute la RAM installée sur une machine compatible PC. Il utiliser des techniques de requête du BIOS pour trouver toutes les régions mémoire.
- Support du mode LBA. GRUB détecte automatiquement si le mode LBA est accessible et l'utilise si disponible.
- Support du boot réseau
- GRUB est un bootloader basé sur le disque mais supporte également le réseau, en utilisant TFTP
- Support de terminaux distants
- Pour supporter des machines sans console, GRUB fournis un terminal distant. Seul le terminal série est implémenté actuellement.

Convention de nommage

La syntaxe de périphérique utilisée dans GRUB est un peu différent de ce qui est vu dans un OS, et il est nécessaire de spécifier un couple disque/partition. l'exemple:
(fd0)
Avant tout, GRUB exige que le nom du périphérique soit entre parenthèses. fd signifie une disquette. Le numéro 0 est le numéro du disque, qui est compté en partant de 0. Cette expression indique toute la disquette.
(hd0,msdos2)
Ici, hd signifie un disque dur. 0 indique le numéro du disque. msdos indique le type de partition, et 2 indique e numéro de partition. Les numéros de partitions sont comptés à partir de 1, et non 0. Cette expression spécifie la 2ème partition du premier disque. Dans ce cas, GRUB utilise une partition du disque, au lieu du disque entier.
(hd0,msdos5)
Cela spécifie la première partition étendue du disque dur. Noter que les numéros de partition pour les partitions étendues sont comptés à partir de 5, sans regarder le nombre de partition primaire sur le disque.
(hd1,msdos1,bsd1)
Signifie la partition a de BSD sur le premier slice du second disque.

   Noter que GRUB ne fait pas de distinction entre IDE et SCSI. Il compte simplement les numéros de disque de 0, sans regarder leur type. Normalement, un disque IDE est inférieur au numéro d'un disque SCSI, bien que ce n'est pas vrai si l'on change la séquence de boot en inversant les disque IDE et SCSI dans le BIOS.

Maintenant, pour spécifier un fichier on utilisera la syntaxe:
(hd0,msdos1)/vmlinuz
Cela spécifie le fichier nommé 'vmlinuz', trouvé sur la première partition du premier disque dur.

Installation

   Pour installer GRUB comme boot loader, il faut d'abord installer GRUB et les utilitaires sous un OS type UNIX. Une fois installé, la commande grub-install install le bootloader sur le disque.

   GRUB est fournis avec des images de boot, qui sont généralement dans /usr/lib/grub/‹cpu›-‹plateform› c'est le répertoire d'image, et le répertoire où le boot loader doit les trouver (généralement /boot) est le répertoire de boot.

   Pour installer GRUB sous un OS type Unix, invoquer le programme grub-install en root. L'utilisation est très simple. Vous devez simplement spécifier un argument au programme, où installer le boot loader. L'argument doit être un fichier de périphérique (par ex: /dev/hda). l'option --boot-directory spécifie le répertoire de boot (/boot par défaut).

Certains bios ont un bug qui exposent la première partition d'un disque usb comme disquette au lieu de l'exposer comme disque usb, il est nécessaire dans ce cas d'utiliser:
losetup /dev/loop0 /dev/sdb1
mount /dev/loop0 /mnt/usb
grub-install --boot-directory=/mnt/usb/bugbios --force --allow-floppy /dev/loop0

   Noter que grub-install est actuellement un simple script shell et le vrai travail est fait pas grub-mkimage et grub-setup.

Créer un CDROM bootable

   GRUB supporte le mode sans émulation dans la spécification El Torito. Celà signifie qu'on peut utiliser tout le CDROM depuis GRUB sans avoir à créer un fichier image disquette ou disque dur, qui peut créer des problèmes de compatibilité.

   Pour booter depuis un CD-ROM, GRUB utilise une image spéciale appelée cdboot.img, qui est concaténé avec core.img. Le core.img utilisé pour cela devrait être construit avec au moins les modules iso9660 et biosdisk. Le CDROM bootable va généralement nécessiter également un fichier de configuration grub.cfg et quelques autres modules.

Pour créer un CD de récupération GRUB simple, utiliser la commande grub-mkrescue:
grub-mkrescue -o grub.iso
Pour inclure d'autres fichiers à l'image, créer un répertoire
mkdir iso
créer un répertoire pour GRUB:
makd -p iso/boot/grub
Si souhaité, créer le fichier de configuration grub.cfg et copier les fichier et répertoires pour le disque dans iso/. Enfin, créer l'image:
grub-mkrescue -o grub.iso iso

   Le périphérique root sera définis de manière approprié en entrant le fichier de configuration, pour réferrer aux noms de fichier dans le cd sans avoir à utiliser de nom de périphérique expicit. Celà simplifie la production d'images qui fonctionnent sur les disques optiques et les périphériques de stockage USB.

Mappage entre les disques BIOS et les périphériques OS

   Si le fichier de map de périphérique existe, les utilitaires GRUB (grub-probe, grub-setup, etc) le lise pour mapper les périphériques BIOS aux périphériques OS. Ce fichier consiste de ligne sous la forme: (device) file

   device est un disque spécifié dans la syntaxe GRUB, et file est un fichier OS, qui est normalement un fichier de périphérique.

   Historiquement, le fichier de mappage de périphérique a été utilisé parce que les noms de périphérique GRUB devaient être utilisés dans le fichier de configuration, et ils étaient dérivés des numéro de lecteur du BIOS. Le mappage entre les disque BIOS et OS ne peut pas toujours être deviné correctement: par exemple GRUB obtiendra le mauvais ordre si on échange la séquence de boot entre IDE et SCSI dans le BIOS.

   Malheureusement, même les noms de périphérique OS ne sont pas toujours stable. Les versions moderne de Linux peuvent sonder les disques dans un ordre différent d'un boot à l'autre, et le préfixe (/dev/hd* vs /dev/sd*) peut changer en fonction du pilote utilisé. Cela impose d'éditer fréquemment le fichier de map.

   GRUB évite ce problème en utilisant les UUID ou les labels de système de fichier en générant grub.cfg, et il est recommandé de faire de même pour toute entrée ajoutée manuellement. Si le fichier de map n'existe pas, les utilitaires GRUB assument un map temporaire à la volée. C'est suffisant, en particulier pour les système à un seul disque.

   Cependant, le fichier de map de périphérique n'est pas entièrement obsolète, et il est utilisé pour écraser un environnement courant différent de celui du boot. Un cas courant est l'utilisation d'une partition ou d'un volume logique comme disque pour une machine virtuelle.

Installation BIOS

   Le format de la table de partition traditionnellement utilisé pour les plateformes PC BIOS est appelée le format MBR; c'est le format qui autorise jusqu'à 4 partitions primaire et des partitions logiques additionnelles. Avec ce format de table de partition il y a 2 manières d'installer GRUB: Il peut être embarqué dans la zone entre le MBR et la première partition, (généralement 31KiB, appelée la zone embarquée), ou l'image peut être installé dans un système de fichier et une liste de blocks le forme peuvent être stockés dans le premier secteur de cette partition.

   Chaque méthode a ses inconvénients. Il n'y a pas de manière de réserver de l'espace dans la zone embarquée de manière sûre, et certains logiciels propriétaire sont connus pour l'utiliser; et les systèmes sont parfois partitionnés sans laisser suffisamment d'espace avant la première partition. D'un autre coté, installer dans un système de fichier signifie que GRUB est vulnérable si ses blocks sont déplacés dans le système de fichiers tel que fsck, donc cette approche est fragile, et peut seulement être utilisée si le système /boot est sur le même disque que le BIOS boot.

   Les systèmes récents utilisent le format GPT. C'est spécifié dans EFI, mais peut également être utilisé sur les plateformes BIOS si le système le supporte. Par exemple, GRUB et GNU/Linux peuvent être utilisé dans cette configuration. Avec ce format, il est possible de réserver une partition entière pour GRUB, appelée la partition de Boot. GRUB peut ainsi être embarquée dans cette partition sant rique d'être écrasé par un autre logiciel et dans être contenu dans un système de fichier.

   En créant un BIOS Boot Partition dans un système GPT, on doit s'assurer qu'il y a au moins 31KiB d'espace disponible. Il faut également s'assurer qu'il a le type de partition correcte. En utilisant parted:

Boot

   Grub peut charger les kernels conforme au Multiboot de manière consistante mais pour certains OS, il faut utiliser une méthode spécifique.

booter un OS

   GRUB a 2 méthodes de boot distinct. Une des 2 est de charger un OS directement, et l'autre est de chaîner le loader qui va ainsi charger l'OS.

   Multiboot est le format natif supporté par GRUB. Il supporte également Linux. Cependant, DOS et Windows ont certains problèmes.

   Pour les OS qui ne supportent pas Multiboot et n'ont pas de support spécifique dans GRUB, le chain-loader doit être utilisé, ce qui implique qu'un autre loader est chargé.

La commande chainloader est utilisée pour définir ce mode. Il est normalement nécessaire de charger certains modules GRUB et définir le périphérique root de manière approprié. Pour un système Windows, une entrée peut ressembler à:
menuentry "Windows" {
    insmod chain
    insmod ntfs
    set root=(hd0,1)
    chainloader +1
}

   Sur les système avec plusieurs disques dur, une travail supplémentaire doit être fournis. Le chain-Loading est seulement supporté sur les PC BIOS et les plateformes EFI.

Boot Loopback

   Grub est capable de lire une image ( CD ou HDD) stocké dans un stockage accessible. Cependant l'OS lui-même devrait être capable de trouver son root. Cela implique généralement de lancer un programme dans l'espace utilisateur avant que le vrai root soit trouvé. GRUB peut charger une petite image faite spécialement en ram en la passant au kernel, avec les commandes kfreebsd_module, knetbsd_module_elf, kopenbsd_ramdisk, initrd, initrd16, multiboot_module, multiboot2_module, ou xnu_ramdisk, en fonction du chargeur.

Problèmes spécifiques à l'OS

   Vu que GNU/Hurd est conforme à Multiboot, il est facile à booter. Il ne faut cependant pas oublier de spécifier la partition root du kernel.

1. Spécifier le périphérique root de GRUB sur le même disque que celui de GNU/Hurd. La commande search --set=root --file /boot/gnumach.gz ou similaire peut aider.
2. Charger le kernel et les modules:
multiboot /boot/gnumach.gz root=device:hd0s1
module /hurd/ext2fs.static ext2fs --readonly --multiboot-command-line='${kernel-command-line}' --host-priv-port='${host-port}' --device-master-port='${device-port}' --exec-server-task='${exec-task}' -T typed '${root}' '$(task-create)' '$(task-resume)'
module /lib/ld.so.1 exec /hurd/exec '$(exec-task=task-create)'
3. Finalement, lancer la commande boot.

GNU/Linux

   Il est relativement simple à booter, parce qu'il ressemble au boot des OS conformes Multiboot.

1. Définir le périphérique root de grub au même disque que le root de Linux.
2. Charger le kernel avec la commande: linux /vmlinuz root=/dev/sda1. Si nécessaire ajouter des paramètres au kernel: linux /vmlinuz root=/dev/sda1 acpi=off
3. Si besoin d'un initrd, utiliser la commande initrd: initrd /initrd
4. Finalement lancer la commande boot.

Fichier de configuration

   GRUB est configuré en utilisant grub.cfg, généralement dans /boot/grub. Ce fichier est flexible, mais beaucoups d'utilisateurs n'ont pas besoin d'écrire tout à la main.

Configuration simple

   Le programme grub-mkconfig génère grub.cfg correctement dans la plupart des cas. Il est prévu pour mettre à jours une distribution, et découvre les kernels disponible et tente de générer des entrées.

   grub-mkconfig a quelques limitations. En ajoutant des entrées manuellement à la fin de la liste en éditant /etc/grub.d/40_custom, ou en créant /boot/grub/custom.cfg, changer l'ordre des entrées du menu ou changer les scripts dans /etc/grub.d ou changer leur nom peut rendre les changements plus complexe. Cela peut être améliorer dans le future. Il est préférable dans ce cas d'éditer directement grub.cfg et de désactiver l'utilisation automatique de grub-mkconfig du système.

   Le fichier /etc/default/grub contrôle les opération de grub-mkconfig. Il est lu par un script shell, et doit être une entrée de shell POSIX valide; normalement c'est simplement une séquence de lignes KEY=value; mais si la valeur contient des espace ou des caractères spéciaux, ils doivent être entre guillemets.

GRUB_DEFAULT Entrée du menu par défaut. Peut être un nombre (la nième entrée) dans le menu, en commançant à 0, ou le titre d'une entrée du menu, ou la chaîne spéciale "saved", qui est l'entrée sauvée par GRUB_SAVEDEFAULT, grub-set-default, ou grub-reboot. Défaut: 0
GRUB_TIMEOUT Boot sur le défaut au boot de n secondes. Défaut: 5. 0 boot immédiatement sans afficher le menu, et -1 attend indéfiniment
GRUB_HIDDEN_TIMEOUT Attend n secondes pour une touche avant d'afficher le menu. Avec GRUB_TIMEOUT à 0, le menu n'est jamais affiché sauf si une touche est pressée. Défaut: non-définis
GRUB_HIDDEN_TIMEOUT_QUIET Supprime le décompte de GRUB_HIDDEN_TIMEOUT. non définis par défaut.
GRUB_DEFAULT_BUTTON
GRUB_TIMEOUT_BUTTON
GRUB_HIDDEN_TIMEOUT_BUTTON
GRUB_BUTTON_CMOS_ADDRESS Variantes des variables correspondantes sans le suffix _BUTTON, utilisés pour supporter les boutons de mise sous tension spécifique au vendeur.
GRUB_DISTRIBUTOR Définis par les distributeurs de GRUB pour identifier leur nom. Utilisé pour générer des titre d'entrée de menu plus informatifs
GRUB_TERMINAL_INPUT Sélectionne le périphérique d'entrée du terminal. les noms dépendent de la plateform, mais peut inclure console (PC Bios et consoles EFI), serial, ofconsole (OpenFirmware Console), at_keyboard (PC AT keyboard utilisant le protocole de boot HID), ou usb_keyboard (clavier USB utilisant le protocole de boot HID). Défaut: utilise l'entrée de terminal natif de la plateforme.
GRUB_TERMINAL_OUTPUT Sélectionne le périphérique de sortie du terminal. console, serial, gfxterm, ofconsole, ou vga_text. Défaut: utilise la sortie de terminal native de la plateforme.
GRUB_TERMINAL Si définis, remplace GRUB_TERMINAL_INPUT et GRUB_TERMINAL_OUTPUT.
GRUB_SERIAL_COMMAND Une commande pour configurer le port série pour utiliser la console série. Défaut: serial
GRUB_CMDLINE_LINUX Arguments à ajouter aux entrées de menu pour le kernel Linux
GRUB_CMDLINE_LINUX_DEFAULT Sauf si GRUB_DISABLE_RECOVERY est définis, 2 entrées de menu sont générés pour chaque kernel linux: une entrée par défaut, et une entrée pour le mode récupération. Cette option liste les arguments à ajouter seulement à l'entrée par défaut, après ceux listés dans GRUB_CMDLINE_LINUX.
GRUB_DISABLE_LINUX_UUID Normalement, grub-mkconfig génère des entrées de menu qui utilisent des UUID pour identifier le système de fichie racine pour le kernel Linux en utilisant "root=UUID=...". Pour désactiver l'utilisation des UUID, définir cette option à true.
GRUB_DISABLE_RECOVERY À true, désactive la génération des entrées de menu pour le mode récupération
GRUB_VIDEO_BACKEND Si le support vidéo graphique est requis, soit parce que le terminal graphique gfxterm est utilisé ou parce que GRUB_GFXPAYLOAD_LINUX est définis, grub-mkconfig va normalement charger tous les pilotes vidéo GRUB et utiliser le plus approprié pour votre hardware. Cette option permet de forcer des paramètres spécifique. Une fois grub-install lancé, les pilotes disponible sont listés dans /boot/grub/video.lst.
GRUB_GFXMODE Définis la résolution utilisée dans le terminal graphique gfxterm. Noter que vous pouvez seulement utiliser les modes que votre carte supporte via les extensions VESA BIOS (VBE), donc pour les résolution d'écran LCD peuvent ne pas être disponible. Le défaut est auto, qui tente de sélectionner la résolution préférrée.
GRUB_BACKGROUND Définis l'image à utiliser avec le terminal graphique gfxterm. Ce fichie doit être accéssible au moment du boot et doit se terminer avec .png, .tga, .jpg, ou .jpeg. L'image sera redimensionné si besoin.
GRUB_THEME Définis un thème à utiliser avec le terminal graphique gfxterm
GRUB_GFGPAYLOAD_LINUX à text, force Linux à booter en mode text normal. à keep, préserve le mode graphique définis avec GRUB_GFXMODE.
GRUB_DISABLE_OS_PROBER Normalement, grub-mkconfig tente d'utiliser le programme os-prober, si installé, pour découvrir les autres OS installés sur le système et générer les entrées de menu appropriés pour eux. à true, désactive cette recherche.
GRUB_INIT_TUNE Joue un son dans les haut-parleurs quand GRUB démarre. Utile pour les utilisateurs ne pouvant pas voir l'écran. La valeur de cette option est passée directement à play.
GRUB_BARAM Si mis, GRUB émet une commande badram pour filtrer des régions mémoire.
GRUB_PRELOAD_MODULES Cette option peut être mis à une liste de modules GRUB séparés par des espaces. Chaque module sera chargé le plus tôt possible, au début de grub.cfg.

   Pour une personnalisation plus détaillée de la sortie de /etc/grub.d/40_custom est particulièrement utile pour ajouter des entrées particulièrement utiles pour ajouter des entréess

Ecrire des fichiers de configuration directement

   grub.cfg est écrit dans la langage de scripting intégré à GRUB, qui a une syntaxe similaire à BASH et d'autres shells.

MOTS Un mot est une séquence de caractères considérés comme une unité simple. Les mots sont séparés par des métacaractères, qui sont les suivane, plus espace, tabulation et nouvelle ligne.
{ } | & $ ; › ‹ les guillemets peuvent être utilisés pour inclure les métacaractères dans les mots.

Mots réservés

Les mots réservés ont une signification spéciale pour GRUB. Les mots suivants sont reconus:
! [[ ]] { }
case do done elif else esac fi for function
if in menuentry select then time until while

guillemets

   Les guillemets sont utilisés pour supprimés la signification spéciale de certains caractères ou mots. Il peut être utilisé pour traiter les métacaractères comme partie d'un mot. Il y a 3 mécanismes de guilemets: le caractère d'échappement, guillemets simple et guillemets double.

expansion de variables

   Le caractère '$' introduit l'expansion de variable. Le nom de la variable à étendre peut être entre crochets, qui servent optionnellement à protéger la variable à étendre des caractères qui suivent immédiatement.

   Les noms de variables normales commencent avec un caractère alphanumérique, suivi par 0 ou plusieurs caractères alphanumérique. Ces noms réfèrent aux entrées dans l'environnement GRUB.

   Les noms de variables positionnels consistent en 1 ou plusieurs chiffres. Ils représentent les paramètres passés aux appels de fonction, avec $1 représentant le premier paramètre.

   Le nom de variable spéciale ? s'étend au code de sortie de la dernière commande exécutée. Quand les noms de variable positionnels sont actifs, d'autres variables @, *, et # sont définis et s'étendent à tous les paramètres positionnels avec des guillemets nécessaire, sans guillemets, et comme compteur de paramètres, respectivement.

Commandes simple

   Une commande simple est une séquence de mots séparés par des espaces ou des tabulation et terminés par un ';' ou un newline. le premier mot spécifie la commande à exécuter. Les autres mots sont passés en argument à la commande.

   La valeur de retour d'une commande simple est sont status de sortie. Si le mot réservé ! précède la commande, la valeur de retour est un NOT du status de sortie de la commande.

Commandes composés

Une commande composée est une des suivantes:
for name in word ...; do list; done

if list; then list; [elif list; then list;] ... [else list;]fi

while cond; do list; done
until cond; do list; done

function name { command; ...}

menuentry title [--class=class ...][--users=users][--unrestricted][--hotkey=key]{command;...}

Commande embarquées

Certaines commande sont également fournis par GRUB pour effectuer des action qui ne seraient pas possible autrement.
break[n]
continue[n]
return[n]
shift[n]

Configuration manuelle Multiboot

   L'autogénération des fichiers de configuration pour les environnements multi-bot dépendent de os-prober. Il est possible de créer soi-même la configuration

Tout d'abord, créer une partition séparée pour GRUB. Certaines options ci-dessous montrent comment charger des images d'installeur d'OS depuis cette partition. Mounter cette partition dans /mnt/boot et désactiver GRUB dans tous les OS et installer manuellement le dernier GRUB compilé avec:
grub-install --boot-directory=/mnt/boot /dev/sda

Dans tous les OS installer les outils GRUB mais désactiver l'installation de GRUB dans le secteur de boot, pour avoir le menu.lst et grub.cfg disponible. Désactiver également l'utilisation d'os-prober en définissant:
GRUB_DISABLE_OS_PROBER=true

Puis écrire un grub.cfg:
menuentry "OS using grub2" {
    insmod xfs
    search --set=root --label OS1 --hint hd0,msdos8
    configfile /boot/grub/grub.cfg
}
    
menuentry "OS using grub2-legacy" {
    insmod ext2
    search --set=root --label OS2 --hint hd0,msdos6
    legacy_configfile /boot/grub/menu.lst
}
    
menuentry "Windows XP" {
    insmod ntfs
    search --set=root --label WINDOWS_XP --hint hd0,msdos1
    ntldr /ntldr
}
    
menuentry "Windows 7" {
    insmod ntfs
    search --set=root --label WINDOWS_7 --hint hd0,msdos2
    ntldr /bootmgr
}
    
menuentry "FreeBSD" {
    insmod zfs
    search --set=root --label freepool --hint hd0,msdos7
    kfreebsd /freebsd@/boot/kernel/kernel
    kfreebsd_module_elf /freebsd@/boot/kernel/opensolaris.ko
    kfreebsd_module_elf /freebsd@/boot/kernel/zfs.ko
    kfreebsd_module /freebsd@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
    set kFreeBSD.vfs.root.mountfrom=zfs:freepool/freebsd
    set kFreeBSD.hw.psm.synaptics_support=1
}
    
menuentry "experimental GRUB" {
    search --set=root --label GRUB --hint hd0,msdos5
    multiboot /experimental/grub/i386-pc/core.img
}
    
menuentry "Fedora 16 installer" {
    search --set=root --label GRUB --hint hd0,msdos5
    linux /fedora/vmlinuz lang=en_US keymap=sg resolution=1280x800
    initrd /fedora/initrd.img
}
    
menuentry "Fedora rawhide installer" {
    search --set=root --label GRUB --hint hd0,msdos5
    linux /fedora/vmlinuz repo=ftp://mirror.switch.ch/mirror/fedora/linux/development/rawhide/x86_64 lang=en_US keymap=sg resolution=1280x800
    initrd /fedora/initrd.img
}
    
menuentry "Debian sid installer" {
    search --set=root --label GRUB --hint hd0,msdos5
    linux /debian/dists/sid/main/installer-amd64/current/images/hd-media/vmlinuz
    initrd /debian/dists/sid/main/installer-amd64/current/images/hd-media/initrd.gz
}

Embarquer un fichier de configuration dans GRUB

   GRUB supporte un fichier de configuration embarqué directement dans l'image core, pour qu'il puisse être chargé avant d'entrée dans le mode normal. C'est utile pour par exemple quand est difficile de trouver le vrai fichier de configuration ou pour débugger un problème avec le chargement de ce fichier. grub-install utilise cette fonctionnalité quand il n'utilise pas de fonction disque du bios ou en installant sur un disque différent de celui contenant /boot/grub, auquel cas il doit utiliser la commande search pour trouver /boot/grub.

   Pour embarquer un fichier de configuration, utiliser l'option -c de grub-mkimage. Le fichier est copié dans l'image core.

Une fois embarqué, le fichier de configuration est exécuté, GRUB va charger le module 'normal', qui va lire le fichier de configuration de $prefix/grub.cfg. À ce point, la variable root aura également été définis au nom du périphérique root. Par exemple, prefix peut être définis à '(hd0,1)/boot/grub' et et root peut être définis à 'hd0,1'. Donc, dans la plupart des cas, le fichier de configuration embarqué a seulement besoin des variables root et prefix, et ainsi supprimer le traitement normale de GRUB. Un exemple typique est:
search.fs_uuid 01234567-89ab-cdef-0123-456789abcdef root
set prefix=($root)/boot/grub

   Le module search_fs_uuid doit être inclus dans l'image core pour que cet exemple fonctionne.

Dans des cas plus complexe, il peut être utile pour lire d'autres fichiers de configuration directement depuis le fichier de configuration embarquée. Cela permet de lire des fichiers qui ne s'appellent pas grub.cfg ou lire des fichiers depuis un répertoire autre que celui où les modules GRUB sont installés. Pour faire cela, inclure les modules configfile et normal dans l'image core, et embarquer un fichier de configuration qui utilise la commande configfile pour charger un autre fichier. L'exemple suivant nécessite également les modules echo, search_label, et test à inclure dans l'image core:
search.fs_label grub root
if [ -e /boot/grub/example/test1.cfg ]; then
    set prefix=($root)/boot/grub
    configfile /boot/grub/example/test1.cfg
else
    if [ -e /boot/grub/example/test2.cfg ]; then
        set prefix=($root)/boot/grub
        configfile /boot/grub/example/test2.cfg
    else
        echo "Could not find an example configuration file!"
    fi
fi

   Le fichier de configuration embarqué peut ne pas contenir d'entrées de menu directement.

format du fichier de thème

   Le menu graphique GRUB supporte les thèmes qui peuvent être personnalisés. Le thème est configuré via un fichier texte qui spécifie les composant de l'interface graphique (incluant le menu de boot, la barre de progression de timeout, et les messages) ainsi que l'apparence en utilisant les couleurs, fonts, et images. Des exemples sont disponible dans docs/example_theme.txt.

Couleurs

Les couleurs peuvent être spécifié de nombreuses manières:
Style HTML #RRGGBB ou #RGB
au format RGB décimal: "128,128,255".
Avec les noms de couleur SVG 1.0 qui doivent être spécifiés en minuscule.

Fonts

   Les fonts GRUB utilisent le format de fonts bitmap PFF2. Les fonts sont spécifié avec le nom des font. Actuellement il n'y a pas de provision pour une liste de font préférentielle, ou de dériver une font d'une autre. Les fonts sont chargés avec la commande loadfont dans GRUB. Pour voir la liste des fonts chargés, exécuter lsfonts. S'il y a trop de font pour tenir dans l'écran, définir set pager=1 avant lsfonts.

Progress Bar

   Les barres de progression sont utilisées pour afficher le temps restant avant que GRUB boot sur l'entrée par défaut. Pour créer une barre de progression qui va afficher le temps restant, simplement créer un composant progress_bar avec l'id __timeout__. Celà indique à GRUB que la progress bar devrait être mis à jours si le compteur du boot automatique est intérrompu par l'utilisateur.

   Les barres de progression peuvent optionnellement avoir un texte affiché. Ce texte est contrôlé par la variable text qui contient un template printf avec le seul argument %d qui est le nombre de secondes restants. Additionnellement les valeurs spéciales “@TIMEOUT_NOTIFICATION_SHORT@”, “@TIMEOUT_NOTIFICATION_MIDDLE@”, “@TIMEOUT_NOTIFICATION_LONG@” sont remplacées avec les templates standard et traduits.

Indicateur de progression circulaire

   L'indicateur de progression circulaire fonctionne de manière similaire à la progress bar. en donnant un id de __timeout__, GRUB met à jours l'indicateur de progression circulaire pour indiquer le temps restant. pour cet indicateur, il y a 2 images utilisées: l'image au centre, et l'image de tick. L'image du centre est rendue au centre du composant, et l'image tick est utilisée pour rendre chaque marque à la circomférence de l'indicateur.

Labels

   Les labels texte peuvent être placés sur l'écran de boot. La font, couleur et alignement horizontale peuvent être spécifiés pour les labels. Si un label a l'id __timeout__, le text pour ce label est également utilisé avec un message informant l'utilisateur du nombre de secondes restant jusqu'au boot automatique. C'est utile dans le acs où vous souhaitez que le texte soit affiché au lieu d'une progress bar.

Boot Menu

   Le menu de boot où GRUB affiche les entrées de menu. C'est une liste d'éléments, où chaque élément a un titre, et un icône optionnel. L'icône est sélectionné basésur les classes spécifiée pour l'entrée du menu. Si il y a un fichier png nommé myclass.png dans grub/themes/icons, il sera affiché pour les éléments ayant cette classe. Le menu de boot peut être personnalisé de différentes manières, tels que la font et la couleur utilisé pour le titre de l'entrée de menu, et en spécifiant de boites stylisés pour le menu lui-même, et pour l'élement sélectionné.

Boites stylisées

Une de fonctionnalité les plus importantes pour personnalisés la couche est d'utiliser des boites stylisés, composés de 9 régions rectangulaires, qui sont utilisés pour dessiner les boites.
Northwest (nw)    North (n)    Northeast (ne)
West (w)    Center (c)    East (e)
Southwest (sw)    South (s)    Southeast (se)

Fichier de thème

   Le fichier de thème est un fichier texte, qui contient 2 types de déclarations, Les propriétés globales, et la construction de composant.

Les propriétés globales sont spécifiées avec le format simple:
name1: value1
name2: "valeur qui peut contenir des espaces"
name3: #88F

Liste de propriétés globles

title-text Spécifie le texte à afficher en haut de l'écran
title-font Font utilisée pour le titre
title-color Couleur du titre
message-font font à utiliser pour les messages
message-color Couleurs pour les messages
message-bg-color couleur de fond
desktop-image Image à utiliser comme fond
desktop-color Couleur pour le fond si desktop n'est pas spécifié
terminal-box Spécifie le motif de nom de fichier pour la boite stylisée.

Construction

   Une plus grande personnalisation est fournie par des composants. Une arborescence de composants forment l'interface utilisateur. Les conteneurs sont des composants qui peuvent contenir d'autres composants, et il y a toujours un composant root qui est une instance d'un conteneur caneva.

Les composant sont créés dans le fichier thème en préfixant le type de composant avec le signe +:
+ label { text="GRUB" font="aqui 11" color="#8FF" }

   Les propriétés d'un composant sont spécifiés avec "name=value", où value peut être un simple mot, un chaîne entre guillemets, ou un tuple "(ex: preferred_size=(120,80)"

Liste de composants

label Un label affiche une ligne de texte. Propriétés:

        id À "__timeout__" pour afficher le temps passé pour booter sur l'entrée par défaut.
        text Le texte à afficher
        font La font à utiliser
        color La couleur du texte
        align left, center et right
        visible À false permet de cacher le label.

image Affiche une image. Propriétés:

        file Chenin de l'image à charger

progress_bar Affiche une barre horizontale de progression. Propriétés

        id À "__timeout__" pour afficher le temps passé pour booter sur l'entrée par défaut.
        fg_color couleur de devant pour le rendu
        bg_color couleur de fond pour le rendu
        border_color La couleur de bordure pour le rendu
        text_color Couleur du texte
        bar_style La spécification de la boite stylisée pour la barre de progression.
        highlight_style La spécification de boite stylisée pour la région survolée de la barre de progression.
        highlight_overlay À true, la highlight box est affichée par dessus.
        text Le texte à afficher sur la barre de progression.
        font font à utiliser

circular_progress Affiche un indicateur de progression circulaire. L'apparence de ce composant est déterminé par 2 images. Propriétés:

        id À "__timeout__" pour afficher le temps passé pour booter sur l'entrée par défaut.
        center_bitmap Nom de l'image au centre
        tick_bitmap Nom de l'image de tick
        num_ticks Nombre de ticks qui sont créés dans un cercle complet
        ticks_disappear booléen indiquant si les ticks apparaîssent ou disparaissent progressivement.
        start_angle Position du premier tick, mesuré en "parrot" (1 parrot = 1/256 du cercle complot.)

boot_menu Affiche le menu de boot GRUB. il permet de sélectionner les éléments et de les exécuter. propriétés:

        item_font font à utiliser pour les items de menu
        selected_item_font Font à utiliser pour l'élément sélectionné
        item_color Couleur du texte
        selected_item_color Couleur du texte de l'élément séléctionné
        icon_width Largeur de l'icône
        icon_height Hauteur de l'icône
        item_height Hauteur de chaque élément du menu
        item_padding Espace en pixels à laisser de chaque côté du contenu de l'élément du menu
        item_icon_space L'espace entre un icône et le texte, en pixels
        item_spacing Espace à laisser entre les éléments du menu, en pixel
        menu_pixmap_style Motif de fichier pour la boite stylisée.
        selected_item_pixmap_style Boite stylisée pour l'élement sélectionné
        scrollbar booléen indiquant si la barre de défilement est affichée
        scrollbar_frame Motif de fichier pour le fond de la barre de défilement.
        scrollbar_thumb Motif de fichier pour la barre de défilement.
        scrollbar_thumb_overlay À true, le scrollbar thumb des bords s'affichent par dessus la scrollbar frame.
        scrollbar_slice Emplatement de la barre de défilement (west, center, east)
        scrollbar_left_pad padding à gauche, en pixel
        scrollbar_right_pad padding à droite, en pixel
        scrollbar_top_pad Padding en haut, en pixel
        scrollbar_bottom_pad padding en bas, en pixel
        visible À false permet de cacher la barre de progression

booter grub depuis le réseau

Les instructions suivantes fonctionnent seulement sur les systèmes PC BIOS où l'environnement PXE est disponible.
Pour générer une image PXE, lancer:
grub-mkimage --format=i386-pc-pxe --output=grub.pxe --prefix='(pxe)/boot/grub' pxe pxecmd

   copier grub.pxe, /boot/grub/*.mod et /boot/grub/*.lst sur le serveur TFTP, s'assurant que *.mod et *.lst sont accessibles via le chemin /boot/grub depuis les serveur TFTP. définir la configuration du serveur DHCP pour offrir grub.pxe comme fichier de boot.

   On peut également utiliser l'utilitaire grub-mknetdir pour générer une image et un répertoire GRUB, au lier de copier les fichiers manuellement.

   Une fois GRUB démarré, les fichiers sur le serveur TFTP sera accessible via le périphérique pxe.

   L'adresse ip du serveur et de la passerrelle peuvent être contrôlés en changeant le périphérique (pxe) en (pxe:server-ip) ou (pxe:server-ip:gateway-ip).

   GRUB fournis de nombreuses variables d'environnements qui peuvent être utilisée pour inspecter ou changer le comportement du périphérique PXE:

net_‹interface›_ip L'adresse IP de cette machine. Lecture seule
net_‹interface›_mac L'adresse MAC de l'interface réseau. Lecture seule
net_‹interface›_hostname Le nom d'hôte du client fournis par DHCP. Lecture seule.
net_‹interface›_domain Nom de domaine du client fournis par DHCP. Lecture seule.
net_‹interface›_rootpath Le chemin du disque root du client, fournis par DHCP. Lecture seule.
net_‹interface›_extensionspath Le chemin d'extensions de vendeur DHCP additionnels fournis par DHCP. Lecture seule
net_‹interface›_boot_file Nom du fichier de boot fournis pas DHCP. Lecture seule.
net_‹interface›_dhcp_server_name Le nom du serveur DHCP responsable pour ces paramètres de boot. Lecture seule.
net_default_ip L'adresse IP de l'interface par défaut. Lecture seule. alias de net_${net_default_interface}_ip
net_default_mac L'adresse mac de l'interface par défaut. Lecture seule. alias de net_${net_default_interface}_mac
net_default_server Le serveur par défaut. Lecture écriture

Utilitser GRUB via une ligne série

   Pour les machines sans écran/clavier, il peut être utile de contrôler via des communications série. Pour connecter une machine avec un autre via une ligne série, il faut préparer un cable série, et avoir une carte série multiport. De plus, un émulateur de terminal est également requis, tels que minicom.

Comme pour GRUB, l'instruction pour définir un terminal série et simple. Exemple:
serial --unit=0 --speed=9600
terminal_input serial; terminal_output serial

   La commande serial initialise la série, COM1. Cette commande accepte de nombreuses options. Les commandes terminal_input et terminal_output choisissent quel type de terminal utiliser.

Utiliser GRUB avec des touches de mise en route

Certains vendeurs de laptop fournissent un bouton power-on additionnel qui boot un autre OS. GRUB supporte de tels boutons avec les variables GRUB_TIMEOUT_BUTTON, GRUB_DEFAULT_BUTTON, GRUB_HIDDEN_TIMEOUT_BUTTON and GRUB_BUTTON_CMOS_ADDRESS dans default/grub. Les valeurs connue sont :
Dell XPS M1530
85:3
Asus EeePC 1005PE
84:1

Fichiers image GRUB

   GRUB consiste de nombreuses images: une variété d'image de boot pour démarrer GRUB de différentes manières, une image kernel, et un jeu de modules qui sont combinés avec l'image kernel pour former l'image core.

boot.img Sur les systèmes PC BIOS, cette image est la première partie de GRUB à démarrer. Elle est écrite dans un MBR ou sur le secteur de boot d'une partition. Parce que le secteur de boot PC fait 512 octets, la taille de cette image fait exactement 512 octets. La seule fonction de boot.img est de lire le premier secteur de l'image core depuis le disque local, et de sauter dessus. À cause de la restriction de la taille, boot.img ne peut pas comprendre la structure d'un système de fichier, donc grub-setup code en dur l'emplacement du premier secteur de l'image core dans boot.img en installant GRUB.
diskboot.img Cette image est utilisée comme premier secteur de l'image core en bootant depuis un disque dur. Elle lit le reste de l'image core en mémoire et démarre le kernel. Vu que la gestion du système de fichier n'est pas encore disponible, il encode l'emplacement de l'image core en utilisant un format de liste de blockes
cdboot.img Cette image est utilisée comme premier secteur de l'image core en bootant depuis un CD-ROM.
pxeboot.img Cette image est utilisée comme début de l'image core en bootant depuis le réseau en utilisant PXE.
lnxboot.img Cette images peut être placée comme début de l'image core pour que GRUB ressemble à un kernel liste qui peut être booté par LILO.
kernel.img Cette image contient les facilités basiques de GRUB: frameworks pour les périphériques et gestion des fichiers, variables d'environnement, mode récupération, etc. Elle est rarement utilisée directement, mais intégré dans toutes les images core.
core.img L'image core de GRUB. Elle est construite dynamiquement depuis d'image kernel et une liste arbitraire de modules par le programme grub-mkimage. Généralement, elle contient suffisamment de modules pour accéder à /boot/grub, et charger tout le reste. Le design modulaire permet à l'image core d'être conservée petite, vu que la zone disque où elle doit résider fait souvent moins de 32Ko.
*.mod Tout le reste de GRUB réside dans des modules. Ils sont souvent chargés automatiquement, ou intégrés dans l'image core s'ils sont essentiels, mais peuvent également être chargés manuellement en utilisant insmod.

Syntaxe et sémantiques de système de fichiers

   GRUB utilise une syntaxe spéciale pour spécifier les disques qui peuvent être accédés par le BIOS. À cause de la limitation des BIOS, GRUB ne peut pas distinguer les disques IDE, ESDI, SCSI, et d'autres. Vous devez connaître quel périphérique BIOS est équivalent à quel périphérique OS. Normalement, cela devrait être clair si les fichiers sont visible dans un périphérique ou en utilisant la commande search.

Comment spécifier les périphériques

La syntaxe de périphérique est la suivante:
(device[,partmap-name1part-num1[,partmap-name2part-num2[,...]]])

Les disques BIOS et EFI utilisent soit fd ou hd suivis par un chiffre, comme fd0 ou cd. AHCI, PATA, crypto, USB utilisent le nom du pilote suivi par un nombre. Memdisque et host sont limités à un disque et donc son référrés juste par le nom du pilote. RAID(md), ofdisk(ieee1275 et nand), LVM(lv), LDM et arcdisq (arc) utilisent un nom de disque intrinsèque du disque aliasé comme nand. Les conflit sont résolus en suffixant un nombre si nécessaire. Les virgules doivent être échappés:
(fd0)
(hd0)
(cd)
(ahci0)
(ata0)
(crypto0)
(usb0)
(cryptouuid/123456789abcdef0123456789abcdef0)
(mduuid/123456789abcdef0123456789abcdef0)
(lvm/system-root)
(lvmid/F1ikgD-2RES-306G-il9M-7iwa-4NKW-EbV1NV/eLGuCQ-L4Ka-XUgR-sjtJ-ffch-bajr-fCNfz5)
(md/myraid)
(md/0)
(ieee1275/disk2)
(ieee1275//pci@1f\,0/ide@d/disk@2)
(nand)
(memdisk)
(host)
(myloop)
(hostdisk//dev/sda)

   part-num représente le numéro de partition de device, commençant à 1. partname est optionnel mais est recommandé vu que le disque peut avoir de nombreux partmaps top-level. En spécifiant le 3ème et dernier composant on peut accéder aux sous-partitions.

La syntaxe (hd0) représente utilisant tout le disque, alors que la syntaxe (hd0,1) représente l'utilisation de la première partition du disque.
(hd0,msdos1)
(hd0,msdos1,msdos5)
(hd0,msdos1,bsd3)
(hd0,netbsd1)
(hd0,gpt1)
(hd0,1,3)

   En activant le support réseau (tftp) , (http) et autre sont également disponibles. Avant d'utiliser le disque réseau, il faut initialiser le réseaux. En bootant sur un cdrom, (cd) est disponible.

Comment spécifier des fichiers

   Il y a 2 manières de spécifier des fichiers, par nom de fichier absolue, et par liste de block.

   Un nom de fichier absolue a la forme (hd0,1)/boot/grub/grub.cfg. Si le nom du périphérique est omis, GRUB utilise le périphérique root implicitement.

Une liste de blocks est utilisée pour spécifier un fichie qui n'apparaît pas dans le système de fichier, comme un chainloader. La syntaxe est [offset]+length[,[offset]+length]... par exemple:
0+100,200+1,300+300

   Cela signifie que GRUB devrait lire les blocks 0 à 99, le block 200, et les blocks 300 à 599. Si l'offset est absent, GRUB assume que l'offset est 0. De même, si le nom du périphérique est absent, le périphérique root est assumé.

Interface utilisateur de GRUB

   GRUB a une interface de menu simple pour choisir une entrée depuis un fichier de configuration, et une ligne de commande. GRUB lit son fichier de configuration dès qu'il l'a chargé. S'il en trouve un, l'interface à menu est activée en utilisant les entrées trouvées dans le fichier. Avec la ligne de commande, ou si le fichier de configuration n'a pas été trouvé, GRUB passe sur l'interface en ligne de commande.

   L'interface en ligne de commande fournis un prompt similaire à un shell Unix. Chaque commande est immédiatement exécutée après qu'elle soit entrée. Les commandes sont un sous-jeu de celles disponible dans le fichier de configuration, utilisée avec la même syntaxe.

   Le mouvement du curseur et l'édition du text sur la ligne peut être fait via un sous-jeu de fonctions disponible dans le shell BASH:

C-f (flèche droite) Déplacer d'un caractère en arrière
C-b (flèche gauche) Déplace d'un caractère en avant
C-a (HOME) Déplacer au début de la ligne
C-e (END) Déplace à la fin de la ligne
C-d (DEL) Supprimer le caractère sous le curseur
C-h (BS) Supprimer le caractère à gauche du curseur
C-k Supprimer le texte de la position courant à la fin de la ligne
C-u Supprimer le texte du début de la ligne à la position du curseur
C-y Placer le texte supprimé dans le tampon au curseur
C-p, C-n (flèche du haut/bas) De déplacer dans l'historique

   En tapant des commande interactivement, si le curseur et dans ou avant le premier mot dans la ligne de commande, la touche TAB affiche un listing des commandes disponible, ou la completion des disques, partitions, et noms de fichiers.

   Noter qu'on ne peut pas utiliser la fonctionnalité de completion dans le système de fichier TFTP.

   L'interface à menu est facile à utiliser. ses commande sont raisonnablement intuitives et décrites à l'écran. Basiquement, l'interface à menu fournis une liste d'entrées de boot. Utiliser les touches fléchées pour sélectionner l'entrée, puis appuyer sur entrer pour valider le choix

   Les commandes sont disponible pour entrer une ligne de commande en appuyant sur 'c' qui opèrent exactement comme la version sans fichier de configuration de GRUB, mais permet de retourner au menu si désiré en appuyant sur échappe.

   En protégeant l'interface avec un mot de passe, tout ce que l'on peut faire est de choisir une entrée avec entrer ou appuyer sur p pour entrer un mot de passe.

Éditer une entrée de menu

   L'éditeur d'entrée de menu ressemble à l'interface à menu principale, mais les lignes dans le menu sont des commandes individuelles dans l'entrée sélectionnée au lieu des noms de l'entrée.

   Si échappe est pressé dans l'éditeur, il annule tous les changement faits sur l'entrée et retourne dans le menu principal.

   Chaque ligne dans l'entrée de menu peut être édité librement, et on peut également ajouter des lignes. Pour booter sur l'entrée éditée, utiliser Ctrl+x.

Variables d'environnement GRUB

   GRUB supporte les variables d'environnement qui sont similaires aux système UNIX

biosnum En chaînant un autre chargeur de boot, GRUB a besoin de connaître quel numéro de disque BIOS correspond au périphérique root pour qu'il puisse être enregistré correctement. Si cette variable n'est pas définie, GRUB le devine.
check_signatures Contrôle si GRUB force la signature numérique au chargement des fichiers.
chosen En exécutant une entrée du menu, GRUB définis cette variable au titre de cette entrée.
cmdpath L'emplacement depuis lequel core.img a été chargé, en chemin absolue. Définis par GRUB au démarrage.
color_highlight Cette variable contient les couleurs de terminal foreground et background, séparé par un '/'. Définir cette variable change ces couleurs. Défaut: 'black/white'
color_normal Cette variable contient les couleurs normales foreground et background, séparés par un '/'. Chaque couleur doit être un nom parmis black, blue, green, cyan, red, magenta, brown, light-gray, dark-gray, light-blue, light-green, light-cyan, light-red, light-magenta, yellow, white. défaut: white/black
debug Cette variable peut être mis pour activer le debuggage de différents composants de GRUB. Contient une liste de facilités, ou all.
default Si cette variable est définie, elle identifie une entrée du menu qui devrait être par défaut. Peut être identifier par un numéro ou un titre.
fallback Si définie, identifie une entrée de menu qui devrait être sélectionnée si l'entrée par défaut échoue.
gfxmode Si définie, indique la résolution utilisée dans le terminal graphique gfxterm. Noter qu'il n'est possible d'utiliser que les modes VESA BIOS Extensions (VBE). défaut: auto.
gfxpayload contrôle le mode vidéo dans lequel Linux démarre. Remplace l'option de boot vga=. peut être 'text' pour forcer linux à booter en mode texte normal, 'keep' pour préserver le mode graphique définis avec gfxmode, ou une des valeurs permises pour gfxmode.
gfxterm_font nom d'une font à utiliser pour le texte dans le terminal graphique gfxterm.
grub_cpu En mode normal, GRUB définis cette variable au type de CPU pour lequel GRUB a été construit.
grub_platform En mode normal, GRUB définis cette variable à la platform pour laquelle GRUB a été construit (ex: pc ou efi)
icondir Répertoire dans lequel le menu graphique GRUB devrait rechercher les icônes, après avoir recherché dans le répertoire 'icons'
lang code de langue que la commande gettext utilise pour traduire les chaînes.
locale_dir Répertoire où trouver les fichiers de traduction, généralement /boot/grub/locale. sinon, l'internationnalisation est désactivée.
menu_color_highlight Contient les couleurs foreground et background à utiliser pour les entrées de menu sélectionnés, séparés par un '/'.
menu_color_normal Contient les couleurs à utiliser pour les entrée non-sélectionnés
net_* Voir la partie réseaux
pager À 1, pause la sortie après chaque écran plein et attend une entrée clavier.
prefix L'emplacement du répertoire /boot/grub. Normalement définis par GRUB
root Nom du périphérique root
superusers liste de noms de superutilisateurs pour activer le support de l'authentification
theme Répertoire contenant un theme graphique
timeout Spécifie le temps en seconde à attendre une entrée clavier avant de booter l'entrée par défaut. 0 indique de booter immédiatement, et -1, attend indéfiniment.
timeout_style Peut être menu, countdown, ou hidden.

Block d'environnement GRUB

   Il est souvent utile de se rappeler d'un boot à l'autre. Par exemple, l'entrée par défaut peut être celle sélectionnée la dernière fois. GRUB n'implémente pas délibérément le support pour écrire des fichiers afin de minimiser les risques de corruption des systèmes de fichier. Cependant, GRUB fournis un block d'environnement qui peut être utilisé pour sauver une petite quantité d'états.

   Le block d'environnement est un fichie 1024 octets préalloués, qui vis dans /boot/grub/grubenv. Au boot, load_env charge les variables depuis ce fichier, et save_env sauve les variables dans ce fichier. grub-editenv peut être utilisé pour éditer le block d'environnement.

   Pour des raisons de sécurité, ce stockage est seulement disponible si installé sur un simple disque (ni LVM ou RAID), en utilisant un système de fihier sans checksum (pas de ZFS), et en utilisant des fonction BIOS ou EFI (pas de ATA, USB ou IEEE1275).

   grub-mkconfig utilise cette facilité pour implémenté GRUB_SAVEDEFAULT

Liste de commandes disponible

   Les commandes appartiennent à différents groupes. Quelques commandes peuvent être utilisées dans la section globale du fichier de configuration (ou menu). La plupart d'entre-elles peuvent être entrée sur la ligne de commande et peut être utilisée soit dans le menu ou spécifiquement dans les entrées du menu.

   En mode récupération, seul insmod, ls, set, et unset sont normalement disponibles.

Commandes pour le menu uniquement

   Les sémantiques utilisées pour parser le fichier de configuration sont les suivantes:

- Les fichiers doivent être au format plain-text
- Les options sont séparés par des espaces
- Tous les nombres peuvent être en décimal ou en hexadécimal.
Ces commandes peuvent être seulement être utilisés dans le menu:


menuentry title [--class=class ...][--users=users][--unrestricted][--hotkey=key]{command;...} Définie une entrée du menu nommée title. --class peut être spécifié plusieurs fois, et est utilisée par les thèmes pour afficher différentes classes en utilisant différents styles. --users donne aux utilisateurs spécifiques l'accès à l'entrée. --unrestricted donne accès à tous les utilisateurs. --hotkey associe une touche avec l'entrée, ou 'backspace, tab ou delete.
submenu title [--class=class ...][--users=users][--unrestricted][--hotkey=key]{command;...} Définis un sous-menu.

   Liste des commandes générales, utilisée dans le menu et sur la ligne de commande:

serial [--unit=unit] [--port=port] [--speed=speed] [--word=word] [--parity=parity] [--stop=stop] Initialise un périphérique série. unit est un nombre de 0 à 3. Le port série n'est pas utilisé sauf si les commandes terminal_input et terminal_output sont utilisés.
terminal_input [--append|--remove] [terminal1] [terminal2] … Sélectionne un terminal d'entrée. Sans argument, liste les terminaux actifs et disponibles. --append ajoute les terminaux nommés à la liste de terminaux actifs. --remove supprime les terminaux nommés de la liste active.
terminal_output [--append|--remove] [terminal1] [terminal2] … Identique à terminal_output, mais pour les terminaux se sortie
terminfo [-a|-u|-v] [term] Définis les capacités de votre terminal en donnant le nom d'une entrée dans la base terminfo, qui devrait correspondre à une variable d'environnement TERM dans Unix. "vt100", "vt100-color", "ieee1275", et "dumb". Les options -a (--ascii), -u (--utf8), et -v (--visual-utf8) contrôlent comment le text non-ASCII est affiché.

   Liste des commande utilisable sur la ligne de commande et dans les entrées de menu

[ Alias de test
acpi [-1|-2] [--exclude=table1,…|--load-only=table1,…] [--oemid=id] [--oemtable=table] [--oemtablerev=rev] [--oemtablecreator=creator] [--oemtablecreatorrev=rev] [--no-ebda] filename … Les systèmes BIOS modern implémentent ACPI, et définissent diverses tables qui décrivent l'interface entre un OS conforme ACPI et le firmware. Dans certains cas, les tables fournies par défaut ne fonctionnent qu'avec certains OS, et il peut être nécessaire de les remplacer. Cette commande va remplacer le Root System Description Pointer (RSDP) dans le Extended BIOS Data Area pour pointer vers de nouvelles tables. Si --no-ebda est utilisé, les nouvelles tables seront connues uniquement de GRUB, mais peut être utilisé par l'émulation EFI de GRUB.
authenticate [userlist] Vérifie l'utilisateur dans userlist ou listé dans la variable superusers.
background_color color Définis la couleurs de fond pour le terminal actif. Ne peut être changé qu'en utilisant gfxterm
background_image [[--mode ‘stretch’|‘normal’] file] Charge l'image de fond pour le terminal actif depuis le fichier spécifié. Uniquement en utilisant gfxterm
badram addr,mask[,addr,mask...] Filtrer la mémoire endommagée. La syntaxe est la même que fournie par l'utilitaire memtest86+
blocklist file Affiche une liste de block pour le fichier donné.
boot La commande boot démarre un OS ou un chain-loader qui a été chargé.
cat [--dos] file Affiche le contenu d'un fichier. Si --dos est utilisé, les CR/NL sont affiché comme simple nouvelle ligne.
chainloader [--force] file Charge le fichier comme chain-loader. --force charge le fichier même si la signature est incorrect.
clear Éfface l'écran
cmosclean byte:bit Efface la varleur d'un bit dans le CMOS.
cmosdump contents Dump le contenu du CMOS en valeurs hexadécimal.
cmostest byte:bit Test la valeur d'un bit dans le CMOS.
cmp file1 file2 Compare 2 fichiers.
configfile file Charge le fichier de configuration spécifié, puis affiche le menu.
cpuid [-l] Vérifie les fonctionnalités CPU. Cette commande est seulement disponible sur les systèmes x86. -l retourne vrai si le CPU supporte le mode long (64-bits)
crc file Affiche le checksum CRC32 du fichier
cryptomount device|-u uuid|-a|-b Définis l'accès à un périphérique chiffré. -a monte tous les périphérique chiffrés détectés. GRUB supporte les disques chiffrés en utilisant LUKS et geli.
date [[year-]month-day] [hour:minute[:second]] Sans argument, affiche l'heure et la date courante. Sinon prend la date et l'heure courante, change un élément spécifié et définis le résultat comme nouvelle date et heure.
devicetree file Charge le dtb depuis un système de fichier, pour le passer à Linux.
distrust pubkey_id Supprime la clé publique donnée du jeu de clé de GRUB. pubkey_id est les 4 derniers octets en hexa de l'id de clé GPG v4, qui est également la sortie de list_trusted. L'id de clé peut être obtenu avec gpg --fingerprint. Ces clés sont utilisées pour valider les signatures.
drivemap -l|-r|[-s] from_drive to_drive Sans option, map le lecteur from_drive au lecteur to_drive. C'est nécessaire pour chain-load certains OS, comme DOS. -s inverse le mappage, inversant 2 disques. -l liste les mappages courant. -r réinitialise tous les mappages
echo [-n] [-e] string … Affiche le texte demandé et, sauf si l'option -n est utilisée, une nouvelle ligne. -e autorise l'interprétation des caractères échappé.
eval string ... Concatène les arguments ensemble en utilisant un simple espace comme séparateur et évalue de résultat comme séquence de commandes GRUB.
export envvar Exporte la variable d'environnement envvar. Les variables exportée sont visible aux fichiers de configurations chargés avec configfile
false Ne fait rien, se termine avec un code de sortie false
gettext string Traduit la chaîne donnée dans la langue courante. La langue courant est stockée dans la variable lang.
gptsync device [partition[+/-[type]]]... Les disques utilisant une table de partition GUID ont également une table de partition MBR pour compatibilité avec le BIOS et avec d'anciens OS. Les MBR peut seulement représenter un sous-jeu limité d'entrées de partitions GPT. Cette commande popule le MBR avec les entrées de partition spécifiés sur le périphérique. Jusqu'à 3 partitions peuvent être utilisée. 'type' est un code de type de partition MBR, [+/-] rend la partition active ou non.
halt --no-apm arrête l'ordinateur. Si l'option --no-apm est spécifiée, aucun appel APM n'est effectué. Sinon, l'ordinateur est éteint en utilisant APM.
hashsum --hash hash --keep-going --uncompress --check file [--prefix dir]|file … Calcule ou vérifie les hashes des fichier. (adler32, crc64, crc32, crc32rfc1510, crc24rfc2440, md4, md5, ripemd160, sha1, sha224, sha256, sha512, sha384, tiger192, tiger, tiger2, whirlpool.
help [pattern ...] Affiche des informations sur les commandes intégrées.
initrd file Charge le ramdisk initial pour une image kernel Linux et définis les paramètres appropriés dans la zone de configuration de Linux. Peut seulement être spécifiée après la commande linux.
initrd16 file Identique, mais pour un ramdisk initiale en mode 16bits.
insmod module Charge un module GRUB
keystatus [--shift][--ctrl][--alt] Retourne true si les touches Shift, Control, ou Alt sont enfoncée, comme requis par les options. Utile dans les scripts pour permettre un certain contrôle utilisateur sur le comportement sans avoir à attendre une touche.
linux file Charge l'image Linux. Le reste de la ligne de commande est passée telle quelle au kernel.
linux16 file Idem mais charge un kernel en mode 16bits.
list_env -f file Liste toutes les variables dans le fichier block d'environnement. -f écrase l'emplacement par défaut du block d'environnement.
load_env -f file Charge toutes les variables depuis le fichier block d'environnement dans l'environnement.
loadfont file Charge les fonts spécifiées.
loopback -d device file Charge le contenu d'un fichier comme périphérique. -d pour le supprimer. ex loopback loop0 /path/to/image; ls (loop0)/
ls [arg ...] Liste des périphériques ou fichiers.
lsfonts Liste les fonts chargées
lsmod Liste les modules chargés
md5sum alias de hashsum --hash md5 arg …
module [--nounzip] file [arguments] Charge un module pour l'image kernel multiboot. Le reste de la ligne est passé comme ligne de commande du module.
multiboot [--quirk-bad-kludge] [--quirk-modules-after-kernel] file … Charge l'image kernel multiboot depuis le fichier spécifié. Le reste de la ligne est passé au kernel comme ligne de commande.
nativedisk switch d'un pilote de disque firmware à un natif.
normal [file] Entre en mode normal et affiche le menu GRUB. En mode normal, les commandes, modules de système de fichier, et modules cryptographique sont automatiquement chargés, et le parser de script GRUB est disponible. Si un fichier est donné, les commandes seront lues depuis ce fichier, sinon elles sont lues depuis $prefix/grub.cfg, s'il existe.
normal_exit sort du mode normal. Si cette instance du mode normal n'a pas été imbriqué dans un autre, retourne en mode rescue.
parttool partition commands Effectue diverses modifications des entrées de la table de partition. Chaque command est soit un booléen, auquel cas il doit être suivi avec + ou -, pour activer ou désactiver cette option, ou peut prendre une valeur sous la forme command=value.
password user clear-password Définir un utilisateur nommé user avec le mot de passe donné.
password_pbkdf2 user hashed-password Définis un utilisateur nommé user avec le mot de passe hashé. Utiliser grub-mkpasswd-pbkdf2 pour générer des hashs de mot de passe.
play file | tempo [pitch1 duration1][pitch2 duration2]... Jouer un son. Si l'argument est un nom de fichier, joue le fichier.
probe [--set var] --driver|--partmap|--fs|--fs-uuid|--label device Récupère des informations de périphérique. --set assigne le résultat à la variable var, sinon affiche l'information à l'écran.
pxe_unload Décharge l'environnement PXE.
read [var] Lit une ligne d'entrée de l'utilisateur. Si une variable var est donnée, définis cette variable d'environnement.
reboot Redémarre la machine
regexp [--set [number:]var] regexp string Test si l'expression régulière matche la chaîne.
rmmod module Supprime un module chargé
save_env [-f file] var ... Sauve les variables nommée depuis l'environnement dans le fichier block d'environnement.
search [--file|--label|--fs-uuid] [--set [var]] [--no-floppy] name Recherche des périphérique par fichier (-f, --file) label de système de fichier (-l, --label), ou UUID de système de fichier (-u, --fs-uuid). Avec --set, la variable var est définis avec le premier périphérique trouvé. La variable par défaut est root. --no-floppy empêche de recherche les périphérique disquette. les commandes search.file, search.fs_label, et search.fs_uuid sont des alias de search --file, search --label, et search --fs-uuid, respectivement.
sendkey [--num|--caps|--scroll|--insert|--pause|--left-shift|--right-shift|--sysrq|--numkey|--capskey|--scrollkey|--insertkey|--left-alt|--right-alt|--left-ctrl|--right-ctrl ‘on’|‘off’]… [no-led] keystroke Insert des touches dans le tampon clavier en bootant. certains OS ou chain-loader nécessitent que des touches particulières soient pressées pour entrer en mode safe. Jusqu'à 16 touches peuvent être fournis. Les noms des touches peuvent être:

Name   Key
escape            Escape
exclam            !
at            @
numbersign            #
dollar            $
percent            %
caret            ^
ampersand            &
asterisk            *
parenleft            (
parenright            )
minus            -
underscore            _
equal            =
plus            +
backspace            Backspace
tab            Tab
bracketleft            [
braceleft            {
bracketright            ]
braceright            }
enter            Enter
control            press and release Control
semicolon            ;
colon            :
quote            ’
doublequote            "
backquote            ‘
tilde            ~
shift            press and release left Shift
backslash            \
bar            |
comma            ,
less            ‹
period            .
greater            ›
slash            /
question            ?
rshift            press and release right Shift
alt            press and release Alt
space            space bar
capslock            Caps Lock
F1            F1
F2            F2
F3            F3
F4            F4
F5            F5
F6            F6
F7            F7
F8            F8
F9            F9
F10            F10
F11            F11
F12            F12
num1            1 (numeric keypad)
num2            2 (numeric keypad)
num3            3 (numeric keypad)
num4            4 (numeric keypad)
num5            5 (numeric keypad)
num6            6 (numeric keypad)
num7            7 (numeric keypad)
num8            8 (numeric keypad)
num9            9 (numeric keypad)
num0            0 (numeric keypad)
numperiod            . (numeric keypad)
numend            End (numeric keypad)
numdown            Down (numeric keypad)
numpgdown            Page Down (numeric keypad)
numleft            Left (numeric keypad)
numcenter            5 with Num Lock inactive (numeric keypad)
numright            Right (numeric keypad)
numhome            Home (numeric keypad)
numup            Up (numeric keypad)
numpgup            Page Up (numeric keypad)
numinsert            Insert (numeric keypad)
numdelete            Delete (numeric keypad)
numasterisk            * (numeric keypad)
numminus            - (numeric keypad)
numplus            + (numeric keypad)
numslash            / (numeric keypad)
numenter            Enter (numeric keypad)
delete            Delete
insert            Insert
home            Home
end            End
pgdown            Page Down
pgup            Page Up
down            Down
up            Up
left            Left
right            Right

set [envvar=value] Définis la variable envvar à la valeur spécifiée. Sans argument, affiche les variables d'environnement
sha1sum Alias de hashsum --hash sha1 arg …
sha256sum Alias de hashsum --hash sha256 arg …
sha512sum Alias de hashsum --hash sha512 arg …
sleep [--verbose] [--interruptible] count Attend count seconde. --interruptible permet à ESC d'intérompre. --verbose affiche un décompte.
source file Lit le fichier comme fichier de configuration, et son conteneu est incorporé directement dans le fichier source. À la différence de configfile, exécute le contenu du fichier sans changer le contexte.
test expression Évalue l'expression et retourne un code de sortie. Similaire à la commande test de bash.
true Ne fait rien, retourne true.
trust [--skip-sig] pubkey_file Lit la clé publique et l'ajoute au jeu de clé de GRUB.
unset envvar Indéfinis la variable d'environnement donnée
uppermem Cette commande n'est pas encore implémentée
verify_detached [--skip-sig] file signature_file [pubkey_file] Vérifie une signature détaché style GPG du fichier donné.
videoinfo [[WxH]xD] Liste les modes vidéo disponibles.
net_add_addr interface card address Ajoute une adresse réseau
net_add_dns server Ajoute un serveur DNS
net_add_route shortname ip[/prefix] [interface | ‘gw’ gateway] Ajoute une route
net_bootp [card] Effectue une autoconfiguration bootp
net_del_addr interface Supprime une adresse IP de l'interface
net_del_dns address Supprime un serveur DNS
net_del_route shortname Supprime une route
net_get_dhcp_option var interface number type Récupère les options DHCP
net_ipv6_autoconf [card] Effectue une autoconfiguration IPv6
net_ls_addr Liste les interfaces
net_ls_cards Liste les cartes réseaux
net_ls_dns Liste les serveurs DNS
net_ls_routes Liste les routes
net_nslookup name [server] Effectue des recherches DNS

Jeux de caractères

   GRUB utilise UTF-8 en interne. Tous les fichiers texte, incluant les configuration, sont supposés être encodés en UTF-8.

  GRUB supporte la traduction. Pour cela il faut avoir des fichiers *.mo dans $prefix/locale, charger le module gettext et définir la variable lang.

Authentification et autorisation

   Par défaut, l'interface est accessible à tout le monde avec un accès physique à la console: tout le monde peut sélectionner et éditer une entrée du menu, et tout le monde a un accès directe à un prompt shell. Pour la plupart des systèmes, c'est raisonnable vu qu'avec un accès physique il existe d'autres manière d'avoir un accès complet.

   Cependant, dans certains environnements, tels que les kiosques, il peut être approprié de bloquer le boot loader pour exiger une authentification avant d'effectuer certaines opérations.

   Les commandes password et password_pbkdf2 peuvent être utilisées pour définir les utilisateurs, chacun ayant un mot de passe associé. password définis le mot de passe en clair, ce qui exige que grub.cfg soit sécurisé; password_pbkdf2 définis le password hashé en utilisant la rfc2898, qui nécessite l'utilisation de grub-mkpasswd-pbkdf2 pour générer les hashs.

   Pour activer l'authentification, la variable superusers doit être définis à la liste des nom d'utilisateurs séparés par des espaces, ',', ';' ou '|'. Les superusers sont autorisés à utiliser la ligne de commande, éditer les entrées du menu, et exécuter une entrée du menu.

Les autres utilisateur peuvent avoir accès aux entrée de menu spécifique en donnant une liste d'utilisateurs en utilisant l'option --users de la commande menuentry. Si l'option --unrestricted est utilisée pour une entrée de menu, cette entrée n'est pas restreinte. Si l'option --users n'est pas utilisée pour une entrée de menu, seul les superusers y ont accès. Exemple:
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.biglongstring
password user1 insecure
    
menuentry "May be run by any user" --unrestricted {
    set root=(hd0,1)
    linux /vmlinuz
}
    
menuentry "Superusers only" --users "" {
    set root=(hd0,1)
    linux /vmlinuz single
}
    
menuentry "May be run by user1 or a superuser" --users user1 {
    set root=(hd0,2)
    chainloader +1
}

   Le programme grub-mkconfig n'a pas encore le support pour générer des fichiers de configuration avec l'authentification. Vous pouvez utiliser /etc/grub.d/40_custom pour ajouter une simple authentification superusers, en ajoutant set superusers= et password ou password_pbkdf2.

Utiliser des signatures numériques dans GRUB

   core.img peut optionnellement fournir la vérification de tous les fichiers lus. Ce document ne couvre pas commen s'assurer que le firmware de la plateform (ex: coreboot) valide core.img.

   Si la variable check_signatures est à 'enforce', toute tentative de core.img de charger un autre fichier implique d'invoquer verify_detached foo foo.sig. foo.sig doit contenir une signature valide pour le fichier foo.

GRUB utilise les signatures détachée type GPG, et supporte actuellement DSA et RSA. Une clé de signature peut être générée en utilisant
gpg --gen-key
Un fichier peut être signé avec
gpg --detach-sign /path/to/file

Pour une validation complète de tous les sous-composants et le kernel chargé, ils doivent tous être chargés. Cela peut être fait pas grub-mkconfig:
# Edit /dev/shm/passphrase.txt to contain your signing key's passphrase
for i in `find /boot -name "*.cfg" -or -name "*.lst" -or \
    -name "*.mod" -or -name "vmlinuz*" -or -name "initrd*" -or \
    -name "grubenv"`;
do
    gpg --batch --detach-sign --passphrase-fd 0 $i ‹ /dev/shm/passphrase.txt
done
shred /dev/shm/passphrase.txt

^
22 juin 2016

htmlpdflatexmanmd




hostapd

hostapd

Authentificateur IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS

   hostapd est un service en userspace pour les points d'accès et les serveurs d'authentification. Il implémente la gestion de point d'accès, IEEE 802.1X/WPA/WPA2/EAP et RADIUS.

  hostapd est conçu pour être un service qui agit comme backend contrôlant l'authentification. hostapd support les programmes frontend séparé.

OPTIONS

-d, -dd Mode debug
-B Lance en tâche de fond
-P ‹PID› Spécifie le fichier pid du process
-K Inclus les données de clé dans les messages de debuggage
-t Inclus l'horodatage dans les messages de debuggage
^
22 juin 2016

htmlpdflatexmanmd




hostapd_cli

hostapd_cli

Interface de gestion pour hostapd

OPTIONS

-p‹path› Chemin où trouver les sockets de contrôle. Défaut: /var/run/hostapd
-i‹ifname› Interface d'écoute. Défaut: la première interface trouvée dans le chemin des sockets
-a‹path› Lance en mode service en exécutant le fichie d'action spécifié basé sur les événements de hostapd
-B Lance en tâche de fond
-G‹ping interval›

Commandes

mib Récupère les variables MIB (dot1x, dot11, radius)
sta ‹addr› Récupère les variables MIB pour une station
all_sta Récupère les variables MIB pour toutes les stations
new_sta ‹addr› Ajoute une nouvelle station
deauthenticate ‹addr› Désauthentifie une station
disassociate ‹addr› Désassocie une station
sa_query ‹addr› Envoie un SA Query à une station
wps_pin ‹uuid› ‹pin› [timeout] [addr] Ajoute un WPS Enrollee PIN
wps_check_pin ‹PIN› Verify le checksum du PIN
wps_pbc indique un bouton poussé pour initier PBC
wps_cancel Annule une opération WPS en attente
wps_nfc_tag_read ‹hexdump› Reporte le tag NFC avec donnée WPS
wps_nfc_config_token ‹WPS/NDEF› Génère le token de configuratio NFC
wps_nfc_token ‹WPS/NDEF/enable/disable› Gère le token de mot de passe NFC
wps_ap_pin ‹cmd› [params..] Active/désactive AP PIN
wps_config ‹SSID› ‹auth› ‹encr› ‹key› Configure AP
wps_get_status Affiche le status WPS courant
get_config Affiche la configuration actuelle
interface [ifname] Affiche/sélectionne l'interface
level ‹debug level› Change le niveau de débug
quit Quitter hostapd_cli
^
31 mars 2016

htmlpdflatexmanmd




hostnamectl

hostnamectl

Contrôle le nom d'hôte système

   Cet outil distingue 3 types de noms d'hôtes: le nom "haut niveau", qui peut inclure des caractères spéciaux (ex : Lennart’s Laptop), le nom d’hôte statique, qui est utilisé pour initialiser le nom d’hôte kernel (ex : Lennarts-laptop), et le nom d’hôte transitoire qui peut être assigné temporairement dût à la configuration réseau

OPTIONS

--no-asp-password Ne demande pas d’authentification pour les opérations privilégiées
--static (/etc/hostname)
--transient (/proc/sys/kernel/hostname)
--pretty (/etc/machine-info)
-H, --hostname exécute l’opération a distance. Utilise SSH pour dialoguer.
-M, --machine= Exécute l'opération dans un conteneur local.

Commandes

status Affiche les informations de nom d'hôte système actuel.
set-hostname [NAME] Définis le nom d’hôte
set-icon-name [NAME] Définis l’icône système, utilisé par certaines applications graphique.
set-chassis [TYPE] Définis le type de chassis, utilisé par certaines applications graphique (desktop,laptop, server, tablet, handset, watch, embedded, vm et container)
set-deployment ENVIRONMENT Définis la description d'environnement de déploiement. suggéré: development, integration, staging, production.
set-location LOCATION Définis l'emplacement pour le système. peut être "Berlin, Germany", ou "Left Rack, 2nd Shelf"
^
17 mars 2010

htmlpdflatexmanmd




ifconfig

ifconfig

Utilitaire de configuration des interfaces réseaux

   Sans argument, affiche simplement l'état des interfaces définies. Si une interface est données, affiche l'état de l'interface.

-a Affiche toutes les interfaces, y compris celles inactives

   Si le premier argument après le nom de l'interface est reconnu comme étant un nom de famille d'adresse, cette famille est utilisée pour décoder et afficher toutes les adresses protocolaires (inet, ax25, ddp et ipx)

OPTIONS

up active l'interface
down arrête le fonctionnement du pilote de cette interface
[-]arp valide ou invalide l'utilisation du protocole ARP sur cette interface
[-]promisc valide ou invalide le mode promiscuous.
[-]allmulti valide ou invalide le fonctionnement de l'interface en mode all-multicast
metric définit la métrique de l'interface
mtu définit le MTU de l'interface
netmask Définit le masque de sous-réseau pour l'interface.
add adr/lg_prefix ajoute une adresse IPv6 à une interfaces
del adr/lg_prefix supprime une adresse IPv6 d'une interface
tunnel aa.bb.cc.dd crée un tunnel périphérique SIT (ipv6 dans ipv4) en mode tunnel jusqu'à la destination
irq Définit la ligne d'interruption utilisée par ce périphérique
io_addr définit l'adresse de début dans l'espace d'entrée-sortie I/O
mem_start Définit l'adresse de début de mémoire partagée pour ce périphérique
media type Définis le port physique de medium utilisé pour ce périphérique (10base2 10baseT AUI auto)
[-]broadcast [adr] définis l'adresse broadcast.
[-]pointopoint [adr] valide le mode point-to-point d'une interface. adr est l'adresse de l'autre bout.
hw classe adresse Définis l'adresse matérielle de l'interface (ether, ax25, ARCnet et Netcron)
multicast Positionne l'indicateur multicast sur l'interface
^
17 mars 2010

htmlpdflatexmanmd




ifup

ifup, ifdown

Active/désactive une interface réseau. Peuvent être utilisés pour configurer / dé-configurer les interfaces réseaux basé sur des définitions d'interface dans le fichier /etc/network/interfaces

OPTIONS

-a, --all affecte toutes les interfaces marquée auto, dans l'ordre où ils apparaissent dans le fichier interfaces.
--force Force la configuration ou la déconfiguration de l'interface
-i FILE, --interfaces=FILE Lit le fichier spécifié au lieu de /etc/network/interfaces
-n, --no-act mode simulation, n'active aucune interface
--allow=CLASS seules les interfaces listées dans un "allow class" sont activé ou désactivées.
--no-mapping ne lance aucun mapping.
-v, --verbose mode verbeux

Exemples

Activer eth0
ifup eth0
Activer l'interface eth0 comme interface logique home
ifup eth0=home

   note: le fichier /var/run/network/ifstate donne l'état des interfaces réseaux.
^
17 mars 2010

htmlpdflatexmanmd




interfaces

interfaces

Fichier de configuration pour ifup et ifdown. Il contient les informations de configuration pour les interfaces réseau

   Les lignes commençant par "#" sont ignorées. Une ligne peut être étendue sur plusieurs en utilisant un "\" à la fin de la ligne. Ce fichier consiste d'une ou plusieurs "iface", "mapping", "auto" et "allow-".

   Les lignes commençant par le mot "auto" sont utilisées pour identifier les interfaces physiques à configurer quand ifup est lancé avec l'option -a (cette options est utilisée par le système au démarrage). Le nom de l'interface physique doit suivre le mot "auto" sur la même ligne.

   Les lignes commençant avec "allow-" sont utilisées pour identifier les interfaces qui devraient être activées automatiquement par divers sous-systèmes. Cela peut-être fait avec une commande du type "ifup --allow=hotplug eth0 eth1", qui va activer uniquement eth0 et eth1 s'ils sont listés dans une ligne "allow-hotplug". Noter que "allow-auto" est synonyme de "auto".

   Les lignes commençant pas "mapping" sont utilisés pour déterminer comment le nom d'interface logique est choisis pour une interface physique. chaque mapping doit contenir une définition script.

   ifup utilise le nom de l'interface physique comme nom logique, à moins qu'un suffix du type =LOGICAL soit spécifié.

   La définition des interfaces logique commence avec une ligne consistant du mot "iface", suivi du nom de l'interface logique. Le nom de l'interface est suivi du nom de famille d'adresse que l'interface utilise. cela sera "inet" pour TCP/IP, ipx pour les réseau ipx et inet6 pour les réseaux ipv6. La suite est le nom de la méthode pour configurer l'interface.

   Des options additionnelles peuvent être utilisées sur les lignes suivante. ces options dépendent de la méthode et de la famille. Par exemple, le paquet wireless-tools ajoute des options préfixés avec "wireless" qui peuvent-être utilisées pour configurer l'interface en utilisant iwconfig.

IFACE options

   Ces options sont disponible pour toutes les familles et méthodes. Chacune peuvent être indiqué plusieurs fois et sont exécutés dans l'ordre qu'elle apparaissent. (pour s'assurer qu'une commande ne plante jamais, suffixer par "|| true"

pre-up command Lance la commande avant de configurer l'interface.
up comand
post-up command Lance la commande après avoir configuré l'interface
down command
pre-down command Lance la commande avant de dé-configurer l'interface.
post-down Lance la commande après avoir dé-configuré l'interface.

   Il existe pour chacune des options mentionnées, un dossier /etc/network/if-‹option›.d/. Les scripts qui s'y trouvent sont lancés en utilisant run-parts après que l'option ait été traitée.

  Toutes ces commandes ont accès aux variables d'environnement suivante:

IFACE Nom phyique de l'interface
LOGICAL Nom logique de l'interface
ADDRFAM famille de l'interface
METHOD Méthode de l'interface
MODE Démarre si lancé depuis ifup, arrête si lancé depuis ifdown
PHASE Comme pour MODE, mais plus précis, distingue pre-up, post-up, pre-down et post-down.
VERBOSITY indique si --verbose est utilisé.
PATH le path de recherche de commande: /usr/local/sbin :/usr/local/bin :/usr/sbin :/usr/bin :/sbin :/bin

Famille d'adresse inet

la méthode loopback Cette méthode est utilisé pour définir une interface de bouclage ipv4. N'a pas d'options
Methode static Cette méthode est utilisée pour définir les interfaces ethernet avec des adresses ipv4 définie statiquement dans /etc/network/interfaces

Options

address adresse IP
netmask masque de sous-réseau
broadcast adresse de broadcast
network adresse du réseau
metric métrique pour la route par défaut
gateway passerelle par défaut
pointopoint adresse de "l'autre bout"
media dépendant du pilote.
hwaddress classe et adresse physique. classe peut être ether, ax25, ARCnet ou netrom.
mtu taille MTU

La méthode manual Cette méthode peut être utilisé pour définir des interfaces sans configuration par défaut. N'a pas d'options
La méthode dhcp Cette méthode peut être utilisée pour obtenir une adresse et une configuration via DHCP.

Options

hostname nom d'hôte
leasetime lease time en seconde
vendor Vendor Class Identifier
Client identifiant client
hwaddress classe et adresse physique.

La méthode bootp Cette méthode peut être utilisée pour obtenir une ip via bootp

Options

bootfile fichier à utiliser
server adresse du serveur
hwaddr utilise l'adresse comme adresse physique

la méthode ppp Cette méthode est utilisé pour configurer des interfaces ppp (utilise pon/poff)

Options

provider utilise ce nom comme provider

la méthode wvdial méthode utilise wvdial pour configurer une interface ppp.
La méthode ipv4all cette méthode utilise avahi-autoipd pour configurer une interface avec une adresse ipv4 APIPA (famille 169.254.0.0/16). N'a pas d'options

Famille d'adresse inet6

La méthode loopback Cette méthode peut être utilisée pour définir l'interface de bouclage ipv6. N'a pas d'options
La méthode static Utilisé pour définir statiquement l'interface.

Options

address adresse de l'interface
netmask masque de sous-réseaux
gateway passerelle par défaut
media dépendant du pilote
hwaddress classe et adresse physique. Classe peut être ether, ARCnet ou netrom
mtu taille MTU

La méthode manual Cette méthode est utilisé pour définir des interfaces pour lesquelles aucune configuration n'est faite. N'a pas d'options
La méthode v4tunnel Cette méthode peut être utilisée pour créer un tunnel IPv6-over-IPv4. Il requière la commande ip du paquet iproute.

Options

address adresse de l'interface
netmask masque de sous-réseaux
endpoint adresse du bout du tunnel (ipv4)
local adresse local du tunnel (ipv4)
gateway passerelle par défaut
ttl réglage ttl

Exemples

interface loopback:
auto lo
iface lo inet loopback
configuration basique d'une carte ethernet:
auto eth0
iface eth0 inet static
address 192.168.0.42
network 192.168.0.0
netmask 255.255.255.0
gateway 192.168.0.1
configuration plus complexe, avec mise a jour de la table de routage:
auto eth0
iface eth0 inet static
address 192.168.1.42
network 192.168.1.0
netmask 255.255.255.128
broadcast 192.168.1.0
up route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
up route add default gw 192.168.1.200
down route del default gw 192.168.1.200
down route del -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
configuration une carte ethernet avec 2 interfaces:
auto eth0 eth0:1
iface eth0 inet static
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
iface eth0:1 inet static
address 192.168.0.200
network 192.168.0.0
netmask 255.255.255.0
^
05 juillet 2015

htmlpdflatexmanmd




ip

ip

Affichage-manipulation des routes, périphériques, stratégies de routage et tunnels

OPTIONS

-b, -batch filename Lit les commandes depuis le fichier fournis, ou l'entrée standard.
-force Ne termine pas ip sur une erreur en mode batch
-s, -stats, -statistics Affiche plus d'informations. Peut apparaître plusieurs fois
-l, -loops count Boucle maximum de tentatives ip addr flush. défaut: 10. 0 boucle jusqu'à la suppression
-f, -family family Spécifie la famille de protocole à utiliser (inet, inet6, bridge, ipx, dnet ou link).
-4 Raccourci pour -family inet
-6 Raccourci pour -family inet6
-B Raccourci pour -family bridge
-D Raccourci pour -family decnet
-I Raccourci pour -family ipx
-0 Raccourci pour -family link
-o, -oneline Affiche chaque enregistrement sur une ligne
-r, -resolve Utilise le resolver pour afficher les noms DNS.

Commandes

address adresse dans un périphériques
addrlabel Configuration de label pour la sélection d'adresse
l2tp Tunnel éthernet sur IP (L2TPv3)
link Périphériques réseaux
monitor Lire les messages netlink
mroute Entrée de cache de routage multicast
mrule Règle dans la base de stratégie de routage multicast
neighbour Gérer les entrées de cache ARP et NDISC
netns Gérer les espaces de noms réseaux
ntable Gérer les opération de cache
route Gérer les entrée de table de routage
rule Règles dans la base de stratégie de routage
tcp_metrics/tcpmetrics Gérer les métriques TCP
tunnel Tunnel sur IP
tuntap Gérer les périphériques TUN/TAP
xfrm Gérer les périphériques IPSec
^
15 juin 2015

htmlpdflatexmanmd




ip-address

ip-address

Gestion des adresses de protocole

Commandes

ip address add Ajouter une nouvelle adresse de protocole

        dev NAME Le nom du périphérique
        local ADDRESS L'adresse de l'interface. Le format de l'adresse dépend du protocole (IP ou IPv6), et peut être suivi du masque
        peer ADDRESS L'adresse de l'autre nœud dans une interface point à point.
        broadcast ADDRESS L'adresse de broadcast de l'interface. Peut être '+' et '-'. Dans ce cas, il est dérivé en définissant/réinitialisant les bits du préfixe de l'interface.
        label NAME Chaque adresse peut être taggée avec un label. Pour des raison de compatibilité, cette chaîne doit coïncider avec le nom du périphérique ou doit être préfixé avec le nom du périphérique suivi par une virgule.
        scope SCOPE Le scope de l'aire où cette adresse est valide. Les scopes sont listés dans /etc/iproute2/rt_scopes, dont ceux qui sont prédéfinis sont:

                global L'adresse est valide globalement
                site (ipv6) l'adresse est locale au site
                link l'adresse est un lien local
                host L'adresse est valide seulement dans cet hôte

ip address delete Supprime une adresse de protocole. Les argument sont les même que pour ip address add
ip address show Affiche les adresses de protocole

        dev NAME Le nom du périphérique
        scope SCOPE Liste seulement les adresses dans ce scope
        to PREFIX List seulement les adresses correspondant à ce préfixe
        label PATTERN Liste seulement les adresses avec les labels qui correspondent au pattern
        up Liste seulement les interfaces up
        dynamic
        permanent (ipv6) liste seulement les adresses installées par une configuration sans état ou permanent.
        tentative (ipv6) Liste seulement les adresses qui n'ont pas passé la détection d'adresse dupliquée
        deprecated (ipv6) Liste seulement les adresses dépréciées
        dadfailed (ipv6) Liste seulement les adresses qui ont échouées la détection d'adresse dupliqueé
        temporary (ipv6) Liste seulement les adresses temporaires
        primary
        secondary (ipv6) Liste seulement les adresses primaires ou secondaires

ip address flush Vide les adresses de protocole sélectionnés par certains critères. Cette commande à les même argument que show. La différence est qu'elle ne se lance pas sans arguments.

Exemples

Afficher les adresses assignées à l'interface eth0
ip address show dev eth0
Ajoute une adresse IPv6 à l'interface eth1
ip addr add 2001:0db8:85a3::0370:7334/64 dev eth1
Supprime toutes les adresses de l'interface eth1
ip addr flush dev eth4
^
05 juillet 2015

htmlpdflatexmanmd




ip-addrlabel

ip-addrlabel

Gestion de label d'adresse de protocole

   Les labels d'adresse IPv6 sont utilisé pour la sélection d'adresse; ils sont décris dans la rfc 3484. La précédence est gérée par l'espace utilisateur et seulement le label lui-même est stocké dans le kernel.

add Ajoute un label

        prefix PREFIX
        dev DEV L'interface sortante
        label NUMBER le label pour le prefix. 0xffffffff est réservé

del Supprime un label. Les arguments sont les même que pour add, mais le label est optionnel
list Liste les labels
flush Vides les labels dans le kernel.

^
05 juillet 2015

htmlpdflatexmanmd




ip-l2tp

ip-l2tp

Configuration des tunnels non-gérés statiques L2TPv3

   Les commandes ip l2tp sont utilisées pour établir des tunnels statiques non-gérés L2TPv3. Pour les tunnels non-gérés il n'y a pas de protocole de contrôle L2TP donc aucun service en espace utilisateur n'est requis. Les tunnels sont créés manuellement sur le système local et sur le pair distant.

   L2TPv3 est prévu pour le tunneling niveau 2. Les tunnels statiques sont utiles pour établir des liens réseaux via les réseaux IP quand les tunnels sont fixés. Les tunnels L2TPv3 peuvent transporter des données de plus d'une session. Chaque session est identifiée par un session_id et le tunnel_id du tunnel parent. Un tunnel doit être créé avant qu'une session puisse être créé dans le tunnel.

   En créant un tunnel L2TP, l'adresse IP du paire distant est spécifié, qui peut être soit une IPv4 ou une IPv6. L'adresse IP locale utilisée pour atteindre le paire doit également être spécifié. C'est l'adresse sur laquelle le système local écoute et accepte les paquets de données L2TP du paire.

   L2TPv3 définis 2 formats d'encapsulation de paquet: UDP ou IP. L'encapsulation UDP est la plus commune. L'encapsulation IP utilise une valeur de protocole IP dédiée pour gérer les données L2TP sans la couche UDP. Utiliser l'encapsulation IP seulement quand il n'y a pas de périphérique NAT ou firewall dans le chemin réseaux.

   Quand une session Ethernet L2TPv3 est créée, une interface réseaux virtuel est créé pour la session, qui doit être configurée et activée, tout comme une autre interface réseaux. Quand une donnée est passée via l'interface, elle est passée dans le tunnel L2TP au paire. En configurant les tables de routage du système ou en ajoutant l'interface à un bridge, l'interface L2TP est comme un câble virtuel connecté au paire.

   Établir un pseudo-lien ethernet non-géré L2TPv3 implique de créer les contexts L2TP manuellement dans le système local et sur le paire. Les paramètres utilisé sur chaque site doivent correspondre ou aucune donnée ne passera. Aucune vérification de consistance n'est possible vu qu'il n'y a pas de protocole de contrôle utilisé pour établir les tunnels L2TP. Une fois l'interface réseau virtuelle configurée et activée, les données peuvent être transmises, même si le paire n'a pas été encore configuré. Si le paire n'est pas configuré, les paquets L2TP seront supprimés par le paire.

   Pour établir un tunnel L2TP non-géré, utiliser les commande l2tp add tunnel et l2tp add session décrite dans ce document. Puir configurer et activer l'interface virtuelle.

   Noter que les tunnels non-gérés ne gérent que les trames ethernet. Si vous voulez gérer du trafic PPP (L2TPv2), vous avez besoin d'un serveur L2TP qui implémente le protocole de contrôle L2TP. Le protocole de contrôle L2TP permet d'établir des tunnels et session dynamiques et fournissent un détection et correction d'erreurs.

add tunnel Ajouter un tunnel

        name NAME Définis le nom de la session de l'interface réseau. Défaut: l2tpethN
        tunnel_id ID Définis l'id du tunnel, qui est une valeur entière 32-bits assignée au tunnel par le paire. La valeur utilisé doit correspondre à la valeur tunnel_id utilisée par le paire.
        remote ADDR Définis l'adresse IP du paire distant. Peut être spécifié comme IPv4 ou IPv6.
        local ADDR Définis l'adresse IP de l'interface locale utilisée pour le tunnel. Cette adresse doit être l'adresse d'une interface locale. Peut être spécifié comme IPv4 ou IPv6.
        encap ENCAP Définis le type d'encapsulaion du tunnel (udp ou ip ).
        udp_sport PORT Définis le port source à utiliser pour le tunnel. Doit être présent quand l'encapsulation udp est utilisée.
        udp_dport PORT Définis le port upd de destination pour le tunnel. Doit être présent quand l'encapsulation udp est utilisée.

del tunnel Supprime un tunnel.

        tunnel_id ID Définis l'id du tunnel à supprimer. Toutes les sessions dans le tunnel doivent être supprimés avant.

show tunnel Affiche des informations sur les tunnels

        tunnel_id ID Définis l'id du tunnel à afficher. Non spécifié, affiche tous les tunnels

add session Ajoute une nouvelle session à un tunnel

        name NAME Définis le nom de la session de l'interface réseau. Défaut: l2tpethN
        tunnel_id ID Définis l'id du tunnel, qui est une valeur entière 32-bits assignée au tunnel par le paire. La valeur utilisé doit correspondre à la valeur tunnel_id utilisée par le paire.
        peer_session_id ID Définis l'id de session du paire, qui est une valeur entière 32-bits assignée à la session par le paire. La valeur utilisé doit correspondre au session_id utilisé par le paire.
        cookie HEXSTR Définis une valeur cookie optionnel à assigner à la session. C'est une valeur 4 ou 8 octets, ex: 014d3636deadbeef. La valeur doit correspondre à la valeur de cookie définie par le paire. La valeur du cookie est incorporée dans les paquets de données L2TP et est vérifié par le paire. N'utilise pas de cookie par défaut.
        peer_cookie HEXSTR Définis une valeur cookie du paire optionnel à assigner à la session. C'est une valeur 4 ou 8 octets, ex: 014d3636deadbeef. La valeur doit correspondre à la valeur de cookie définie par le paire. Il indique au système local quelle valeur cookie il s'attend à trouver dans les paquets L2TP reçus. N'utilise pas de cookie par défaut.
        l2spec_type L2SPECTYPE Définis le type d'en-tête spécifique à niveau 2 de la session: none ou udp
        offset OFFSET Définis l'octet dans l'en-tête L2TP où les données utilisateurs commencent dans les paquets de données transmis. Si définis, doit correspondre à la valeur peer_offset utilisé. Défaut: 0
        peer_offset OFFSET Définis l'octet dans l'en-tête L2TP où les données utilisateurs commencent dans les paquets de données reçus. Si définis, doit correspondre à la valeur offset utilisé. Défaut: 0

del session Détruit une session

        tunnel_id ID Définis l'id du tunnel dans lequel la session est localisée
        session_id ID L'id de session à supprimer

show session Affiche des informations sur les sessions

        tunnel_id ID Définis l'id du tunnel dans lequel les sessions sont affichées
        session_id ID L'id de session à afficher

Exemples

Définir des tunnels L2TP et des sessions
site-A:# ip l2tp add tunnel tunnel_id 3000 peer_tunnel_id 4000 encap udp local 1.2.3.4 remote 5.6.7.8 udp_sport 5000 udp_dport 6000
site-A:# ip l2tp add session tunnel_id 3000 session_id 1000 peer_session_id 2000
site-B:# ip l2tp add tunnel tunnel_id 4000 peer_tunnel_id 3000 encap udp local 5.6.7.8 remote 1.2.3.4 udp_sport 6000 udp_dport 5000
site-B:# ip l2tp add session tunnel_id 4000 session_id 2000 peer_session_id 1000
site-A:# ip link set l2tpeth0 up mtu 1488
site-B:# ip link set l2tpeth0 up mtu 1488
Noter que les adresse IP, ports UDP et id de session/tunnel correspondent et inversés dans chaque site.
Configurer comme interface IP
site-A:# ip addr add 10.42.1.1 peer 10.42.1.2 dev l2tpeth0
site-B:# ip addr add 10.42.1.2 peer 10.42.1.1 dev l2tpeth0
site-A:# ping 10.42.1.2
Configurer comme interfaces bridgés
site-A:# ip link set l2tpeth0 up mtu 1446
site-A:# ip link add br0 type bridge
site-A:# ip link set l2tpeth0 master br0
site-A:# ip link set eth0 master br0
site-A:# ip link set br0 up
En utilisant les VLAN, définis un bridge par vlan et bridger chaque VLAN sur une session L2TP séparé
site-A:# ip link set l2tpeth0 up mtu 1446
site-A:# ip link add brvlan5 type bridge
site-A:# ip link set l2tpeth0.5 master brvlan5
site-A:# ip link set eth1.5 master brvlan5
site-A:# ip link set brvlan5 up

   Ajouter l'interface L2TP à une bridge force le bridge à forwarder le trafic sur le lien L2TP comme avec une autre interface. Le bridge apprend les adresses MAC des hôtes attachés à chaque interface et forwards les frames d'un port à un autre. Les adresse IP ne sont pas assignés aux interface l2tpethN. Si le bridge est configurés correctement des 2 côté, il devrait être possible d'atteindre les hôtes dans le réseau bridgé du paire.

   Quand des frames ethernet brut son bridgé via un tunnel L2TP, de grandes frames peuvent être fragmentés et forwardés comme fragment IP individuels au destinataire, en fonction du MTU de l'interface physique utilisé par le tunnel. Quand les frames ethernet gérent les protocoles qui sont réassemblés par le destinataire, comme IP, il n'y a pas de problème. Cependant, une telle fragmentation peut causer des problèmes pour les protocoles comme PPPoE où le destinataire s'attend à recevoir des frames ethernet exactement comme transmises. Dans de tels cas, il est important que les frames quittant le tunnel soient réassemblé en une seul frame avant d'être forwardé. Pour le faire, activer le tracking de connection netfilter (conntrack) ou charger manuellement le module degrag netfilter à chaque point de tunnel.

site-A:# modprobe nf_degrag_ipv4
site-B:# modprobe nf_degrag_ipv4

   Les tunnels L2TPv3 non-gérés sont supportés par certains équipements réseaux. Dans Linux, les messages L2TP Hello ne sont pas supportés dans les tunnels non-gérés. Les message Hello sont utilisés par L2TP pour détecter les erreurs des liens pour pouvoir automatiser le rétablissement des tunnels dynamiques. Si un paire non-linux supporte les messages Hello dans les tunnels non-gérés, il doit être désactivé pour fonctionner avec Linux.

   Linux utilise par défaut le type Layer2SpecificHeader par défaut comme définis dans le protocole L2TPv3 (rfc3931).
^
15 juin 2015

htmlpdflatexmanmd




ip-link

ip-link

configuration des périphériques réseaux

Commandes

add Créé une nouveau périphérique.

        link DEVICE Spécifie le périphérique physique sur lequel opérer

                NAME Spécifie le nom du nouveau périphérique
                TYPE Spécifie le type du nouveau périphérique:

                        bridge Périphérique bridge ethernet
                        bond Périphérique bond
                        dummy Interface réseau factice
                        ifb Périphérique Intermediate Functional Block
                        ipoib Périphérique IP sur Infiniband
                        macvlan Interface basée sur une adresse de lien réseau (MAC)
                        macvtap Interface basée sur une adresse de lien réseau et TAP.
                        vcan Interface Controller Area Network
                        veth Interface ethernet virtuelle
                        vlan Interface LAN virtuelle 802.1q
                        vxlan LAN virtuel étendue
                        ip6tnl Interface tunnel IPv4|ipv6 sur IPv6
                        ipip Interface tunnel IPv4 sur IPv4
                        sit Interface tunnel IPv6 sur IPv4
                        gre Tunnel virtuel GRE sur IPv4
                        gretap Tunnel L2 virtuel GRE sur IPv4
                        ip6gre Tunnel virtuel GRE sur IPv6
                        ip6gretap Tunnel L2 virtuel GRE sur IPv6

        numtxqueues QUEUE_COUNT Spécifie le nombre de queues de transmission pour le nouveau périphérique
        numrxqueues QUEUE_COUNT Spécifie le nombre de queues de réception pour le nouveau périphérique
        index IDX Spécifie l'index désiré pour le nouveau périphérique virtuel

Support VXLAN

   Pour un lien de type VXLAN, les arguments suivants sont supportés:

        id VNI Spécifie l'identifiant physique VXLAN à utiliser
        dev PHYS_DEV Spécifie le périphérique physique à utiliser pour une communication tunnel endpoint
        group IPADDR Spécifie l'adresse IP multicast à joindre. Ne peut pas être utilisé avec remote
        remote IPADDR Spécifie l'adresse IP unicast à utiliser dans les paquets sortants quand l'adresse de lien réseau de destination n'est pas connue dans la base de forwarding de périphérique vxlan.
        local IPADDR Spécifie l'adresse IP source à utiliser dans le paquets sortants.
        ttl TTL Spécifie la valeur TTL à utiliser pour les paquets sortants
        tos TOS Spécifie la valeur TOS à utiliser pour les paquets sortants
        port MIN MAX Spécifie la plage de ports à utiliser comme ports sources UDP pour communiquer avec en endpoint dans un tunnel VXLAN
        [no]learning Spécifie si les adresses de lien réseaux et IP non-connus sont entrés dans la base de forwading VXLAN
        [no]rsc Spécifie si le route short circuit est activé
        [no]proxy Spécifie si le proxy arp est activé
        [no]l2miss Spécifie si les notifications netlink LLADR miss sont générés
        [no]l3miss Spécifie si les notifications netlink IP ADDR miss sont générés

Support IP6GRE/IP6GRETAP

   Pour un lien de type IP6GRE/IP6GRETAP, les arguments suivants sont supportés:

        remote ADDR Spécifie l'adresse IPv6 distante du tunnel
        local ADDR Spécifie l'adresse IPv6 de lien local fixe pour les paquets tunnélisés.
        [i|o]seq oseq active le séquençage des paquets sortant. iseq nécessite que tous les paquets entrants soient sérialisés
        [i|o]key KEY Utilise GRE avec la clé spécifiée. KEY est soit un nombre ou une adresse IPv4. key spécifie la même clé dans les 2 directions, ikey et okey spécifier différentes clé pour l'entrée et la sortie.
        [i|o]csum Génère/requière des checksums pour les paquets tunnelisés. ocsum calcul les checksums pour les paquets sortant et icsum nécessite que tous les paquets entrant aient un checksum correct. csum est équivalent à icsum ocsum.
        hoplimit TTL Spécifie la valeur de limite de saut à utiliser dans les paquets sortants.
        encaplimit ELIM Spécifie une limite d'encapsulation fixée. Défaut: 4
        lowlabel FLOWLABEL Spécifie un label de flux fixe
        tclass TCLASS Spécifie le champ de classe de trafic dans les paquets tunnelisés. Peut être soit une valeur hexa à 2 chiffres, ou une chaîne prédéfinie. inherit copie le champ depuis l'en-tête IP original, inherit/STRING oo inherit/00..ff servent pour les paquets non-IP tunnelisés. défaut: 00.

delete Supprime un lien virtuel

        dev DEVICE Spécifie le périphérique physique sur lequel opérer.

set Change les attributs des périphériques

        dev DEVICE Spécifie le périphérique sur lequel opérer.
        group GROUP GROUP a 2 rôles: si group et det sont présents, ils placent le périphérique dans le groupe spécifié. Si seul un groupe est spécifié, la commande opère sur tous les périphérique dans ce groupe.
        up, down Change l'état du périphérique
        arp on|off Change le flag NOARP dans le périphérique
        multicast on|off Change le flag MULTICAST dans le périphérique
        dynamic on|off Change le flag DYNAMIC dans le périphérique
        name NAME Change le nom du périphérique
        txqueuelen NUMBER
        txqlen NUMBER Change la longueur de file de transmission du périphérique
        mtu NUMBER Change le MTU du périphérique
        address LLADDRESS Change l'adresse de station de l'interface
        broadcast LLADDRESS
        brd LLADDRESS
        peer LLADDRESS Change l'adresse de broadcast de lien réseau ou l'adresse paire quand l'interface est POINTTOPOINT
        netns PID Place le périphérique dans l'espace de nom réeau associé avec le PID du processus
        netns NETNSNAME Place le périphérique dans l'espace de nom réeau associé avec le nom spécifié
        alias NAME Donne un nom symbolique à un périphérique
        group GROUP Spécifie le groupe auquel appartient le périphérique. Les groupes disponibles sont listés dans /etc/iproute2/group
        vf NUM Spécifie un périphérique de fonction virtuel à configurer. Le périphérique VF associé doit être spécifié en utilisant le paramètre dev.

                mac LLADDRESS Change l'adresse de station pour le VF spécifié. le paramètre vf doit être spécifié
                vlan VLANID Chagne le vlan assigné pour le VF spécifié.
                qos VLAN-QOS Assigne la priorité vlan pour le tag vlan.
                rate TXRATE Change la bande passante de transmission permise, en Mbps, pour le VF spécifié. 0 désactive la limite.
                max_tx_rate TXRATE Change la bande passante de transmission maximum permise, en Mbps, pour le VF spécifié.
                min_tx_rate TXRATE Change la bande passante de transmission minimum permise, en Mbps, pour le VF spécifié.
                spoofchk on|off Active la vérification de spoofing de paquets pour le VF spécifié
                state auto|enable|disable Définis l'état de lien virtuel comme vu par le VF spécifié. À auto, signifie une réflexion de l'état du lien PF, enable laisse le VF communiquer avec d'autres VF sur cet hôte même si le lien PF est down, disable force le HW à détruire tout paquet envoyé par le VF.

        master DEVICE Définis le périphérique maître du périphérique ( périphérique enslave )
        nomaster Indéfinis le périphérique maître

show Affiche les attributs du périphérique

        dev NAME Nom du périphérique à afficher. Omis, affiche tous les périphériques dans le groupe par défaut
        group GROUP Spécifie que groupe de périphérique sont affichés
        up N'affiche que les interface fonctionnelles

Exemples

ip link show
Affiche l'état de tous les liens réseaux sur le système
ip link set dev ppp0 mtu 1400
Change le MTU du périphérique ppp0
ip link add link eth0 name eth0.10 type vlan id 10
Créer une nouvelle interface vlan sur eth0
ip link delete dev eth0.10
Supprime de périphérique vlan spécifié
^
05 juillet 2015

htmlpdflatexmanmd




ip-maddress

ip-maddress

Gestion des adresses multicast

show Liste les adresses multicast

        dev NAME Nom du périphérique

add Ajoute une adresse multicast
delete Supprime une adresse multicast

        address LLADDRESS Adresse multicast le lien réseaux
        dev NAME Nom du périphérique

^
05 juillet 2015

htmlpdflatexmanmd




ip-monitor

ip-monitor, rtmon

Supervision d'état

   l'utilitaire ip peut superviser l'état des périphériques, adresses et routes en continue. Cette option a un format légèrement différent. La syntaxe est la suivante:

  ip monitor [ all | OBJECT-LIST ] [ file FILENAME ]

   OBJECT-LIST est la liste des types d'objets à superviser. Peut contenir link, address, route, mroute, prefix, neigh, netconf. Si aucun argument file n'est donné, ip ouvre RTNETLINK, écoute et dump le changements d'états.

   Si l'option file est donné, le programme n'écoute par sur RTNETLINK, mais ouvre le fichier donné, et dump son contenu. Le fichier devrait contenir des messages RTNETLINK sauvés au format binaire. Un tel fichier peut être généré avec l'utilitaire rtmon. Cet utilitaire a une syntaxe en ligne de commande similaire à ip monitor. Idéalement, rtmon devrait être démarré avec la première commande de configuration réseaux. Par exemple, si vous insérez:

rtmon file /var/log/rtmon.log

   dans un script de démarrage, vous serez capable de voir tout l'historique plus tard. Il est cependant possible de démarrer rtmon à tout moment. Il ajoute l'historique avec l'état dumpé au moment de démarrer.

^
05 juillet 2015

htmlpdflatexmanmd




ip-mroute

ip-mroute

Gestion du cache de routage multicast

   Les objets mroutes sont des entrées du cache de routage multicast crée par un service de routage au niveau utilisateur (pimd ou mouted). Dûs à la limitation de l'interface courante du moteur de routage multicast, il est impossible de changer les objets mroute administrativement, on ne peut que les afficher. Cette limitation sera supprimée dans le future.

show Liste les entrées du cache de routage mroute

        to PREFIX Le préfixe sélectionnant les adresses multicast de destination à lister
        iif NAME L'interface sur laquelle les paquest multicast sont reçus
        from PREFIX Le préfixe sélectionnant les adresses IP source des routes multicast
        table TABLE_ID L'id de table multicast. Peut être local, main, default, all ou un numéro.

^
05 juillet 2015

htmlpdflatexmanmd




ip-neighbour

ip-neighbour

Gestion des tables arp et de voisinage

   neighbour manipule les objets voisins qui établissent les liens entre les adresses de protocole et les adresses le lien réseaux pour les hôtes partageant le même lien. Les entrées de voisinage sont organisés en tables. La table de voisinage IPv4 et également connue par un autre nom - la table ARP.

add Ajoute une nouvelle entrée de voisinage
change Change en entrée existante
replace ajoute ou change une entrée existante

        to ADDRESS L'adresse de protocole IPv4 ou IPv6 du voisin
        dev NAME Interface qui est attaché au voisin
        lladdr LLADDRESS L'adresse de lien réseaux du voisin. Peut également être null
        nud NUD_STATE L'état de l'entrée voisine. nud est une abréviation pour 'Neighbour Unreachability Detection'. L'état peut prendre une des valeurs suivantes:

                permanent L'entrée est valide indéfiniment et ne peut être supprimé qu'administrativement
                noarp L'entrée est valide. Ne tente pas de valider cet entrée, mais elle peut être supprimée lorsqu'elle expire
                reachable L'entrée est valid tant que le timeout est valide
                stale L'entrée est valide mais suspicieuse.

delete Supprime une entrée de voisinage. Les argument sont les même que pour add, excepté que lladdr et nud sont ignorés.
show Liste les entrées de voisinage

        to ADDRESS préfixe qui sélectionne es voisins dans la liste
        dev NAME liste seulement les voisin attachés à ce périphérique
        proxy Liste les proxy voisins
        unused Liste seulement les voisin qui ne sont pas utilisés actuellement.
        nud NUD_STATE Liste seulement les entrées de voisinage dans cet état. NUD_STATE peut prendre les valeurs listées ou la valeurs spéciale all qui signifie tous les états. Si cette option est absente, ip liste toutes les entrées excepté pour none et noarp
        flush vide les entrées voisines. A les même arguments que show. Sans argument, les entrée vidées n'incluent pas permanent et noarp. Avec l'option -statistics, la commande devient verbeuse. Si l'option est données 2 fois, dump également toutes les entrées vidées.

Exemples

Afficher la table de voisinage dans le kernel
ip neighbour
supprimer es entrées dans la table de voisinage sur le périphérique eth0
ip neigh flush dev eth0
^
05 juillet 2015

htmlpdflatexmanmd




ip-netconf

ip-netconf

Supervision de configuration réseaux

   netconf peut superviser les paramètres IPv4 et IPv6 ( voir /proc/sys/net/ipv[4|6]/conf/[all|DEV]/ ) comme le forwarding, rp_filter ou mc_forwarding. Si aucune interface n'est spécifiée, l'entrée all est affichée.

show Affiche les paramètres réseaux

        dev NAME Nom de l'interface à afficher

^
05 juillet 2015

htmlpdflatexmanmd




ip-netns

ip-netns

gestion des espaces de noms réseaux

   Un espace de nom réseaux est logiquement une autre copie de la pile réseaux, avec ses propres routes, règle firewall, et périphériques réseaux. Par convention, un espace de nom réseaux nommé est un objet à /var/run/netns/NAME qui peut être ouvert. Maintenir ce descripteur de fichier ouvert maintient espace de noms réseaux actif. Le descripteur de fichier peut être utilisé avec l'appel système setns(2) pour changer l'espace de noms associé avec une tâche.

   Pour les applications qui comprennent les espaces de noms, la convention est de rechercher les fichiers de configuration de réseau global dans /etc/netns/NAME/, puis dans /etc/. Par exemple, si vous voulez une version différente de /etc/resolv.conf pour un espace de noms réseaux utilisé pour isoler votre vpn, il sera nommé /etc/netns/myvpn/resolv.conf.

exec automatise la manipulation de cette configuration, convention de fichier pour un espace de noms réseau d'application non prévu, en créant un espace de montage et en le liant tous les fichiers d'espace de nom réseau dans leur emplacement traditionnel dans /etc.
list Affiche tous les espaces de nom réseaux dans /var/run/netns
add NAME Créer un nouvel espace de nom réseau
delete NAME Si NAME est présent dans /var/run/netns, il est démonté et le point de montage est supprimé.
identifiy PID Recherche dans /var/run/netns tous les espaces de nom réseaux du processus spécifié.
pids NAME Recherche dans /var/run/netns tous les processus qui ont l'espace de nom réseaux nommé comme espace de nom primaire.
exec NAME cmd ... Cette commande permet aux application qui ne gèrent pas l'espace de nom réseaux d'être lancé dans un autre espace de nom réseaux autre que celui par défaut.
monitor Regarde les évènements d'ajout et de suppression d'espace de nom réseaux et affiche une ligne pour chaque événement qu'il voit.

Exemples

Afficher la liste des espaces de nom réseaux
ip netns list
Créer un espace de nom réseaux et le nomme vpn
ip netns add vpn
Ajoute d'interface de boucle local dans l'espace de nom réseaux vpn
ip netns exec vpn link set lo up
^
05 juillet 2015

htmlpdflatexmanmd




ip-ntable

ip-ntable

configuration des tables de voisinage

show Liste les tables de voisinage

        dev DEV Liste seulement la table attachée à ce périphérique
        name NAME Liste seulement la table avec le nom donné

change Modifie les paramètres de table, tels que les timers et les longueurs de file

        name NAME Nom de la table à modifier
        dev DEV Nom du périphérique dont la table est à modifier

Exemples

Afficher les paramètres de table voisine dans le périphérique eth0
ip ntable show dev eth0
Changer le nombre de paquets en queue pendant que l'adresse est résolue:
ip ntable change name arp_cache queue 8 dev eth0
^
15 juin 2015

htmlpdflatexmanmd




ip-route

ip-route

Gestion des tables de routage

   ip route est utilisé pour manipules les entrées dans les tables de routage du kernel. Les types de routes sont:

unicast L'entrée décrit des véritables chemins vers les destinations couvertes par le préfixe de route.
unreachable Ces destinations sont inatteignables. Les paquets sont supprimés silencieusement.
prohibit Ces destinations sont inatteignables. les paquets sont supprimés silencieusement et un message ICMP est généré.
local Les destinations sont assignées à cet hôte. Les paquets sont délivrés localement.
broadcast Les destinations sont des adresses de broadcast. Les paquets sont envoyés sur des liens broadcast.
throw Une route de contrôle spéciale utilisé avec les règles de stratégie. Si une telle route est séléctionée, rechercher dans cette table se termine en prétendant qu'aucune route n'a été trouvée et un ICMP unreachable est émis.
anycast non implémenté
multicast Un type spécial utilisé pour le routage multicast. N'est pas présent dans les tables de routage normales.

   Linux 2.x peut grouper les routes dans plusieurs tables de routage identifiées par un numéro dans la plage 1 à 2^31 ou par un nom depuis le fichier /etc/iproute2/rt_tables. Par défaut, toutes les routes sont insérées dans la table main (254) et le kernel n'utilise que cette table. Les valeurs 0, 253, 254 et 255 sont réservés.

   Actuellement, une autre table existe toujours, qui est invisible mais importante, la table local (255). Cette table consiste de routes pour les adresses locales et de broadcast. Le kernel maintient cette table automatiquement et l'administrateur n'a généralement pas besoin de la modifier.

   Les tables de routages multiples entrent en jeu quand des stratégies de routage sont utilisées.

add Ajouter une nouvelle route
change Changer une route
replace Changer ou ajouter une nouvelle route

        to TYPE PREFIX Préfix de destination de la route. Si type est omis, assume unicast. PREFIX est une adresse IP ou IPv6 suivi optionnellement par un masque. les PREFIX spécial default est équivalent à 0/0 ou ::/0
        tos TOS
        dsfield TOS La clé Type Of Service. Cette clé n'a pas de masque associé et le match le plus long est interprété comme: 1, compare le TOS de la route et du paquet. S'il ne sont pas égal, le paquet peut matcher une route avec un TOS 0. TOS est soit un nombre hexa 8-bits, soit un identifiant de /etc/iproute2/rt_dsfield.
        metric NUMBER
        preference NUMBER La valeur de préférence de la route. NUMBER est un nombre 32-bits arbitraire.
        table TABLEID La table où ajouter cette route. TABLEID peut être un nombre ou une chaîne du fichier /etc/iproute2/rt_tables. Si omis, assume la table main.
        dev NAME Nom du périphérique de sortie.
        via ADDRESS L'adresse du prochain saut.
        src ADDRESS L'adresse source à préférer en envoyant au destinations couvertes par le préfixe de route.
        realm REALMID Le domaine auquel la route est assignée. Peut être un nombre ou une chaîne depuis le fichier /etc/iproute2/rt_realms
        mtu MTU
        mtu lock MTU Le MTU associé avec le chemin de la destination. Si lock n'est pas utilisé, le MTU peut être mis à jours par le kernel via le Path MTU Discovery.
        window NUMBER Fenêtre TCP maximum à annoncer à ces destinations, mesurée en octets. Il limite les salves de données maximales que les paires TCP sont autorisés à nous envoyer.
        rtt TIME Le RTT (Round Trip Time) initial estimé. Si aucun suffixe n'est spécifié les unités sont des valeurs brutes passées directement au code de routage pour maintenir la compatibilité avec les versions précédentes. Sinon un suffixe de s, sec, ou secs est utilisé pour spécifier les secondes et ms, msec ou msecs pour spécifier les millisecondes.
        rttvar TIME Variante RTT initiale estimée. Les valeur sont spécifiée comme avec rtt.
        rto_min TIME TimeOut de retransmission TCP minimum à utiliser en communiquant avec cette destination. Les valeurs sont spécifiées comme pour rtt.
        ssthresh NUMBER Une estimation pour le seuil initial de début lent.
        cwnd NUMBER le clamp pour la fenêtre de congestion. Il est ignoré si le flag lock n'est pas utilisé.
        initcwnd NUMBER La taille de fenêtre initialement reçue pour les connexions à cette destination. La taille de fenêtre actuelle est cette valeur multipliée par le MSS de la connexion. La valeur par défaut est 0, signifiant l'utilisation d'une valeur Slow Start
        quickack BOOL Active/désactive ack rapide pour les connexions à cette destination.
        advmss NUMBER le MSS (Maximal Segment Size) à annoncer aux destinations en établissant des connexions TCP. Si non spécifié, Linux utilise une valeur par défaut calculée depuis le premier MTU du prochain périphérique.
        reordering NUMBER Ré-ordonnancement maximum dans le chemin vers cette destination. Si non donné, Linux utilise la valeur sélectionnée avec sysctl (net/ipv4/tcp_reordering)
        nexthop NEXTHOP Le prochain saut d'une route multi-path. NEXTHOP est une valeur complexe avec sa propre syntaxe similaire à la liste des argument top-level:

                via ADDRESS Router suivant
                dev NAME Périphérique de sortie
                weight NUMBER Poid pour cet élément d'une route multi-path reflétant sa bande passante relative ou qualité.

        scope SCOPE_VAL Le scope des destinations couvertes par le préfixe de route. SCOPE_VAL peut être un nombre ou une chaîne du fichier /etc/iproute2/rt_scopes. Si omis, ip assume le scope global pour toutes les routes unicast avec gateway, le scope link pour toutes les routes unicast et broadcast directes, et le scope host pour les routes locales.
        protocol RTPROTO L'identifiant de protocole de routage de cette route. RTPROTO peut être un nombre ou une chaîne depuis le fichier /etc/iproute2/rt_protos. De nombreuses valeurs de protocole one une interprétation fixée:

                redirect La route a été installée due à une redirection ICMP
                kernel La route a été installée par le kernel durant l'autoconfiguration
                boot La route a été installée durant la séquence de boot.
                static La route a été installée par l'administrateur
                ra La route a été installée par Router Discovery Protocol.

        onlink Prétend que le prochain saut est directement attaché à ce lien, même s'il ne matche pas de préfixe d'interface.

delete Supprime une route. A les même arguments que ip route add, mais leur sémantique sont un peu différents. Les valeur de clé (to, tos, preference et table) sélectionnent la route à supprimer. Si des attributs optionnels sont présents, ip vérifie qu'ils coïncident avec les attributs de la route à supprimer. Si aucune route n'est trouvée, ip route del échoue.
show Liste les routes. La commande affiche le contenu des tables de routage ou des routes sélectionnées par les critères.

        to SELECTOR Sélectionne seulement les routes depuis la plage de destinations données. SELECTOR consiste d'un modifier optionnel (root, match ou exact) et d'un préfixe. root PREFIX sélectionne les routes avec les préfixes pas plus cours que PREFIX. ex: root 0/0 sélectionne toute la table de routage. match PREFIG sélectionne les routes avec les préfixe pas plus long que PREFIX. ex: match 10.0/16 sélectionne 10.0/16, 10/8 et 0/0, mais pas 10.1/16 et 10.0.0/24. exact PREFIX sélectionne les routes avec le préfixe exact. Non spécifié, assume root 0/0.
        tos TOS
        dsfield TOS Selectionne seulement les routes avec le TOS donné
        table TABLEID Affiche les routes depuis cette table. défaut: table main. TABLEID peut être soit l'ID soit le nom de la table, ou une des valeurs spéciales:

                all Liste toutes les tables
                cache dump le cache de routage

        cloned
        cached Liste les routes clonnées, par ex. les routes qui ont été forkée dynamiquement depuis d'autres routes parce que certains attributs de route ont été mis à jours (ex: MTU). Actuellement équivalent à table cache.
        from SELECTOR Même syntaxe que to, mais lie la plage d'adresse source au lieu de destination. ne fonctionne qu'avec les routes clonées.
        protocol RTPROTO Liste seulement les routes de ce protocole
        scope SCOPE_VAL Liste seulement les routes dans ce scope
        type TYPE Liste seulement les routes de ce type
        dev NAME Liste seulement les routes allant via ce périphérique
        via PREFIX Liste seulement les routes allant via les routeurs de prochains saut sélectionnés par PREFIX
        src PREFIX Liste seulement les routes avec les adresses sources préférées sélectionnées par PREFIX
        realm REALMID
        realms FROMREALM/TOREALM Liste seulement les routes avec ces domaines

flush Vide les routes sélectionnée par certains critères. Les arguments ont la même syntaxe et sémantique de ip route show, mais les tables de routage ne sont pas listées, mais purgées. La seule différence est l'action par défaut: show dump toute la table de routage main, mais flush affiche l'aide. Avec l'option -statistics, la commande devient verbeuse. Si donné 2 fois, dumps également toutes les routes supprimées.
get Récupère une simple route et affiche sont contenu exactement comme le kernel la vois.

        to ADDRESS Adresse de destination
        from ADDRESS Adresse source
        tos TOS
        dsfield TOS Le type de service
        iif NAME Le périphérique depuis lequel ce paquet est prévu d'arriver
        oif NAME Force le périphérique de sortie sur lequel ce paquet sera routé.
        connected Si aucune adresse source (option from) n'est donnée, recherche la route avec le jeu source à l'adresse préférée reçue depuis la première recherche.

           Noter que cette opération n'est pas équivalente à ip route show. show affiche les routes de sortie. get les résous et créé de nouveaux clones is nécessaire. Essentiellement, get est équivalent à envoyer un paquet sur ce chemin. Si iif n'est pas donné, le kernel créé une route pour sortir les paquets via de destination demandée. C'est équivalent à pinger la destination avec un ip route ls cache, cependant, aucun paquet n'est actuellement envoyé. Avec iif, le kernel prétent qu'un paquet est arrivé depuis cette interface et recherche un chemin pour forwarder le paquet.

save Sauvegarde les information de la table de routage. Fonctionne comme show, excepté que la sortie est une donnée utilisable par restore.
restore Restaure les informations de table de routage

Exemples

Affiche toutes les entrées de route dans le kernel:
ip ro
Ajoute une route par défaut via 192.168.1.1 qui peut être atteins via eth0:
ip route add default via 192.168.1.1 dev eth0
^
15 juin 2015

htmlpdflatexmanmd




ip-rule

ip-rule

Gestion de la base de stratégie de routage

   ip rule manipule les règles de la base de stratégie de routage contrôlant l'algorithme de sélection de route. Les algorithmes classiques de routage utilisant dans l'Internet créent des décisions de routage basé seulement sur l'adresse de destination des paquets ( et en théorie, mais pas en pratique, sur le champs TOS ).

   Dans certaines circonstances on veut router les paquets différemment en fonction d'autres champs du paquet: le protocole IP, ports du protocole de transport, etc. Cette tâche est appelée 'stratégie de routage'.

   Pour résoudre cette tâche, la destination conventionnelle basée sur une table de routage, ordonnée en accord avec la règle de correspondance la plus longue, et remplacée avec une base de données de stratégie de routage (RPDB), qui sélectionne les routes en exécutant certains jeux de règles.

   Chaque règle de stratégie de routage consiste d'un sélecteur et d'une action prédictive. Le RPDB est scanné dans l'ordre décroissant de priorité. Le sélecteur de chaque règle est appliqué à {source address, destination address, incoming interface, tos, fwmark} et, si le sélecteur matche le paquet, l'action est effectuée. La prédiction de l'action peut retourner un succès. Dans ce cas, il va soit donner une route ou une indication d'erreur et la recherche RPDB se termine. Sinon, le programme RPDB continue avec la règle suivante.

   Sémantiquement, l'action naturelle est de sélectionner le prochain saut et le périphérique de sortie. Au démarrage le kernel configure le RPDB consistant des 3 règles:

1. Priorité: 0, Selecteur: match tout, Action: recherche dans la table de routage local (ID 255). La table local est une table de routage spéciale contenant des routes de contrôle hautement prioritaire pour les adresses locales et de broadcast. La règle 0 est spéciale, elle ne peut pas être supprimée ou écrasée.
2. Priorité: 32766, Sélecteur: match tout, Action: Recherche dans la table de routage main (ID 254). La table main est la table de routage normale contenant toutes les routes sans stratégie. Cette règle peut être supprimée et/ou écrasée.
3. Priorité: 32767, Sélecteur: match tout, Action: recherche dans la table de routage default (ID 253). La table default est vide. Elle est réservée pour certains pré-traitements si aucune règle par défaut précédente n'a séléctionné le paquet. Cette règle peut également être supprimée.

   Chaque entrée RPDB a différents attributs additionnels. Par exemple, chaque règle a un pointer vers une table de routage. les règles NAT et masquerading ont un attribut pour sélectionner une nouvelle adresse IP à modifier. Derrière ça, les règles ont certains attributs optionnels, quelles routes ont, nommés realms. Ces valeurs n'écrasent pas celles contenue dans les tables de routage. Elles sont seulement utilisée si la route n'a sélectionné aucun attribut.

   Le RPDB peut contenir des règles de types suivants:

        unicast La règle stipule de retourner la route trouvée dans la table de routage référencée par la règle
        blackhole La règle stipule de supprimer le paquet
        unreachable La règle stipule de générer une erreur 'Network is unreachable'
        prohibit La règle stipule de générer une erreur 'Communication is administratively prohibited'
        nat La règle stipule de traduire l'adresse source du paquet IP en une autre valeur

add Insert une nouvelle règle
delete Supprime une règle

        type TYPE le type de cette règle.
        from PREFIX Sélectionne le préfixe source à matcher
        to PREFIX Sélectionne le préfixe de destination à matcher
        iif NAME Sélectionne le périphérique entrant à matcher. Si l'interface est la boucle locale, la règle matche seulement les paquets venant de cet hôte. Cela signifie que vous pouvez créer des tables de routage séparés pour les paquets venant des sockets locaux de ceux liés à un périphérique.
        oif NAME Sélectionne le périphérique sortant à matcher. L'interface sortant est seulement disponible pour les paquets venant de sockets locaux qui sont liés à un périphérique.
        tos TOS
        dsfield TOS Sélectionne la valeur TOS à matcher
        fwmark MARK Sélectionne la valeur fwmark à matcher
        priority PREFERENCE La priorité de cette règle. Chaque règle devrait avoir un jeu explicite de valeur de priorité unique.
        table TABLEID L'identifiant de table de routage à rechercher si la règle matche. Il est également possible d'utiliser une recherche au lieu d'une table
        suppress_prefixlength NUMBER Rejète les décisions de routage qui on une longueur de préfix de NUMBER ou moins
        suppress_ifgroup GROUP Rejète les décisions qui utilisent un périphérique appartenant au groupe d'interface spécifié.
        realms FROM/TO domaine à sélectionner si la règle a matché et que la recherche dans la table de routage a réussie. realms TO est seulement utilisé si la route ne sélectionne aucun domaine.
        nat ADDRESS La base du block d'adresse IP à traduire (pour les adresses source). ADDRESS peut être soit le début du block des adresses NAT (sélectionné par routes NAT) ou une adresse de l'hôte local (ou même 0). Dans le dernier cas le routeur ne traduit pas les paquets, mais les masquerade à cette adresse. Utiliser map-to au lieu de nat est la même chose.

flush dumps également toutes les tables supprimées
show Liste les règles

^
05 juillet 2015

htmlpdflatexmanmd




ip-tcp_metrics

ip-tcp_metrics

Gestion des métriques TCP

   ip tcp_metrics est utilisé pour manipuler les entrées dans le kernel qui conserve les informations TCP pour les destinations IPv4 et IPv6. Les entrées sont créées quand les sockets TCP veulent partager des informations pour les destinations et sont stockés dans un cache assortis par l'adresse de destination. Les informations sauvegardées peuvent inclure des valeurs pour les métriques (initialement obtenus depuis les routes), TSVAL récent pour recycler les TIME-WAIT, l'état pour Fast Open, etc. Pour des raisons de performances le cache ne peut pas grandir au delà de la limite configurée et les anciennes entrées sont remplacées avec les nouvelles informations. Le kernel ne supprime jamais d'entrées, elles peuvent seulement être vidées avec cet outil.

show Affiche les entrées cachées.

        adress PREFIX préfixe ou adresse IPv4/IPv6. non spécifié, affiche toutes les entrées.

   La sortie peut contenir les informations suivante:

        age ‹S.MMM›sec Temps depuis que l'entrée a été créée ou mise à jours. L'entrée est réinitialisée et rafraîchie à l'utilisation des métrique depuis les routes si les métriques ne sont pas mis à jours dans la dernière heure.
        cwnd ‹N› Valeur métrique CWND
        fo_cookie ‹HEX-STRING› Valeur cookie reçue dans SYN-ACK à utiliser par Fast Open pour les prochains SYN.
        fo_mss ‹N› Valeur MSS reçue dans SYN-ACK à utiliser par Fast Open pour les prochain SYN
        fo_syn_drops ‹N›/‹S.MMM›sec ago Nombre de suppression opur les SYN Fast Open sortant initiaux avec les données détectées en monitorant le SYN-ACK reçus après la retransmission SYN.
        reordering ‹N› Valeur métrique réordonnée
        rtt ‹N›us Valeur métrique RTT
        rttvar ‹N›us Valeur métrique RTTVAR
        ssthresh ‹SSTHRESH› Valeur métrique SSTHRESH
        tw_ts ‹TSVAL›/‹SEC›sec ago TSVAL récent et les secondes après l'avoir sauvé dans le socket TIME-WAIT

delete Supprime une simple entrée. Accepte le paramètre address
flush Vide les entrées sélectionnés par critère. A les même arguments que show.

Exemples

Affiche les entrées pour les destinations depuis un sous-réseaux
ip tcp_metrics show address 192.168.0.0/24
Idem mais le mot clé address est optionnel
ip tcp_metrics show 192.168.0.0/24
Tout afficher est l'action par défaut
ip tcp_metrics
Supprimer l'entrée pour 192.168.0.1 du cache
ip tcp_metrics delete 192.168.0.1
Supprimer les entrées pour les destinations du sous-réseaux
ip tcp_metrics flush 192.168.0.0/24
Supprimer toutes les entrées du cache
ip tcp_metrics flush all
Supprime toutes les entrées IPv6 du cache
ip -6 tcp_metrics flush all
^
05 juillet 2015

htmlpdflatexmanmd




ip-token

ip-token

Support d'identifiant d'interface tokenisé

Commandes

   Le support d'identifiant d'interface tokenisé IPv6 est utilisé pour assigner les adresses de partie hôte connus aux nœuds tout en obtenant un préfixe réseaux global depuis les annonces routeurs. La cible principale pour les identifiants tokenisés sont les plateformes serveurs où les adresses sont généralement configurées manuellement, au lieu d'utiliser DHCPv6 ou SLAAC. En utilisant les identifiant tokenisés, les hôtes peuvent encore déterminer leur préfixe réseau en utilisant SLAAC, mais plus facilement être re-numérotés si leur préfixe réseaux change. Les identifiants IPv6 tokenisés sont décris dans draft-chown-6man-tokenised-ipv6-identifiers-02

set Définis le token d'interface dans le kernel. Un fois définis, il ne peut plus être supprimé de l'interface, seulement écrasé.

        TOKEN L'identifiant
        dev DEV L'interface réseaux

get Affiche un identifiant d'interface tokenisé d'un périphérique réseaux partiulier. Accepte l'argument dev.
list Liste tous les identifiants d'interface tokenizés pour les interfaces réseaux du kernel.
^
15 juin 2015

htmlpdflatexmanmd




ip-tunnel

ip-tunnel

Gestion des tunnels

   les objets tunnel sont des tunnels, des paquets encapsulés dans des paquets IP et envoyés sur une infrastructure IP. La famille d'adresse encapsulée est spécifiée par l'option -f (défaut: IPv4).

add Ajoute un nouveau tunnel
change Change un tunnel existant
delete Supprime un tunnel

        name NAME Sélectionne le périphérique tunnel nommé
        mode MODE Définis le mode de tunnel. Pour IPv4: ipip, sit, isatap et gre. Pour IPv6: ip6ip6, ipip6 ip6gre, et any.
        remote ADDRESS Définis le endpoint distant du tunnel
        local ADDRESS Définis l'adresse locale fixée pour les paquets tunnélisés. Doit être une adresse sur une autre interface de cet hôte.
        ttl N Définis un TTL N fixé dans les paquets tunnelisés. 0 (défaut pour ipv4) signifie que les paquets héritent de la valeur TTL. défaut pour ipv6: 64
        tos T
        dsfield T
        tclass T Définis le type de service (IPv4) ou la classe de trafic (IPv6) dans les paquets tunnelisés, qui peuvent être spécifiés en hexa ou avec une chaîne prédéfinie. La valeur inherit copie le champ depuis l'en-tête IP d'origine. Les valeurs inherit/STRING ou inhesit/00..ff vont définir le champ à STRING ou 00..ff en tunnelisant les paquets non-IP. Défaut: 00.
        dev NAME Lie le tunnel au périphérique nommé pour que les paquets tunnelisés soient seulement routés via ce périphérique et ne sera pas capable de sortir par un autre périphérique quand la route vers le endpoint change.
        nopmtudisc Désactive le Path MTU Discovery sur ce tunnel. Il est activé par défaut. Noter qu'un ttl fixé est incompatible avec cette option.
        key K
        ikey K
        okey K (tunnels GRE uniquement) Utilise la clé K. K est soit un numéro ou une IP. Le paramètre key définis la clé à utiliser dans les 2 directions. ikey et okey définissent différentes clé pour l'entrée et la sortie.
        csum, icsum, ocsum (tunnels GRE uniquement) Génère/impose des checksums pour les paquets tunnelisés. csum est équivalent à icsum ocsum.
        seq, iseq, oseq (tunnels GRE uniquement) Sérialise les paquets. seq est équivalent à iseq oseq.
        encaplim ELIM (tunnels IPV6 uniquement) Définis une limite d'encapsulation fixée. (défaut: 4).
        flowlabel FLOWLABEL (tunnels IPV6 uniquement) Définis un flowlabel fixe.

prl potential router list (ISATAP uniquement)

        dev NAME Nom du périphérique obligatoire
        prldefault ADDR
        prl-nodefault ADDR
        prl-delete ADDR Ajoute ou supprime ADDR comme routeur potentiel ou routeur par défaut.

show Liste les tunnels.

^
15 juin 2015

htmlpdflatexmanmd




ip-xfrm

ip-xfrm

transform configuration

   xfrm est un framework ip pour transformer les paquets ( tel que le chiffrement de leur payloads ). Ce framework est utilisé pour implémenter la suite de protocole IPsec ( avec l'objet state opérant dans la base d'association de sécurité, et l'objet policy opérant dans la base de stratégie de sécurité ). Il est également utilisé pour le protocole de compression de payloads et les fonctionnalités IPv6 mobile.

monitor Monitor l'état des objets xfrm
state gére les états dans xfrm

        add Ajoute un nouvel état dans xfrm
        update Met à jours un état existant dans xfrm
        allocspi Alloue une valeur SPI
        delete Suppime un état existant dans xfrm
        get Récupère un état dans xfrm
        deleteall supprime tous les états dans xfrm
        list Affiche la liste des états dans xfrm
        flush vide tous les état dans xfrm
        count compte tous les états existant dans xfrm

                ID est spécifié par l'addresse source, l'adresse de destination, le protocole de transformation XFRM-PROTO, et/ou SPI (Security Parameter Index).
                XFRM-PROTO Spécifie le protocole de transformation: IPsec Encapsulating Security (esp), IPsec Authentication Header (ah), IP payload Compresion (comp), Mobile IPv6 Type 2 Routing Header (route2), ou Mobile IPv6 Home Address Option (hao)
                ALGO-LIST Contient un ou plusieurs algorithmes à utiliser. Chaque algorithme ALGO est spécifié par:

                        - Le type d'algorithme: encryption (enc), authentication (auth ou auth-trunc), authenticated encryption with associated data (aead), or compression (comp)
                        - Le nom de l'algorithme ALGO-NAME
                        - (excepté pour comp): le clé matérielle (ALGO-KEYMAT), qui peut inclure une clé et un salt ou une aucune valeur.
                        - (aead uniquement): la longueur Integrity Check Value ALGO-ICV-LEN en bits.

                        les algorithmes de chiffrement incluent: ecb(cipher_null), cbc(des), cbc(des3_ede), cbc(cast5), cbc(blowfish), cbc(aes), cbc(serpent), cbc(camellia), cbc(twofish), et rfc3686(ctr(aes)).
                        Les algorithmes d'authentification inculent: digest_null, hmac(md5), hmac(sha1), hmac(sha256), hmac(sha384), hmac(sha512), hmac(rmd610), et xcbc(aes).
                        Le chiffrement authentifié avec algorithme de données associée (AEAD) incluent: rfc4106(gcm(aes)), rfc4309(ccm(aes)), et rfc4543(gcm(aes)).
                        Les algorithmes de compression incluent deflate, lzs et lzjh.

                MODE Spécifie un mode d'opérations pour le protocole de transformation. les modes IPsec et IP Payload Compression sont transport, tunnel, et pour IPsec ESP beet (Bound End-to-End Tunnel). les modes Mobile IPv6 sont route optimiszation (ro) et bound trigger (in_trigger).
                FLAG-LIST Contient un ou plusieurs flags optionnels suivants: noecn, decap-dscp, nopmtudisc, wildrecv, icmp, af-unspec ou align4
                SELECTOR Sélectionne le trafic qui sera contrôlé par la stratégie, basée sur l'adresse source, l'adresse de destination, le périphérique réseau, et/ou UPSPEC.
                UPSPEC Sélection le trafic par protocole. Pour tcp, udp, sctp ou dccp, le port source et de destination peut optionnellement être spécifié. Pour les protocoles icmp, ipv6-icmp, ou mobility-headers, le type et le code peuvent optionnellement être spécifiés. Pour le protocole gre, la clé peut optionnellement être spécifié. D'autre protocoles peuvent être sélectionnés par nom ou nombre PROTO.
                LIMIT-LIST Définis les limites en secondes, octets, ou nombres de paquets.
                ENCAP Encapsule les paquets avec le protocole espinudp, espinudp-nonike, en utilisant le port source SPORT, le port de destination DPORT, et l'adresse originel OADDR.

policy Gère les stratégies dans xfrm

        add Ajoute une nouvelle stratégie
        update Met à jour une stratégie existante
        delete Supprime une stratégie existante
        get Récupère une stratégie existante
        deleteall Supprime toutes les stratégies xfrm
        list Affiche toutes les stratégies xfrm existant
        flush Vide les stratégies
        count Compte les stratégies existantes

                SELECTOR Sélectionne le trafic qui sera contrôlé par la stratégie, basée sur l'adresse sources, l'adresse de destination, le périphérique réseaux, et/ou UPSPEC.
                UPSPEC Sélectionne le trafic par protocole. Pour tcp, udp, sctp, ou dccp, le port source et de destination peuvent être optionnellement spécifiés. Pour les protocoles icmp, ipv6-icmp, ou mobility-header, le type et le code peuvent être optionnellement spécifiés. Pour le protocole gre, la clé peut optionnellement être spécifié. D'autres protocoles peuvent être spécifiés par nom ou numéro PROTO.
                DIR Sélectionne la direction de la stratégie: in, out ou fwd
                CTX Définis le contexte de sécurité
                PTYPE Peut être main (défaut) ou sub
                ACTION Peut être allow (défaut) ou block
                PRIORITY Nombre (défaut: 0)
                FLAG-LIST Contient un ou plusieurs flags optionnels: local ou icmp
                LIMIT-LIST Définis les limites en secondes, octets, ou nombre de paquets
                TMPL-LIST Liste template spécifiée en utilisant ID, MODE, REQID, et/ou LEVEL
                ID Spécifié par l'adresse source, l'adresse de destination, le protocole de transformation XFRM-PROTO, et/ou SPI.
                XFRM-PROTO Spécifie le protocole de transformation: IPsec Encapsulating Security (esp), IPsec Authentication Header (ah), IP payload Compresion (comp), Mobile IPv6 Type 2 Routing Header (route2), ou Mobile IPv6 Home Address Option (hao)
                MODE Spécifie un mode d'opérations pour le protocole de transformation. les modes IPsec et IP Payload Compression sont transport, tunnel, et pour IPsec ESP beet (Bound End-to-End Tunnel). les modes Mobile IPv6 sont route optimiszation (ro) et bound trigger (in_trigger).
                LEVEL Peut être required (défaut) ou use.

^
25 mai 2017

htmlpdflatexmanmd




jail.conf

jail.conf, fail2ban.conf

Configuration pour le serveur fail2ban

   fail2ban a 4 types de fichier de configuration:

fail2ban.conf Configuration globale de fail2ban
filter.d/*.conf Filtres spécifiant comment détecter les erreurs d'authentification
action.d/*.conf Actions définissant les commandes pour bannir et débannir les adresses IP
jail.conf Les jails définissent les combinaisons de filtre avec les actions

Format des fichiers de configuration

Les fichiers .conf sont distribués par Fail2Ban. Il est recommandé que ces fichiers restent inchangés pour simplifier les mises à jours. Si nécessaire, les personnalisations devraient être fournies dans des fichiers .local. Par exemple, pour activer le jail [ssh-iptables-ipset] spécifié dans jail.conf, créer un fichier jail.local contenant:
jail.local
    [ssh-iptables-ipset]
    
    enabled = true

tail.d et fail2ban.d En plus des fichier .local, pour jail.conf et fail2ban.conf, il y a un répertoire correspondant contenant des fichier .conf additionnels. L'ordre de configuration des jail est:
[ENDSECTION]
[SECTION] name="-" table="listes" imbrication="1"
jail.conf jaid.d/*.conf
jail.local jail.d/*.local

Les fichiers de configuration ont des sections et des paire nom = valeur. Les fichiers de configuration peuvent inclure d'autres fichiers de configuration, qui sont souvent utilisé dans les filtres et actions, en utilisant les directives before et after. En utilisant les mécanismes d'interpolation de chaîne Python, d'autres définitions sont permise et peuvent ensuite être utilisées dans d'autres définitions sous la forme %(name)s:
baduseragents = IE|wget
failregex = %(known/failregex)s

Additionnellement à l'interpolation $(known/parameter)s, qui ne fonctionne pas pour les paramètres init de filtre et action, un tag d'interpolation ‹known/parameter› peut être utilisé. Cela permet d'étendre un paramètre un filtre ou action directement dans le jail sans créer de filtre séparément.
# filter.d/test.conf:
[Init]
test.method = GET
baduseragents = IE|wget
[Definition]
failregex = ^%(__prefix_line)\s+"‹test.method›"\s+test\s+regexp\s+-\s+useragent=(?:‹baduseragents›)

# jail.local:
[test]
# use filter "test", overwrite method to "POST" and extend known bad agents with "badagent":
filter = test[test.method=POST, baduseragents="badagent|‹known/baduseragents›"]

fail2ban.conf

   Ces fichier ont une section, [Definition]. Les éléments sont:

loglevel Niveau de verbosité des logs de sortie: CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG. Défaut: ERROR
logtarget Cible des logs: filename, SYSLOG, STDERR ou STDOUT. Défaut: STDERR
socket Fichier socket. Défaut: /var/run/fail2ban/fail2ban.sock. utilisé pour la communication avec les serveur fail2ban
pidfile Fichier pid. Défaut: /var/run/fail2ban/fail2ban.pid
dbfile nom de la base de données. Défaut: /var/lib/fail2ban/fail2bn.sqlite3. Contient les données persistante.
dbpurgeage age de purge de la base, en secondes. Défaut: 86400

jail.conf

   Les options suivantes sont applicables dans les jail. Elles apparaissent dans une section spécifiant le nom du jail ou dans la section [DEFAULT]

filter Nom du filtre - nom d'un fichier dans /etc/fail2ban/filter.d/, sans l'extension
logpath Nom des fichiers de log à surveiller, séparés par des newline.
logencoding Encodage des fichiers de logs. Défaut: auto (utilise la locale système)
banaction Action pour le bannissement (défaut: iptables-multiport).
banaction_allports Idem, mais pour certains jails "allports" signifie "pam-generic" ou "recidive". Défaut: iptables-allports
action Actions dans /etc/fail2ban/action.d, sans l'extension
ignoreip Liste des IP à ne pas bannir. Peut inclure un masque cidr
ignorecommand La commande qui est exécutée pour déterminer si l'IP candidate pour le bannissement ne devrait pas être bannie
bantime Durée du ban
findtime Interval de temps, en secondes, avant l'heure courante où les erreurs comptent comme un ban
maxretry Nombre d'erreur qui se produisent dans findtime pour bannir une IP
backend Backend à utiliser pour détecter les changements dans le logpath. Défaut: auto, qui tente, dans l'ordre, pyinotify, gamin, systemd, polling.
usedns Utilise DNS pour résoudre les noms d'hôte qui apparaîssent dans les logs.
failregex Expression régulière Python à ajouter aux failregex du filtre.
ignoreregex expression régulière, si la ligne de log match, à ne pas considérer.

action.d/*.conf

   Les fichiers action spécifie quelles commande sont exécutées pour bannir et débannir une adresse IP. Les fichiers action ont 2 section, Definition et Init. La section Init définis des paramètres qui peuvent être écrasés pour un jail particulier. Les commandes suivantes peuvent être présents dans la section Definition

actionstart Commande à exécuter quand le jail démarre
actionstop Commande à exécuter quand le jail s'arrête
actioncheck Commande à exécuter avant tout autre action
actionban Commande à exécuter pour bannir l'adresse IP
actionunban Commande à exécuter pour débannir l'adresse IP

   La section Init permet de définir des actions spécifiques à l'action. Les éléments spéciaux suivants peuvent être définis dans la section Init:

timeout Délai max en seconde qu'une commande peut mettre à s'exécuter, avant d'être terminée

   Les commandes spécifiées dans la section Definition sont exécutées via un shell système donc les redirections shell et contrôle de process sont autorisés. Les commandes doivent retourner 0, sinon une erreur est loggée. De plus, si actioncheck qui avec un status non-0, il est considéré que le status du firewall a changé et fail2ban doit se réinitialiser. Les tags sont entre ‹›. Tous les éléments de la section Init sont des tags qui sont remplacés dans les commandes action. Plus d'une commande est autorisée. Chaque commande doit être sur une ligne séparée et indenté avec des espaces blanc.

Tags d'action

   Les tags suivants sont substitués dans l'actionban, actionunban, et actioncheck.

ip IPv6 à bannir
failures Nombre de fois que l'erreur se produit dans le fichier de log
ipfailures idem, mais le total de toutes les erreurs pour cette IP dans tous les jails, depuis la base persistante
ipjailfailures idem, mais le total basé sur les erreus de lIP pour le jail courant
time temp (epoch) du ban
matches Chaîne concaténées des lignes du fichier de log des matchs qui génèrent le ban. De nombreux caractères interprétés par le shell sont échappés pour éviter les injection
ipmatches idem, mais inclus toutes les lignes pour l'IP qui sont contenus avec la base persistante
ipjailmatches idem, mais les matches sont limités pour l'ip et pour le jail courant

Fichiers d'action Python

   Les actions basées sur python peuvent également être utilisés, où le nom de fichier doit être [actionname].pv. Le fichier python doit contenir une variable Action, qui pointe vers une classe python. Cette classe doit implémenter une interface minimum tel que décris dans fail2ban.server.action.ActionBase.

filter.d/*.conf

   Ces fichiers sont utilisés pour identifier les tentatives d'authentification échouées dans les fichiers de log et pour extraire l'adresse IP de l'hôte. La principale section est la section Definition. Il y a 2 définitions de filtre définie dans cette section:

failregex Expression régulière pour matcher les tentatives échouées.
ignoreregex Expression régulière pour identifier les entrées de log qui doivent être ignorées.

   Similairement aux actions, les filtres on une section Init qui peut écraser jail.conf/jail.local. Les éléments qui peuvent s'y trouver sont:

maxlines Nombre maximum de lignes à mettre en tampon pour matcher les expressions régulières multilignes
datepattern Spécifie une motif/regex de date personnalisé pour le détecteur de date
journalmatch Spécifie le journal systemd utilisé pour filtrer les entrées du journal.

   Les filtres peuvent également avoire une section INCLUDES, utilisée pour lire d'autres configurations:

before Indique que ce fichier est lu avant la section Definition
after Indisque que ce fichier est lu après la section Definition
^
31 mars 2016

htmlpdflatexmanmd




journal-remote.conf

journal-remote.conf, journal-remote.conf.d

Fichiers de configuration du service de journalisation distant

   La configuration par défaut est définie durant la compilation, donc un fichier de configuration dans /etc/systemd/ contient les entrées commentées montrant les défaut. Quand un package doit personnaliser la configuration, il peut installer des configurations dans /usr/lib/systemd/*.conf.d/. Le fichier de configuration principal est lu avant tous les autres, et a la précédence la plus faible. Les fichiers dans un sous-répertoire sont triés alphabétiquement, sans regarder dans quel sous-répertoire il réside. Pour désactiver un fichier de configuration fournis par un vendeur, la manière recommandée est de placer un lien vers /dev/null dans le répertoire /etc avec le même nom de fichier que le fichier de configuration du vendeur.

OPTIONS

SplitMode host ou none
ServerKeyFile= Clé SSL au format PEM
ServerCertificateFile= Certificat CA au format PEM
TrustedCertificateFile= Certificat CA
^
31 mars 2016

htmlpdflatexmanmd




journalctl

journalctl

Gestion du journal systemd

   Permet de requêter le contenu du journal systemd qui est écrit par systemd-journald.service. Sans paramètre, affiche tout le journal, en commençant par les entrées les plus anciennes

   Si un ou plusieurs arguments de match sont passés, la sortie est filtrée en accord. Un match est dans le format "FIELD=VALUE" (ex: _SYSTEMD_UNIT=httpd.service), réferant aux composant d'une entrée de journal structuré. Voir systemd.journal-fields pour une liste de champs. Si plusieurs match sont spécifiés et matchant différents champs, les entrées de logs sont filtrés par les 2 (les entrées affichées matchent tous les champs). Si 2 matchs s'appliquent sur le même champs, les entrées affichées matchent une des valeurs du champs. Le caractère final '+' peut apparaître comme séparateur de mot entre les autres termes (OU logique)

  

OPTIONS

--no-full, --full, -l Réduit la taille des champs s'ils ne rentrent pas dans la largeur de colonne.
-a, --all Affiche tous les champs, même s'ils contiennent des cararctères non-imprimables ou sont très long
-f, --follow Affiche seulement les entrées de journal récent, et affiche les entrées en continue
-e, --pager-end Va immédiatement à la fin du journal dans le pager. Ne fonctionne qu'avec less
-n, --lines= Nombre de lignes à afficher (défaut: 10)
--no-tail Affiche toutes les lignes, même avec -f
-r, --reverse Les nouvelles entrées s'affiche en premier
-o, --output= Contrôle le formatage des entrées du journal. Prend une des options suivantes:

        short Est le défaut et génère une sortie la plus identique au formattage classique des fichiers syslogs, une entrée par ligne.
        short-iso Similaire, mais affiche les timestamp au format ISO 8601
        short-precise Similaire, mais affiche les timestamp avec une précision au microseconde.
        short-monotonic Similaire, mais affiche les timestamp monotonique
        verbose Affiche les entrée structurées avec tous les champs.
        export Sérialise le journal dans un flux binaire pour les sauvegardes et les transferts réseaux
        json Formate les entrées en structures de données JSON, une par ligne.
        json-pretty Similaire mais les formate sur plusieurs lignes
        json-sse Similaire, mais les format pour être utilisable pour Server-Sent Events
        cat Génère une sortie sans métadonnées, ni timestamp.

--utc Exprime de temps en UTC
-x, --catalog Ajoute les lignes de log avec les textes explicatifs du catalog de message. Cela va ajouter des textes d'aide aux messages de log dans la sortie si disponible.
-q, --quiet Supprime tous les message d'information (ex: --Logs begin at ...", "--Reboot --"), et tout messages de journaux système inaccessible quand lancé comme utilisateur normal.
-m, --merge Affiche les entrées de tous les journaux disponible, inclant ceux distants
-b [ID][±offset], --boot=[ID][±offset] Affiche les message d'un boot spécifique. Cela ajoute un match pour "_BOOT_ID=". L'argument peut être vide, dans ce cas, ajoute un match pour le boot courant.
--list-boots Affiche une liste de nombre de boots, leurs ID et le timestamp du premier et dernier message.
-k, --dmesg Affiche seulement les messages kernel. Implique -b et ajoute le match "_TRANSPORT=kernel"
-t, --identifier=SYSLOG_IDENTIFIER Affiche les messages pour l'identifiant syslog spécifié
-u, --unit=UNIT|PATTERN Affiche les messages pour l'unité spécifiée ou correspondant au motif. Peut être spécifié plusieurs fois
--user-unit= Affiche les messages pour l'unité de session utilisateur spécifié. Peut être spécifié plusieurs fois
-p, --priority= Filtre les messages par priorité ou plage de priorité. ( "emerg" (0), "alert" (1), "crit" (2), "err" (3), "warning" (4), "notice" (5), "info" (6), "debug" (7))
-c, --cursor= Affiche le entrées depuis l'emplacement dans le journal spécifié par le curseur spécifié
--after-cursor= Affiche les entrées après l'emplacement spécifié par le curseur.
--show-cursor= Affiche le curseur après la dernière entrée
-S, --since=, -U, --until= Affiche les entrée depuis ou jusqu'à la date spécifiée. Le format devrait être au format "2012-10-30 18:17:16", voir systemd.time pour la spécification complète des dates.
-F, --field= Affiche toutes les valeurs possible que le champ spécifié peut prendre dans toutes les entrées du journal.
--system, --user Affiche les message des services système et kernel, ou de l'utilisateur courant. Non spécifié, affiche tous les messages que l'utilisateur peut voir.
-M, --machine= Affiche les messages d'un conteneur local.
-D DIR, --directory=DIR Répertoire où rechercher les journaux
--file=GLOB Opère sur les fichiers journaux spécifiés par le GLOB au lieu des chemins de journaux par défaut. Peut être spécifié plusieurs fois.
--root=ROOT Opère sur les catalogues sous le répertoire spécifié
--new-id128 Au lieu d'afficher le contenu du journal, génère un nouvel ID 128bits pour identifier les messages. C'est prévu pour les développeurs qui ont besoin d'un nouvel identifiant pour un nouveau message.
--header Affiche seulement les informations d'en-tête dus champs de journal accédés.
--disk-usage Affiche l'utilisation disque des fichiers journaux
--vacuum-size=, --vacuum-time=, --vaccum-files= Supprime les fichiers journaux archivés jusqu'à ce que l'espace disque qu'ils utilisent soit inférieur à la taille ou le nombre de journaux, ou postérieur à la date spécifié.
--list-catalog [128-bits ID...] Liste le contenu du catalogue de message.
--dump-catalog [128-bit-ID...] Affiche le contenu du catalogue de message
--update-catalog Met à jours les indexs de catalogue
--setup-keys Au lieu d'afficher le contenu des journaux, génère une nouvelle paire de clé pour FSS. Cela génère une clé de scellement et une clé de vérification. La clé de scellement est stockée dans le répertoire des journaux et devrait rester dans l'hôte. La clé de vérification devrait être stocké ailleurs.
--force Quand --setup-keys est passé et que FSS (Forward Secure Sealing) a déjà été configuré, recréé les clés FSS.
--interval= Spécifie l'interval de changement pour la clé en générant une paire de clé FSS avec --setup-keys. Un interval plus court augmente la consommation CPU mais raccourcis la plage de temps des altération de journaux indétectable. Défaut: 15min
--verify Vérifie le fichier journal pour sa consistance interne. Si le fichier a été généré avec FSS activé et la clé a été spécifiée dans --verify-key, l'authenticité du journal est vérifié.
--verify-key= Spécifie la clé de vérification FSS à utiliser pour l'opération --verify
--sync Demande au service de journalisation d'écrire toutes les données non-écrite dans les fichiers journaux
--flush Demande au service de journalisation de vider les logs stockés dans /run/log/journal dans /var/log/journal, si le stockage persistant est activé.
--rotate Demande au service de journalisation de tourner les fichiers journaux.
--no-pager N'utilise pas de pager.

Variables d'environnement

SYSTEMD_PAGER Pager à utiliser. Vide, ou 'cat' est équivalent à --no-pager
SYSTEMD_LESS Remplace les options par défaut de less ('FRSXMK')

Exemples

Collecter tous les logs
journalctl
Ajouter un match
journalctl _SYSTEMD_UNIT=avahi-daemon.service
Si 2 champs sont matchés, seules les entrées matchant les 2 expressions sont affichées
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097
Si 2 matchs réfèrent au même champ, toutes les entrées matchant une des expression sont affichés
journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service
Avec '+', 2 expression peuvent être combinées
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service
Affiche tous les logs générés par DBus
journalctl /usr/bin/dbus-daemon
Affiche tous les logs kernel du boot précédent
journalctl -k -b -1
Affiche un log du service système apache.service
journalctl -f -u apache
^
31 mars 2016

htmlpdflatexmanmd




journald.conf

journald.conf, journald.conf.d

Fichiers de configuration du service de journalisation

   La configuration par défaut est définie durant la compilation, donc un fichier de configuration dans /etc/systemd/ contient les entrées commentées montrant les défaut. Quand un package doit personnaliser la configuration, il peut installer des configurations dans /usr/lib/systemd/*.conf.d/. Le fichier de configuration principal est lu avant tous les autres, et a la précédence la plus faible. Les fichiers dans un sous-répertoire sont triés alphabétiquement, sans regarder dans quel sous-répertoire il réside. Pour désactiver un fichier de configuration fournis par un vendeur, la manière recommandée est de placer un lien vers /dev/null dans le répertoire /etc avec le même nom de fichier que le fichier de configuration du vendeur.

OPTIONS

Storage= Contrôle œu stocker les données. volatile stocke les donnée uniquement en mémoire, sous /run/log/journal, persistent stocke les données sur disque sous /var/log/journal et /run/log/journal au boot si le disque n'est pas accessible. auto est similaire mais ne créé pas /var/log/journal, "none" désactive le stockage et toutes les données sont supprimées. Défaut: auto.
Compress= (Bool). Si activé (défaut), les objets qui sont stockées dans le journal et qui sont plus grandes qu'un certain seuil, sont compressés avant d'être écrites.
Seal= (Bool). Si activé (défaut), et une clé sealing est disponible, FSS pour tous les fichiers journaux persistent est activé.
SplitMode= Contrôle si les fichiers journaux sont séparés par utilisateurs. uid génère un journal pour chaque utilisateur. login, les utilisateurs loggés ont un journal, mais les utilisateurs non-loggés et les utilisateurs système vont dans le journal système. none stocke tout dans le journal système. Défaut: uid
RateLimitInterval=
RateLimitBurst= Configure la limite appliquées à tous les messages générés dans le système. Si, dans l'interval de temps définis par RateLimitInterval, plus de message que RateLimitBurst sont loggés par un service, tous les autres messages dans l'interval sont supprimés. La limite est appliquée par service. Défaut 1000 messages en 30secondes. À 0, désactive les limites.
SystemMaxUse=
SystemKeepFree=
SystemMaxFileSize=
SystemMaxFiles=
RuntimeMaxUse=
RuntimeKeepFree=
RuntimeMaxFileSize=
RuntimeMaxFiles= Force les limites de taille dans les fichiers journaux. Les options préfixées par System s'appliquent aux fichiers stockés dans un système de fichier persistant, plus spécifiquement /var/log/journal. Les options préfixés pas Runtime s'appliquent aux fichiers stockés en mémoire volatile, plus spécifiquement /run/log/journal. MaxUser contrôle l'espace disque utilisable par le journal. KeepFree contrôle l'espace disque à laisser libre pour d'autres utilisations. Journald respecte les 2 limites et utilise la valeur la plus petite des 2 (défaut: 10% et 15%). MaxFileSize contrôle la taille de chaque fichier avant rotation, et MaxFiles contrôle combien de fichiers individuels conserver (Défaut: 100).
MaxFileSec= Temps maximum pour stocker les entrées dans un fichier journal avant la prochaine rotation.
MaxRetentionSec= Temps maximum pour stocker les entrées du journal. Contrôle si les fichiers journaux contenant des entrées plus anciennes que la date spécifiée sont supprimées.
SyncIntervalSec= Timeout avant synchronisation des fichiers sur disque. Une fois synchronisés, les fichiers sont placés OFFLINE. La synchro est toujours faite après un message de priorité CRIT, ALERT, ou EMERG. Défaut: 5min
ForwardToSyslog=
ForwardToKMsg=
ForwardToConsole=
ForwardToWall= Contrôle si les messages de log reçues par journald devraient être forwardés à syslog, au buffer de log kernel (kmsg), à la console système, ou comme message wall. Défaut: activé seulement pour Wall.
MaxLevelStore=
MaxLevelSyslog=
MaxLevelKMsg=
MaxLevelConsole=
MaxLevelWall= Contrôle le niveau de log max des messages à stocker sur disque, forwardés à syslog, kmsg, la console ou wall. (emerg, alert, crit, err, warning, notice, info, debug, ou une valeur entière de 0-7). Défaut: debug, debug, notice, info, emerg, respectivement.
TTYPath= Change la console TTY à utiliser si ForwardToConsole=yes est utilisé. Défaut: /dev/console.

Forward vers syslog

   Les événements journaux peuvent être transférés vers un service le log différent de 2 manières différentes. Avec la première méthode, les messages sont immédiatement transférés à un socket (/run/system/journal/syslog), où le service syslog traditionnel peut être lu. Cette méthode est contrôlée par l'option "ForwardToSyslog=". Avec la seconde méthode, un service syslog devient un client de journal normal, et lit les messages depuis les fichiers journaux, similairement à journalctl. Les messages n'ont pas à être lus immédiatement, ce qui permet à un service de log qui n'est pas lancé tout de suite au boot d'accéder aux mesages depuis le démarrage du système. De plus, les méta-données sont disponible. Cette méthode est disponible seulement si les messages sont stockés dans un fichier journal. Elle ne fonctionne pas avec Storage=none.
^
25 mai 2017

htmlpdflatexmanmd




keys.txt

keys.txt

Service de rétention de clé kernel

   Ce service autorise les clé cryptographiques, jetons d'authentification, mappage d'utilisateur inter-domaine, et similaire d'être mis en cache dans le kernel pour utiliser les systèmes de fichier et d'autres services kernel.

   Les portes-clés sont permis; ce sont des type spéciaux de clé qui peuvent maintenir des liens vers d'autres clés. Chaque processus a 3 souscription de porte clé standard qu'un service peut utiliser pour trouver des clés.

   Le service de clé peut être configuré ou activé avec "Security options"/"Enable access key retention support" (CONFIG_KEYS)

Présentation

   Dans ce contexte, les clés représentent des unités de données cryptographiques, des jetons d'authentification, porte clé, etc. Ils sont représenté dans le kernel pas la structure key.

   Chaque clé a un nombre d'attribut:

- un numéro de série
- un type
- une description
- des informations de contrôle d'accès
- une date d'expiration
- Un payload
- l'état

   Chaque clé reçois un numéro de série du type key_serial_t qui est unique pour la durée de vie de cette clé. Tous les numéros de série sont des entier 32bits positifs. Les programmes userspace peuvent utiliser le numéro de série d'une clé comme moyen d'y accéder, sujet à vérification des permissions.

   Chaque clé est d'un type définis. Les types doivent être enregistrés dans le kernel par un service kernel (tel qu'un système de fichier) avant que des clés de ce type puissent être ajoutées ou utilisées. Les programmes userspace définissent les nouveaux type directement. Les types de clé sont représentés dans le kernel par la structure key_type. cela définis un nombre d'opérations qui peuvent être effectuées sur une clé de ce type.

   Chaque clé a une description, qui devrait être une chaîne affichable. Le type de clé fournis une opération pour effectuer une correspondance entre la description dans un cré et une chaîne critère

   Chaque clé peut être définie pour expirer à un moment donné par la fonction d'instantiation du type. Les clés peuvent être immortelles.

   Chaque clé peut avoir un payload. C'est la quantité de données qui représente la clé. Dans le cas d'un porte-clé, c'est une liste de clés qui sont liées au trousseau; dans le cas d'une clé définie par l'utilisateur, c'est un blob de donnée arbitraire Ce payload n'est pas requis, et le payload peut, en fait, être simplement stocké dans la structure de clé elle-même

   Similairement, quand le userspace souhaite lire le contenu de la clé, si permis, une autre opération de type de clé sera appelée pour convertir le payload attaché à la clé en un blob de donnée.

   Chaque clé peut être dans un des états de base suivant:

- non-instancié. La clé existe, mais n'a pas de données attachée. Les clés demandée depuis le userspace sont dans cet état
- instancié: C'est l'état normal. La clé est formée, et a des donnée attachées
- Négative. C'est un état relativement court. La clé agit comme une note disant que l'appel précédent du userspace a échoué, et agit comme un accélérateur de recherche de clé. une clé négative peut être mise à jours vers un état normal.
- expiré. Les clé ont dépassés la durée de vie définie. Une clé expirée pour être mise à jours pour revenir à un état normal
- révoqué. Une clé est placée dans cet état par une action userspace.
- dead. Le type de clé a été désenregistré

Vue générale du service de clés

   Le service de clé fournis des fonctionnalité:

           Le service de clé définis 3 types de clé spéciaux

                keyring Keyring sont des clé spéciales qui contiennent une liste d'autres clé.
                user Une clé de ce type a une description et un payload qui sont des blobs arbitraires de données. Ils peuvent être manipulés par le userspace et ne sont pas prévus pour être utilisés par les services kernel
                logon Comme une clé user, une clé logon a un payload qui est un blob de données arbitraire. Il est prévue comme un emplacement pour stocker des secrets qui sont accessible au kernel mais pas aux programmes userspace

        Chaque processus souscrit à 3 keyrings: un keyring spécifie au thread, un keyring spécifique au processus, et un keyring spécifique à une session.
        Chaque user ID résident dans le système maintient 3 keyrings spéciaux: un spécifique à l'utilisateur et un spécifique à la session utilisateur.
        Chaque utilisateur a 2 quotas avec lesquel les clés qu'ils possèdent sont suivis. Une limite le nombre total de clé et de trousseaux, et l'autre limite la quantité totale d'espace qui peut être consommé par les descriptions et payload
        Il y a une interface d'appel système par laquelle les programmes peuvent créer et manipuler les clé et trousseaux.
        Il y a une interface kernel par laquelle les services peuvent enregistrer des type et rechercher des clés
        Il y a une manière pour qu'une recherche faite depuis le kernel revienne au userspace pour demander une clé qui ne peut pas être trouvée dans un trousseau de processus
        Un système de fichier optionnel est disponible via lequel la base de clé peuvent vue et manipulée

Permissions d'accès aux clés

   Les clé ont un propriétaire, un groupe d'accès, et un masque de permission. La masque a jusqu'à 8 bit chacun pour le processeur, utilisateur, groupe et les autres accès. Seul six de chaque jeu de 8bits sont définis. Ces permissions sont:

        View Permet de voir une clé ou un trousseau, incluant le type et description
        Read Permet de voir une le payload d'une clé, ou la liste des clé liées au trousseau
        Write Permet d'instancier un payload de clé ou de le mettre à jours, ou d'ajouter/supprimer un lien vers un trousseau.
        Search Permet de rechercher un trousseau et des clés.
        Link Permet de lier une clé ou un trousseau. Pour créer un lien d'un trousseau vers une clé, un processus doit avoir la permission Write sur le trousseau, et la permission Link sur la clé
        Set Attribute Permet de changer le masque de permissions

Support SELinux

   La classe de sécurité "key" a été ajoutée à SELinux pour que le contrôle d'accès puisse être appliqué aux clés créées dans divers contextes. Actuellement, toutes les permissions de base ci-dessus sont fournis dans SELinux, SELinux est simplement invoqué une fois les vérification de permissions de base effectuées.

   La valeur du fichier /proc/self/attr/keycreate influence le labéling des clés créées. Si le contenu de ce fichier correspont à un contexte de sécurité SELinux, la clé obtiendra ce contexte, sinon, la clé obtiendra le contexte courant de la tâche qui a invoqué la création de la clé. Les tâches doivent données explicitement les permissions à assigner à un contexte particulier aux clé nouvellement créées, en utilisant la permission "create" dans la classe de sécurité key.

   Les trousseaux par défaut associés avec les utilisateurs sont labélisés avec le contexte par défaut de l'utilisateur si et seulement si les programmes login ont été configurés correctement pour initialiser keycreate durant le processus de login. Sinon, il vont être labélisé avec le contexte du programme login lui même.

   Noter, cependant, que les trousseaux par défaut associés avec l'utilisateur root sont labélisés avec le contexte kernel par défaut, vu qu'ils sont créés très tôt dans le processus de boot, avant que root ait une chance de se connecter.

   Les trousseaux associés avec de nouveaux threads sont chacun labélisés avec le contexte de leur thread associés, et les trousseaux de session et de processus sont gérés de manière similaire.

Nouveaux fichiers procfs

   2 fichiers ont été ajoutés à procfs par lesquels un administrateur peut trouver le status du service de clé:

/proc/keys Liste les clé qui sont actuellement lisibles par la tâche lisant le fichier, en donnant les informations sur le type, description et permissions. Les clés incluse dans la liste sont celles dont la permission View est donné au processus qui lit le fichier. Noter que les vérifications de sécurité LSM sont effectuées, et peuvent filtrer les clés que le processus courant n'est pas autorisé à voir.


        Le contenu ressemble à:
SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY
00000001 I----- 39 perm 1f3f0000 0 0 keyring _uid_ses.0: 1/4
00000002 I----- 2 perm 1f3f0000 0 0 keyring _uid.0: empty
00000007 I----- 1 perm 1f3f0000 0 0 keyring _pid.1: empty
0000018d I----- 1 perm 1f3f0000 0 0 keyring _pid.412: empty
000004d2 I--Q-- 1 perm 1f3f0000 32 -1 keyring _uid.32: 1/4
000004d3 I--Q-- 3 perm 1f3f0000 32 -1 keyring _uid_ses.32: empty
00000892 I--QU- 1 perm 1f000000 0 0 user metal:copper: 0
00000893 I--Q-N 1 35s 1f3f0000 0 0 user metal:silver: 0
00000894 I--Q-- 1 10h 003f0000 0 0 user metal:gold: 0

        I Instancié
        R Révoqué
        D Mort
        Q Contribut au quota de l'utilisateur
        U En construction
        N Clé négative

/proc/key-users Ce fichier liste les données pour chaque utilisateur qui a au moins une clé dans le système. De telles données incluent les informations de quota et des statistiques:


        [root@andromeda root]# cat /proc/key-users
0: 46 45/45 1/100 13/10000
29: 2 2/2 2/100 40/10000
32: 2 2/2 2/100 40/10000
38: 2 2/2 2/100 40/10000

        ‹UID› User ID
        ‹usage› Structure refcount
        ‹inst›/‹keys› Nombre total de clés et le nombre instanciées
        ‹key›/‹max› Quota - compteur de clé
        ‹bytes›/‹max› Quota - taille de clé

   4 nouveaux fichiers sysctl ont été ajoutés également pour contrôler les limites de quota:

/proc/sys/kernel/keys/root_maxkeys Nombre maximum de clés que root peut posséder
/proc/sys/kernel/keys/root_maxbytes Taille maximum en octets que root peut stocker dans ces clés
/proc/sys/kernel/keys/maxkeys Nombre total de clé qu'un utilisateur peut posséder
/pro/sys/kernel/keys/maxbytes Taille maximum en octets qu'une utilisateur peut stocker dans ces clés

Garbage collector

   Les clés morets (pour lesquelles le type a été supprimé) sont automatiquement unlinked des trousseaux et supprimés dès que possible par un collector en tâche de fond.

Similairement, les clé révoquées et expirées sont collectées, mais seulement au bout d'un certain temps. Ce délai est définis en secondes dans:
/proc/sys/kernel/keys/gc_delay
^
17 mars 2010

htmlpdflatexmanmd




Linux Bridge

Linux Bridge

Permet de transformer une machine Linux en commutateur

   Sl est très versatile et très performant. Il est notamment utilisé sur certaines box (livebox, etc...). Il est ainsi possible de créer plusieurs commutateurs virtuels, d’appliquer des règles de filtrage avec Iptables, ou plus adapté, Ebtables. Linux bridge gère le STP et les trames taguées. Il est nécessaire que le noyau linux soit compilé avec l’option "networking -› 802.1d Ethernet Bridging" . Sous Debian, les noyaux sont compilés avec cette option par défaut. Il suffit donc d’installer le paquet bridge-utils

Configuration

   Linux bridge est très simple à configurer, il suffit de créer un commutateur, lui inclure les interfaces que l’on désire, et si nécessaire de paramétrer le STP.

brctl addbr ajouter un commutateur
brctl delbr supprimer un commutateur
brctl addif ajouter une interface a un commutateur
brctl delif supprimer une interface d’un commutateur
brctl show affiche la liste des commutateurs
brctl showmacs affiche la liste des addresses MAC
brctl stp active/désactive le stp
brctl showstp affiche les info stp
brctl setageing ajuste ageing time
brctl setbridgeprio ajuste bridge priority
brctl setfd ajuste le bridge forward delay
brctl sethello ajuste le hello time
brctl setmaxage ajuste le max message age
brctl setpathcost ajuste le path cost
brctl setportprio ajuste le port priority

Exemples

pour créer un commutateur avec 2 interfaces:
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addbr mybridge
brctl addif mybridge eth0
brctl addif mybridge eth1
ifconfig mybridge up
Il est nécessaire que les interfaces n’aient pas d’adresses IP. Ici, la machine ne possède aucune adresse IP, elle n’est donc pas manageable à distance. Pour lui donner une adresse, remplacer la dernière ligne par:
ifconfig mybridge 192.168.100.5 netmask 255.255.255.0
ou si on préfère une attribution par dhcp:
dhclient mybridge
À noter qu’il est possible de créer un commutateur avec une seule interface, il est donc possible sur un poste client de créer un commutateur sur l’interface réseau, et ainsi de pouvoir profiter des possibilités d’Ebtables pour le filtrage.
^
06 mai 2017

htmlpdflatexmanmd




locale

locale

Description du support multilangue

   Une locale est un jeu de langue et de règles culturelle. Celà couvre les aspects tels que la langue pour les messages, les jeux de caractères, conventions lexicographiques, ett. Un programme doit être capable de déterminer sa locale et agir en accord pour être portable à différentes cultures.

   Il y a différentes catégories pour les informations de locale qu'un programme peut avoir besoin:

LC_ADDRESS Change les paramètres qui décrivent les formats (ex: adresse postale) utilisée pour décrire les emplacements et éléments lié à la géographie.
LC_COLLATE Cette catégorie gouverne les règles de collation utilisées pour les expressions régulières et le trie, incluant les classes d'équivalences de caratère et les éléments de collation multicaractère. Cette catégorie de locale change le comportement des fonctions strcoll(3) et strxfrm(3), qui sont utilisé pour comparer les chaînes dans l'alphabet local.
LC_CTYPE Cette catégorie détermine l'interprétation des séquences d'octet comme caractère, les classifications de caractère, et le comportement des classes de caractère. Cette catégorie détermine également les règles de translitération de caractère pour iconv(1), et iconv(3). Il change le comportement des fonctions de manipulation de caractère et de classification, comme isupper(3) et toupper(3), et les fonctions de caractère multi-octet comme mblen(3) ou wctomb(3)
LC_IDENTIFICATION Change les paramètres liées aux métadonées pour la locale. Les applications qui ont besoin de cette information peut utiliser nl_langinfo(3) pour récupérer des éléments non standard, tel que _NL_IDENTIFICATION_TITLE (titre de ce document locale) et _NL_IDENTIFICATION_TERRITORY (territoire géographique auquel ce document s'applique), qui peut retourner des chaînes comme "English locale for the USE" et "USA".
LC_MONETARY Détermine le formattage utilisé pour les valeurs numériques monétaires. Celà change les informations retournées par localeconv(3)
LC_MESSAGES Cette catégorie affecte la langue dans laquelle les messages sont affichés. gettext(3), ngettext(3) et rpmatch(3) utilisent cette information.
LC_MEASUREMENT Paramètres liés au système de mesure dans la locale. nl_langinfo(3) permet de récupérer l'élément _NL_MEASUREMENT_MEASUREMENT, qui retourne un pointeur vers un caractère qiu a la valeur 1 (metric) ou 2 (US customary units)
LC_NAME Décrit les formats utilisé pour les personnes. nl_langinfo(3) retourne cette information.
LC_NUMERIC Détermine les règles de formattage utilisées pour les valeurs numériques non-monétaires
LC_PAPER Paramètres liés aux dimensions de taille de papier standard
LC_TELEPHONE Décrit le format utilisé pour les numéros de téléphone
LC_TIME Format utilisé pour les dates et valeurs de temps
LC_ALL Toutes les catégories

   La variable d'environnement suivante est utilisée par newlocale(3) et setlocale(3), et donc affecte tous les programmes nom localisés:

LOCPATH Liste de chemins, séparés par un ':', qui devraientt être utilisé pour trouver les données de locale. Si définis, seul les fichiers provenant de ces chemins et le chemin par défaut du système sont utilisés.

Fichiers

/usr/lib/locale/locale-archive Emplacement d'archive de locale par défaut
/usr/lib/locale Emplacement par défaut pour les fichiers de locale
^
06 mai 2017

htmlpdflatexmanmd




/etc/locale.conf

/etc/locale.conf

Fichier de configuration pour les paramètres de locales

   Ce fichier configure les paramètres de locales système. Il est lu par systemd. Le format consiste d'une liste séparée par une nouvelle ligne d'assignement de variables compatible avec le shell.

   Les options de ligne de commande kernel locale.LANG=, locale.LANGUAGE=, locale.LC_CTYPE=, locale.LC_NUMERIC=, locale.LC_TIME=, locale.LC_COLLATE=, locale.LC_MONETARY=, locale.LC_MESSAGES=, locale.LC_PAPER=, locale.LC_NAME=, locale.LC_ADDRESS=, locale.LC_TELEPHONE=, locale.LC_MEASUREMENT=, locale.LC_IDENTIFICATION= peuvent être utilisées au boot pour définir les locales. les paramètres suivants peuvent être définis:

LANG=
LANGUAGE=
LC_CTYPE=
LC_NUMERIC=
LC_TIME=
LC_COLLATE=
LC_MONETARY=
LC_MESSAGES=
LC_PAPER=
LC_NAME=
LC_ADDRESS=
LC_TELEPHONE=
LC_MEASUREMENT=
LC_IDENTIFICATION=

   Note: LC_ALL ne peut pas être configuré dans ce fichier.

^
06 mai 2017

htmlpdflatexmanmd




localectl

localectl

Contrôle la locale système et les paramètres clavier

   localectl peut être utilisé pour afficher ou changer la locale sysème et les paramètres de couche clavier. Il communique avec systemd-localed pour modifier les fichiers tels que /etc/locale.conf et /etc/vconsole.conf Noter que les changements effectués avec cet utilitaire peut nécessiter de reconstruire initramfs. Noter que systemd-firstboot(1) peut être utilisé pour initialiser la locale système pour les images système montés (mais non chargés)

OPTIONS

--no-ask-password Ne demande pas l'authentification utilisateur pour les opérations privilégiées
--no-convert si set-keymap ou set-x11-keymap est invoqué avec cette option, le keymap ne sera pas convertis de la console vers X11, ou X11 vers la console, respectivement
-H, --host= Exécute l'opération à distance
--no-pager Ne pipe pas dans un pager

Commandes

status Affiche le status courant
set-locale LOCALE... Définis la local système. Prend un ou plusieurs assignement tel que "LANG=deDE.utf8", etc.
list-locales Liste les locales disponibles
set-keymap MAP [TOGGLEMAP] Définis le mappage clavier pour la console et X11.
list-keymaps Liste les mappages clavier disponibles pour la console
set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]] Définis le mappage clavier pour X11 et les claviers virtuels. voir kbd(4)
list-x11-keymaps
list-x11-keymap-layouts
list-x11-keymap-variants [LAYOUT]
list-x11-keymap-options Liste les modèles, couche, variantes et options de clavier X11.

Variables d'environnement

SYSTEMD_PAGER Pager à utiliser. Vide, ou 'cat' est équivalent à --no-pager
SYSTEMD_LESS Remplace les options par défaut de less ('FRSXMK')
^
22 mai 2017

htmlpdflatexmanmd




lsinitrd

lsinitrd

Outil pour afficher le contenu d'une image initramfs

OPTIONS

-s, --size Trie le contenu par taille
-f, --file ‹filename› afficher le contenu du fichier spécifié
-k, --kver ‹kernel version› Affiche l'initramfs de la version kernel spécifiée
--unpack décompresse l'initramfs dans le répertoire courant au lieu d'afficher le contenu
--unpackearly décompresse le microcode dans le répertoire courant
-v, --verbose décompresse en mode verbeux
^
17 janvier 2012

htmlpdflatexmanmd




mesg

mesg

Contrôle les accès en écriture à votre terminal.

OPTIONS

y autorise l'accès en écriture à votre terminal
n Interdit l'accès en écriture à votre terminal

   Sans option, mesg affiche l'état courant. Si vous être loggé sur plusieurs terminaux, vous pouvez définis le statut des autres sessions en utilisant une redirection. Par exemple: mesg n ‹ /dev/pts/46
^
17 mars 2010

htmlpdflatexmanmd




netstat

netstat

Affiche les connexions réseau, les tables de routage, les statistique des interfaces, les connexions masquées, les messages netlink, et les membres multicast

   Sans option, affiche l'état des connexions réseau en listant les sockets ouvertes.

  Familles d'adresse: --tcp --udp --raw --groups --unix --inet [--ax25] [--ipx] [--netrom]

-e  donne quelques info supplémentaire (userid)
-v permet de signaler des familles d'adresses connues non supportées par le noyau
-o affiche des informations supplémentaires sur les timers réseau
-a affiche tous les sockets, y compris les sockets d'écoute des serveurs
-r, --route permet de visualiser les tables de routage (comme route)
-i, --interfaces affiche une table des interfaces réseaux (comme ifconfig)
-M, --masquerade Permet de voir les sessions ayant de l'IP-masquerade
-N, --netlink Les noyaux récents supportent une communication avec l'utilisateur nommé netlink. affiche des messages relatifs à la création, la suppression d'interfaces ou de routes à partir de /dev/route

OPTIONS

-v, --verbose active le mode verbeux
-n, --numéric affiche des adresses en format numérique, au lieu du nom symbolique
-p, --programs affiche le nom et le PID des processus propriétaires de chaque socket décrite
-l affiche les ports en écoute
-A, --af utilise une méthode différente pour affecter les familles d'adresses. utiliser des "," pour séprarer les familles d'adresses (ex : inet, unix, ipx, ax25, netrom et ddp). L'utilisation des options longues --inet, --unix, --ipx, --ax25, --netrom et --ddp à le même effet
-c, --continuous affiche la table séléctionnée chaque seconde.

Exemples

Voir quel programme utilise quel port (ou encore netstat -latupe)
netstat -a -A inetd -p
lister les services associés aux ports en écoute
netstat -ntulp
^
05 mai 2017

htmlpdflatexmanmd




NetworkManager

NetworkManager

Service de gestion réseaux

   Le service NetworkManager tente de simplifier et d'automatiser la configuration réseaux et les opérations réseaux. Les informations sur le réseau sont exportés via D-Bus.

   NetworkManager exécute les scripts dans /etc/NetworkManager/dispatcher.d ou ses sous-répertoire dans l'ordre alphabétique en réponse aux événements réseaux. Chaque script devrait être un fichier exécutable possédé par root. Ils ne doivent pas être en écriture par le groupe et les autres, ni suid.

   Chaque script reçoit 2 arguments, le premier est le nom de l'interface, et le second est l'action. Pour les actions de périphérique, l'interface est le nom de l'interface kernel utilisable pour la configuration IP. Donc c'est soit VPN_IP_IFACE, DEVICE_IP_IFACE, ou DEVICE_IFACE. Pour les action hostname et connectivity-change, c'est toujours none.

pre-up L'interface est connectée au réseau, mais pas encore activée. Les scripts agissant dans cet événement doivent être dans le sous-répertoire pre-up.d, et NetworkManager attend la fin de l'exécution du script avant d'indiquer aux applications que l'interface est pleinement activée
up L'interface est activée
pre-down L'interface n'est pas encore déconnecté du réseau. Les scripts agissant dans cet événement doivent être placés dans le sous-répertoire pre-down.d, et NetworkManager attend la fin de l'exécution du script avant de déconnecter l'interface. Noter que cet événement n'est pas émis pour les déconnections forcées
down L'interface a été désactivée
vpn-pre-up Le VPN est connecté au réseau mais n'est pas encore activé. Les scripts sont dans le sous-répertoire pre-up.d
vpn-up Une connection VPN a été activée
vpn-pre-down Le VPN n'est pas encore déconnecté du réseau. Les scripts agissant dans cet événement doivent être placés dans le sous-répertoire pre-down.d, et NetworkManager attend la fin de l'exécution du script avant de déconnecter l'interface. Noter que cet événement n'est pas émis pour les déconnections forcées
vpn-down La connection VPN a été désactivée
hostname Le nom d'hôte du système a été mis à jours. Le nom de l'interface est vide et aucune variable d'environnement n'est définie pour cette action.
dhcp4-change Le bail dhcpv4 a changé
dhcp6-change Le bail dhcpv6 a changé
connectivity-change L'état de connexion réseau a changé

Variables d'environnement

   L'environnement contient plus d'informations sur l'interface et la connexion. Les variables suivanetes sont disponible à utiliser dans les scripts

CONNECTION_UUID l'UUID du profile de connexion
CONNECTION_ID le nom du profile de connexion
CONNECTION_DBUS_PATH Le chemin D-Bus de NetworkManager de la connexion
CONNECTION_FILENAME Le fichier du profile de connexion
CONNECTION_EXTERNAL À 1, indique que la connexion décris une configuration réseau créé en-dehors de NetworkManager
DEVICE_IFACE Nom de l'interface du périphérique.
DEVICE_IP_IFACE Nom de l'interface IP du périphérique.
IP4_ADDRESS_N Adresse IPv4 sous la forme "adresse/préfixe passerelle", où N est un numéro de 0 à (adresses IPv4 -1). La passerelle est déprécié.
IP4_NUM_ADDRESSES Contient le nombre d'adresses IPv4 que le script peut attendre
IP4_GATEWAY Passerelle IPv4
IP4_ROUTE_N Route IPv4 au format "address/prefix next-hop metric", où N est un nombre de 0 à ‹route-1›
IP4_NAMESERVERS Liste séparé par un espace de serveurs DNS
IP4_DOMAINS Liste séparé par un espace de domaines de recherche
DHCP4_‹dhcp-option-name› Si la connection utilise DHCP, chaque option DHCP est définis dans une variable
IP6_‹name› Certaines variables IPv4 sont également disponible pour IPv6
DHCP6_‹name› Certaines variables IPv4 sont également disponible pour IPv6
CONNECTIVITY_STATE L'état de connexion réseau

   Dans le cas du VPN, VPN_IP_IFACE est définis, et les variables IP4_* et IP6_* avec le préfixe VPN sont exportés également, comme VPN_IP4_ADDRESS_0, VPN_IP4_NUM_ADDRESSES.

   Les scripts sont lancés un à la fois, mais de manière asynchrone depuis le processus principale NetworkManager, et sont tués s'ils sont trop long. Si un script doit prendre beaucoup de temps pour s'exécuter, il faut lancer un processus enfant pour que le parent puisse se terminer rapidement. Les scripts qui sont des liens symboliques pointant dans /etc/NetworkManager/dispatcher.d/no-wait.d/ sont lancés immédiatement, sans attendre la fin du script précédent.

OPTIONS

-N, --no-daemon Ne lance pas en tâche de fond
-d, --debug Mode debug
-p, --pid-file Spécifie l'emplacement du fichier pid
--state-file Spécifie un fichier pour stocker l'état de NetworkManager. Défaut: /var/lib/NetworkManager/NetworkManager.state
--config Spécifie le fichier de configuration. Défaut: /etc/NetworkManager/NetworkManager.conf
--plugins Liste les plugins utilisés pour gérer les paramètres de connexions système. (keyfile, ifcfg-rh, ifcfg-suse, ifupdown)
--log-level Définis le niveau de log
--log-domains Liste d'opérations loggés
--print-config Affiche la configuration de NetworkManager

Propriétés udev

   Le gestionnaire de périphérique udev est utilisé pour la découverte. Les propriétés suivantes influencent la manière dont NetworkManager gère les périphériques:

NM_UNMANAGED Aucune connexion par défaut n'est créé et ne tente pas d'activation automatique si cette propriété est à 1.

Signaux

SIGHUP Recharge la configuration de NetworkManager
SIGUSR1 Force à ré-écrire la configuration DNS, mais ne redémarre pas le plugin dns et n'interrompt pas la résolution de nom.
^
05 mai 2017

htmlpdflatexmanmd




NetworkManager.conf

NetworkManager.conf

Fichier de configuration de NetworkManager

   /etc/NetworkManager/NetworkManager.conf, /etc/NetworkManager/conf.d/name.conf, /usr/lib/NetworkManager/conf.d/name.conf, /var/lib/NetworkManager/NetworkManager-intern.conf sont les emplacement par défaut de la configuration de NetworkManager

[main]

plugins[+|-]=‹plugin› Définis une liste de plugins à utiliser. Défaut: keyfile
monitor-connection-files Définis si les plugins configurés devraient définir les monitors de fichier. Désactivé par défaut.
auth-polkit Spécifie si le système utilise PolicyKit pour l'authorisation. à false, toutes les requêtes sont autorisées. à true, les requêtes non-root sont autorisées en utilisant PolicyKit. Défaut: true.
dhcp Définis le client DHCP utilisé. (dhclient, dhcpd, internal). Défaut: les 3, dans cet ordre.
no-auto-default Spécifie les périphériques pour lesquels NetworkManager ne devrait pas créer de connexion par défaut. Par défaut, NetworkManager crée une connexion pour tout périphérique Ethernet qui est géré et qui n'a pas de connexion configuré. Peut avoir la valeur spéciale '*' pour s'appliquer à tous les périphériques. /var/run/NetworkManager/no-auto-default.state contient ces périphériques pour empêcher de créer la connection par défaut. Cette liste peut contenir une liste de périphérique ou d'adresse MAC.
ignore-carrier
assume-ipv6ll-only Spécifie les périphériques pour lequels NetworkManager tente de générer une connexion basé sur la configuration initiale quand le périphérique a seulement une adresse de lien local IPv6
configure-and-quit à true, NetworkManager quitte une fois la configuration réseau initiale terminée, et lance des helpers pour préserver les bails dhcp et les adresses ipv6
dns Définis le mode de traitement dns (resolv.conf):

        default met à jours /etc/resolv.conf
        dnsmask Lance dnsmask comme serveur de nom cache local, en utilisant un split dns s'il y a une connexion VPN. Il est possible de passer des paramètre à dnsmask en les ajoutant dans les fichiers dans ${prefix}/etc/NetworkManager/dnsmasq.d/
        unbound NetworkManager utilise dnssec-triggerd avec une configuration split DNS et le support de dnssec. /etc/resolv.conf est géré par dnssec-triggerd
        none NetworkManager ne modifie pas resolv.conf. implique "rc-manager unmanaged"

rc-manager Définis le mode de gestion de /etc/resolv.conf.

        symlink /etc/resolv.conf est un lien vers un fichier dans le répertoire runtime. Si /etc/resolv.conf est déjà un lien pointant vers un autre emplacement, il n'est pas modifié.
        file NetworkManager gérer /etc/resolv.conf comme fichier.
        resolvconf Lance resolvconf pour mettre à jours la configuration DNS
        netconfig Lance netconfig pour mettre à jours la configuration DNS
        unmanaged Ne touche pas à /etc/resolv.conf

debug Liste séparé par des "," d'options de debuggage. Cette valeur est combinée avec la variable NM_DEBUG. Les valeurs supportées sont:

        RLIMIT_CORE Définis "ulimit -c unlimited" pour écrire les coredumps.
        fatal-warnings Définis g_log_set_always_fatal() sur coredump dans les messages d'alert de glib. == --g-fatal-warnings

autoconnect-retries-default Nombre de fois qu'une activation de connexion devrait être automatiquement tenté avant de basculer sur une autre. Ne s'applique que pour les connexions qui peuvent auto-connect et ont la propriété "connection.autoconnect-retries" à -1. Défaut: 4

[keyfile]

   Cette section contient les options spécifique au plugin keyfile, et est normalement utilisé quand on utilise pas d'autre plugin spécifique à une distribution

path Emplacement où les keyfiles sont lus et stockés. Défaut: ${prefix}/etc/NetworkManager/conf.d
unmanaged-devices Voir la section format de liste de périphérique pour la syntaxe

[ifupdown]

   Cette section contient les options spéciques au plugin ifupdown

managed à true, les interfaces d-ans /etc/network/interfaces sont gérées par NetworkManager. Défaut: false

[logging]

   Cette section contrôle les log de NetworkManager. Ces paramètres peuvent être écrasés par les options --log-level et --log-domains

level Niveau de verbosité (OFF, ERR, WARN, INFO, DEBUG, TRACE)
domains Liste de domaines: PLATFORM, RFKILL, ETHER, WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS, VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE, OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE, DBUS_PROPS, TEAM, CONCHECK, DCB, DISPATCH, AUDIT, SYSTEMD, VPN_PLUGIN, NONE, ALL, DEFAULT, DHCP, IP.
backend debug (syslog+stderr), syslog, journal
audit Envoie les enregistrements d'audit à auditd. À false, ces données sont seulement envoyées au système de logging système. Défaut: true

[connection]

   Spécifie les valeurs par défaut pour les connexions

connection.autoconnect-slaves
connection.lldp
connection.stable-id
ethernet.cloned-mac-address
ethernet.generate-mac-address-mask Défaut: preserve
ethernet.mtu à 0, le MTU n'est pas reconfiguré durant l'activation du périphérique sauf si requis par les contraintes IPv6. Non spécifié, un DHCP6/SLAAC est utilisé ou une valeur par défaut de 1500
ethernet.wake-on-lan
infiniband.mtu à 0, le MTU n'est pas reconfiguré durant l'activation du périphérique sauf si requis par les contraintes IPv6. Non spécifié, un DHCP6/SLAAC est utilisé ou laissé non-spécifié
ip-tunnel.mtu À 0, le MTU n'est pas reconfiguré durant l'activation du périphérique sauf si requis par les contraintes IPv6. Non spécifié, un DHCP6/SLAAC est utilisé ou une valeur par défaut de 1500
ipv4.dad-timeout
ipv4.dhcp-timeout
ipv4.route-metric Non spécifié, la valeur par défaut pour l'interface est utilisée
ipv6.ip6-privacy non définis, utilise le contenu de /proc/sys/net/ipv6/conf/default/use_tempaddr
ipv6.route-metric
vpn.timeout Défaut: 60 secondes
Wifi.ccloned-mac-address défaut: preserve
wifi.mtu À 0, le MTU n'est pas reconfiguré durant l'activation du périphérique sauf si requis par les contraintes IPv6. Non spécifié, un DHCP6/SLAAC est utilisé ou une valeur par défaut de 1500
wifi.powersave Défaut: ignore

Sections connection

Il est possible de configurer plusieurs sections connection en ayant des noms qui commencent tous par "connection":
[connection]
ipv6.ip6-privacy=0
connection.autoconnect-slaves=1
vpn.timeout=120
    
[connection-wifi-wlan0]
match-device=interface-name:wlan0
ipv4.route-metric=50
    
[connection-wifi-other]
match-device=type:wifi
ipv4.route-metric=55
ipv6.ip6-privacy=1

   Les sections avec un fichier sont considérés dans l'ordre d'apparence, à l'exception que la section [connection] est toujours considéré en dernier. En vérifiant une valeur par défaut, les sections sont recherchés jusqu'à ce que la valeur soit trouvée.

   Les propriétés suivantes contrôle comment une section connection s'applique:

match-device Permet de restreindre les périphériques
stop-match (bool) Si match-device match, les sections suivantes ne sont pas considérés. Défaut: no

[device]

   Configuration persistante par périphérique. Exemple:
   match-device=interface-name:eth3

   Les propriétés suivantes sont supportés:

ignore-carrier Spécifie les périphérique pour lesquel NetworkManager va ignorer l'état carrier. Normalement, pour les périphériques qui supportent carrier-detect comme Ethernet et InfiniBand, NetworkManage n'autorise seulement à activer une connexion si carrier est présent (ex: un cable est connecté), et est désactivé si carrier est détruit plus de quelques secondes
wifi.scan-rand-mac-address Configure la génération aléatoire d'adresse MAC durant le scan. Défaut: yes.
wifi.scan-generate-mac-address-mask Tout comme les paramètres par connection ethernet.generate-mac-address-mask et wifi.generate-mac-address-mask, permet deconfigurer la génération aléatoire MAC durant le scan

Sections device

   Tout comme la section [connection], la section [device] fonctionne de manière similaire

[connectivity]

   Cette section contrôle la fonctionnalité de vérification de connectivité optionnelle de NetworkManager. Cela permet de détecter si le système peut accéder à internet ou s'il est derrière un portail captif.

uri L'URI d'une page web à requêter périodiquement. Cette page devrait retourner l'en-tête X-NetworkManager-Status avec une valeur "online". Alternativement, le corp peut être être définis à "NetworkManager is online".
interval Interval en secondes de vérification de la connectivité
response Contrôle la vérification du contenu du corps. Défaut: "NetworkManager is online"

[global-dns]

   Cette section configure les paramètres DNS globaux qui écrasent la configuration spécifique à une connection

search Liste de domaines de recherche
options Liste d'options à passer au résolveur

[global-dns-domain]

   Les sections commençant par "global-dns-domain-" autorisent une configuration DNS globale pour des domaines spécifiques. La partie du nom qui suit spécifie le nom du domaine auquelle la section s'applique.

servers Liste d'adresses de serveurs DNS à utiliser
options Liste d'options DNS spécifique au domaine

[.config]

   Section spéciale qui contient les options qui s'appliquent au fichier de configuration qui contient l'option

enable à false, le fichier de configuration n'est pas pris en compte durant le chargement. Défaut: true. Noter que le fichier principal NetworkManager.conf ne peut pas être désactivé

Plugins

keyfiles plugin générique qui supporte tous les types de connection et capacités de NetworkManager.
ifcfg-rh Utilisé sous Fedora et RedHat et lit et écris les configuration dans /etc/sysconfig/network-scripts/ifcfg-*. Activer ce module active également ibft. Utiliser no-ibft pour l'empêcher
ifcfg-suse Déprécié. Utiliser keyfile à la place
ifupdown Plugin pour les distributions Debian et Ubuntu.
ibft, no-ibft Permet de lire la configuration iBFT (iSCSI Boot Firmware Table). La configuration est lue avec /sbin/iscsiadm. Noter que ibft utilise /sbin/iscsiadm et donc nécessite CAP_SYS_ADMIN.

Format de listing de périphérique

Matche tous les périphériques
IFNAME match le nom de l'interface (sensible à la casse)
HWADDR Match l'adresse MAC du périphérique
interface-name-IFNAME, interface-name:~ IFNAME Match le nom de l'interface du périphérique. le globbing est supporté (* et ?). sensible à la casse
interface-name:=IFNAME Matche de nom de l'interface. Pas de globbing et sensible à la casse
mac:HWADDR Matche l'adresse MAC de l'interface
s390-subchannels:HWADDR Matche le périphérique basé sur l'adresse subchannel
type:TYPE Matche le type de périphérique
except:SPEC Match négatif de périphérique
SPEC[,;]SPEC Plusieurs SPECS peuvent être concaténés.

Exemples:
interface-name:em4
mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2
interface-name:vboxnet*,except:interface-name:vboxnet2
*,except:mac:00:22:68:1c:59:b1
^
05 mai 2017

htmlpdflatexmanmd




nm-online

nm-online

Indiquer si le réseau est connecté

   nm-online est un utilitaire qui cherche à savoir si vous être online. C'est fait en demandant à NetworkManager son status.

OPTIONS

-t, --timeout Délai d'attente pour une connexion. défaut: 30 secondes
-x, --exit Quitte immédiatement si NetworkManager ne fonctionne pas ou se connecte
-q, --quiet N'affiche rien
-s, --wait-for-startup Attend que NetworkManager ait complété son démarrage.

Codes de sortie

0 Succès - déjà online ou connexion établie durant le timeout
1 offline
2 Erreur inattendue
^
12 mai 2017

htmlpdflatexmanmd




nm-settings

nm-settings

Paramètres et propriétés des profiles de connexion NetworkManager

   NetworkManager est basé sur un concept de profiles de connexion. Les profiles de connexions sont gérés par NetworkManager via le services de paramètres et sont exportés sur D-Bus.

802-1x

altsubject-matches (tableau de chaînes) Liste de chaînes à matcher avec le altSubjectName du certificat présenté par le serveur d'authentification. vide, aucune vérification n'est effectuée. Défaut: vide
anonymous-identity (chaîne) identité anonyme pour les méthodes d'authentification EAP. Utilisé comme identité non-chiffrée avec les type EAP qui supportent différentes identités tunnelisées come EAP-TTLS
ca-cert (chaîne d'octets) Contient le certificat CA utilisé par la méthode EAP spécifié dans la propriété eap.
ca-path (chaîne) chemin d'un répertoire contenant les certificats à ajouter à la chaîne de vérification
client-cert (chaîne d'octets) Contient le certificat client utilisé par la méthode EAP spécifiée dans la propriété eap
domain-suffix-match (chaîne) Contrainte pour le nom de domaine. Si définis, ce FQDN est utilisé comme suffixe requis pour les éléments dNSName du certificat présenté par le serveur d'authentification.
eap (tableau de chaînes) La méthode EAP permise pour l'authentification avec 802.1x. (leap, md5, tls, peap, ttls, pwd fast).
identity (chaîne) Identité pour les méthodes d'authentification. Généralement le login
name (chaîne) Nom du paramètre qui identifie le paramètre dans la connexion. Chaque type de paramètre a un nom unique pour ce type, par exemple ppp, wireless, wired. Défaut: 802-1x
pac-file (chaîne) Chemin du fichier contenant PAC pour EAP-FAST
password (chaîne) mot de passe pour les méthodes l'authentification EAP. A précédence sur 'password-raw'
password-flags (NMSettingSecretFlags) Flags indiquant comment manipuler la propriété password
password-raw (tableau d'octets) Mot de passe utilisé par les méthodes d'authentification EAP.
password-raw-flags (NMSettingSecretFlags) Flags indiquant comment manipuler la propriété password-raw
phase1-fast-provisionning (chaîne) active/désactive le provisionning in-line des accréditifs EAP-FAST quand FAST est spécifié comme méthode EAP. (0-désactivé, 1-provisionning non-authentifié, 2-provisionning authentifié, 3-provisionning authentifié et non authentifié)
phase1-peaplabel (chaîne) Force l'utilisation du nouveau label PEAP durant la dérivation de clé. Certains serveurs RADIUS peuvent l'exiger pour interopérer avec PEAPv1.
phase1-peapver Version PEAP à utiliser. Non définis, la version donné par le serveur est utilisé. (0 ou 1)
phase2-altsubject-matches (tableau de chaînes) Liste de chaîne à matche avec le altSubjectName du certificat présenté par le serveur d'authentification durant la phase 2. vide, aucune vérification n'est effectuée
phase2-auth (chaîne) Spécifie les méthodes d'authentification non-EAP de la phase 3 quand EAP utilise un tunnel TLS (pap, chap, mschap, mschapv2, gtc, otp, md5, tls).
phase2-autheap (chaîne) Spécifie les méthodes d'authentification EAP de la phase 2 quand la méthode EAP utiliser un tunnel TLS. (md5, mschapv2, otp, gtc, tls).
phase2-ca-cert (tableau d'octets) Contient le certificat CA de la phase 2.
phase2-ca-path (chaîne) répertoire contenant les certificats additionnels
phase2-client-cert (tableau d'octets) Contient le certificat client de la phase 2.
phase2-domain-suffix-match (chaîne) Contraint le nom de domaine du serveur. ce FQDN est un suffixe à matcher dans dNSName du certificat présenté par le serveur d'authentification.
phase2-private-key (tableau d'octets) Contient la clé privée de la phase 2 quand phase2-auth ou phase2-autheap est à 'tls'.
phase2-private-key-password [chaîne) mot de passe utilisé pour déchiffrer la clé privée
phase2-private-key-password-flags (NMSettingSecretFlags) Flags indiquant comment gérer la propriété phase2-private-key-password.
phase2-subject-match (chaîne) sous-chaîne à matcher avec le sujet du certificat présenté par le serveur d'authentification durant la phase2.
pin (chaîne) PIN utilisé pour les méthodes d'authentification EAP
pin-flags (NMSettingSecretFlags) Flags indiquant comme gérer la propriété pin.
private-key (tableau d'octets) Contient la clé privée quand la propriété eap est à 'tls'.
private-key-password (chaîne) mot de passe pour déchiffrer la clé privée
private-key-password-flags (NMSettingSecretFlags) flags indiquant comme gérer la propriété private-key-password.
subject-match (chaîne) sous-chaîne à matcher avec le sujet du certificat présenté par le serveur d'authentification. déprécié en faveur de NMSetting8021x:domain-suffix-match
system-ca-certs (bool) à TRUE, écrase ca-path et phase2-ca-path en utilisant le répertoire CA système spécifié à la configuration avec --system-ca-path.

adsl

encapsulation (chaîne) Encapsulation de la connexion ADSL. (vcmux ou llc)
name (chaîne) nom du paramètre, qui identifie de manière unique le paramètre dans la connexion. défaut: adsl
password (chaîne) mot de passe utilisé pour authentifier le service ADSL
password-flags (NMSettingSecretFlags) flags indiquant comme gérer la propriété password
protocol (chaîne) protocole de connexion ADSL (pppoa, pppoe, ou ipoatm)
username (chaîne) username pour l'authentification
vci (uint32) VIC de la connexion ADSL
vpi (uint32) VPI de la connexion ADSL

bluetooth

bdaddr (tableau d'octets) l'adresse bluetooth du périphérique
name (chaîne) nom du paramètrage: bluetooth
type (chaîne) soit 'dun' pour Dial-Up Networking ou 'panu' pour Personnal Area Networking

bond

interface-name (chaîne) déprécié en faveur de connection.interface-name.
name (chaîne) nom du paramétrage (bond)
options (dictionnaire) dictionnaire de paires clé/valeurs d'option bonding. défaut: {'mode':'balance-rr'}

bridge

ageing-time (uint32) temps en seconde de la durée de l'adresse MAC ethernet. défaut: 300
forward-delay (uint32) forwarding delay STP, en secondes. Défaut: 15
hello-time (uint32) hello time STP, en secondes. défaut: 2
interface-name (chaîne) déprécié en faveur de connection.interface-name
mac-address (tableau d'octets) si spécifié, l'adresse mac du commutateur.
max-age (uint32) amximum message age STP, en secondes. défaut: 20
multicast-snooping (bool) contrôle si IGMP snooping est activé pour ce commutateur.
name (chaîne) nom du paramétrage: bridge
priority (uint32) Priorité STP du bridge. défaut: 32768
stp (bool) Active STP.

bridge-port

hairpin-mode (bool) Active le mode hairpin pour le port, les frames sont renvoyés via le port ou la frame a été reçue
name (chaîne) nom du paramètrage = bridge-port
path-cost (uint32) port cost STP pour les destinations via ce port
priority (uint32) priorité STP de ce port

cdma

name (chaîne) nom du paramètrage: cdma
number (chaîne) numéro à composer pour établir la connexion au réseau mobile CDMA. défaut: #777
password (chaîne) mot de passe pour l'authentification
password-flags (NMSettingSecretFlags) Flags indiquant comment manipuler la propriété password
username (chaîne) username pour l'authentification

connection

autoconnect (bool) si la connexion est automatiquement connectée par NetworkManager quand les ressources pour la connexion sont disponibles. Défaut: TRUE
autoconnect-priority (int32) Priorité autoconnect. défaut: 0
autoconnect-retries (int32) nombre de tentatives de connexions durant l'autoactivation. 0 signifie indéfiniment, -1 et le défaut global (4 fois si non modifié)
autoconect-slaves (NMSettingConnectionAutoconnectSlaves) Si ou non les esclaves de cette connexion devraient être automatiquement activés. 0-non, 1-activer les connexions esclave, -1-défaut.
gateway-ping-timeout (uint32) › à 0, délais du succès de l'addressage IP jusqu'à que le timeout soit atteint, ou une réponse d'une gateway à un ping
id (chaîne) identifiant unique pour la connection
interface-name (chaîne) nom de l'interface réseau à laquelle la connexion est lié
lldp (int32) Si lldp est activé pour la connexion. Défaut:-1
master (chaîne) Nom de l'interface du périphérique maître ou l'uuid de la connexion maître
metered (NMMettered) Si la connexion est mesurée
name (chaîne) Nom du paramètrage: connection
permissions (tableau de chaînes) Tableau définissant l'accès d'un utilisateur à cette connexion. Vide, tous les utilisateurs sont autorisés à accéder à cette connexion. Chaque entrée est sous la forme "[type]:[id]:[reserved]". Actuellement seul le type "user" est utilisé.
read-only (bool) indique si la connexion peut être modifié en utilisant D-Bus (FALSE), ou non (TRUE)
secondaries (tableau de chaînes) Liste d'UUID de connexions qui devraient être activés quand la connexion de base elle-même est activée. Actuellement seul les connexions VPN dont supportés
slave-type (chaîne) nom du paramètre du type de périphurique de cette commexion maître (ex: bond0) ou NULL si cette connexion n'est pas un esclave
stable-id (chaîne) Tocken pour générer des ID stable pour la connexion. Il est utilisé pour générer des IPv6 privées stable avec ipv6.addr-gen-mode=strable-privacy. Également utilisé pour émettre l'adresse MAC cloné générée pour ethernet.cloned-mac-address=stable et wifi.cloned-mac-address=stable. Spécifie un stable-id permet à plusieurs connexions de générer les même adresses. Il est possible de générer des ID via des substitution: ${CONNECTION}, ${BOOT}, ${RANDOM}.
timestamp (uint64) Temps en seconde depuis l'Epock, que la connection a été activée avec succès. MetworkManager met à jours cette valeur périodiquement.
type (chaîne) Type de base de la connexion. Pour les connexions dépendantes du hardware, devrait contenir le nom du paramètre du type de matériel (ex: 802-3-ethernet, 802-11-wireless, bluetooth, etc.), et pour les connexions non hardware, devrait contenir le nom du type de paramètre (vpn, bridge, etc.)
uuid (chaîne) Identifiant unique pour la connexion. Devrait être assigné à la création de la connexion, et ne devrait jamais être changé.
zone (chaîne) Niveau de confiance de la connexion. texte lible insensible à la casse (ex: Home, Work, Public). NULL ou non spécifié, la connexion sera placée dans la zone par défaut tel que définis par le firewall.

dcb

app-fcoe-flags (NMSettingDcbFlags) Flags pour l'application FCoE DCB. Peut être une combinaison de NM_SETTINGS_DCB_FLAG_ENABLE(0x1, NM_SETTING_DCB_FLAG_ADVERTISE (0x2), et NM_SETTING_DCB_FLAG_WILLING (0x4)
app-fcoe-mode (chaîne) Mode contrôleur FCoE; soit "fabric" ou "vn2vn"
app-fcoe-priority (int32) Priorité la plus élevée (0-7) à utiliser pour les frames FCoE, ou -1 pour la priorité par défaut
app-fip-flags (NMSettingDcbFlags) Flags pour l'application DCB FIP. peut être une combinaison de NM_SETTINGS_DCB_FLAG_ENABLE(0x1, NM_SETTING_DCB_FLAG_ADVERTISE (0x2), et NM_SETTING_DCB_FLAG_WILLING (0x4)
app-fip-priority (int32) Priorité la plus élevée (0-7) à utiliser pour les frames FIP, ou -1 pour la priorité par défaut
app-iscsi-flags (NMSettingDcbFlags) Flags pour l'application DCB iSCSI. peut être une combinaison de NM_SETTINGS_DCB_FLAG_ENABLE(0x1, NM_SETTING_DCB_FLAG_ADVERTISE (0x2), et NM_SETTING_DCB_FLAG_WILLING (0x4)
app-iscsi-priority (int32) Priorité la plus élevée (0-7) à utiliser pour les frames iSCSI, ou -1 pour la priorité par défaut
name (chaîne) Nom du paramètrage: dcb
priority-bandwidth (tableau de uint32) Tableau de 8 valeurs uint, où l'indexe correspond à la priorité utilisateur (0-7), et la valeur indique le pourcentage de bande passante du groupe assigné à la priorité. La somme de tous les pourcentages doit faire 100%
priority-flow-control (tableau de uint32) Tableau de 8 booléens œu l'indexe correspond à la priorité utilisateur (0-7) et la valeur indique si la priorité devrait transmettre une pause de priorité
priority-flow-control-flags (NMSettingDcbFlags) flags pour DCP PFC (Priority Flow Control). peut être une combinaison de NM_SETTINGS_DCB_FLAG_ENABLE(0x1, NM_SETTING_DCB_FLAG_ADVERTISE (0x2), et NM_SETTING_DCB_FLAG_WILLING (0x4)
priority-group-bandwidth (tableau de uint32) Tableau de 8 valeurs uint, où l'indexe correspond à la priorité de groupe (0-7), et la valeur indique le pourcentage de bande passante allouée à ce groupe. La somme de tous les pourcentages doit faire 100%
priority-group-flags (NMSettingDcbFlags) Flags pour DCB Priority Groups. peut être une combinaison de NM_SETTINGS_DCB_FLAG_ENABLE(0x1, NM_SETTING_DCB_FLAG_ADVERTISE (0x2), et NM_SETTING_DCB_FLAG_WILLING (0x4)
priority-group-id (tableau de uint32) Tableau de 8 valeurs uint, où l'indexe correspond à la priorité utilisateur (0-7), et la valeur indique le Priority Group ID. Les priorité permisses sont 0-7, ou 15 pour le groupe non restreint.
priority-strict-bandwidth (tableau de uint32) Tableau de 8 booléens œu l'indexe correspond à la priorité utilisateur (0-7) et la valeur indique si la priorité peut utiliser toute la bande passante allouée au groupe assigné
priority-traffic-class (tableau de uint32) Tableau de 8 valeurs uint, où l'indexe correspond à la priorité utilisateur (0-7), et la valeur indique la classe de trafique (0-7) pour laquelle la priorité est mappée

generic

name (chaîne) Nom du paramètrage, qui identifie de manière unique les paramètres dans la connexion.

gsm

apn (chaîne) Nom du point d'accès GPRS spécifiant l'APN utilisé pour établis une session de données avec le réseau GSM.
device-id (chaîne) Identifiant unique de périphérique (tel que donné par le service de gestion WWAN)
home-only (bool) à TRUE, seuls les connexions au réseau personnel est autorisé. Les connexions aux réseaux roaming ne sont pas faites. Défaut: FALSE
name (chaîne) Nom du paramétrage: gsm
network-id [chaîne) ID réseau (format GSM LAI, ex: MCC-MNC) pour forcer un enregistrement spécifique.
number (chaîne) Numéro à composer pour établir une session de données PPP.
password (chaîne) Mot de passe utilisé pour l'authentification avec le réseau.
password-flags (NMSettingSecretFlags) flags indiquand comment gérer la propriété password
pin (chaîne) Si la SIM est blockée avec un PIN, elle doit être débloquée avec un PIN
pin-flags (NMSettingSecretFlags) Flags indiquant comment gérer la propriété pin
sim-id (chaîne) identifiant unique de carte SIM
sim-operator-id (chaîne) chaîne MCC/MNC comme "310260" ou "21601" identifiant l'opérateur mobile.
username (chaîne) username utilisé pour l'authentification sur le réseau.

infiniband

mac-address (tableau d'octets) Si spécifié, cette connexion ne s'applique qu'au périphérique IPoIB dont l'adresse mac correspond. Cette propriété ne change pas l'adresse MAC
mtu (uint32) non 0, ne transmet que les paquets de la taille spécifiée ou inférieur, splittant les paquets plus gros en plusieurs frames.
name (chaîne) Nom du paramétrage: infiniband
p-key (int32) P_Key infiniband à utiliser pour ce périphérique. -1 utilise le P_Key par défaut (à l'index 0)
parent (chaîne) nom de l'interface du périphérique parent de ce périphérique. Normalement NULL, sauf si p_key est définis.
transport-mode (chaîne) Mode IPoIB (datagram ou connected)

ipv4

address-data (tableau d'ipv4) tableau d'IPv4. Chaque dictionnaire d'adresse contient au moins les entrées 'address', et 'prefix'
addresses (tableau de tableau de uint32) déprécié en faveur de address-data et gateway
dad-timeout (int32) Timeout en ms utilisé pour vérifier la présence d'adresse IP dupliquées
dhcp-client-id (chaîne) chaîne envoyée au serveur DHCP pour identifier la machine
dhcp-fqdn (châine) Si la propriété dhcp-send-hostname est à TRUE, le fqdn spécifié sera envoyé au serveur DHCP en acquérant le bail. exlusif avec dhcp-hostname.
dhcp-hostname (chaîne) si dhcp-send-hostname est à true, le nom spécifié ici est envoyé au serveur DHCP
dhcp-send-hostname (bool) à true, envoie le hostname au serveur DHCP
dhcp-timeout (int32) timeout de transaction DHCP, en secondes. Défaut: 0
dns [tableau d'uint32) tableau d'adresses IP des serveurs DNS
dns-options (tableau de chaînes) tableau d'options DNS tel que décris dans man resolv.conf. NULL utilise les valeurs par défaut
dns-priority (int32) Priorité DNS intra-connexion. La priorité relative est utilisée pour déterminer l'ordre des serveurs DNS dans resolv.conf. Une valeur faible place les serveurs en haut du fichier. Défaut: 0, qui sélectionne la valeur par défaut: 50 pour VPN, et 100 pour les autres connexions.
dns-search (tableau de chaîne) tableau de domaines de recherche DNS
gateway (chaîne) La passerelle associée avec cette configuration
ignore-auto-dns (bool) Quand method est à auto et cette propriété à TRUE, les serveurs de nom et domaines de recherche automatiquement configurés sont ignorés et seuls les serveurs et domaines spécifiés dans les propriétés dns et dns-search sont utilisés.
ignore-auto-routes (bool) si method est à 'auto' et cette propriété à TRUE, les routes automatiquement configurées son ignorées et seules les routes dans la propriété routes sont utilisées
may-fail (bool) à TRUE, autorise la configuration réseau même si le fichier de configuration spécifié par cette propriété échoue au timeout. Noter qu'au moins une configuration IP doit réussir our la configuration réseau générale échoue.
method (chaîne) Méthode de configuration IP 'auto', 'manual', 'link-local', et 'shared'
name (chaîne) Nom du paramétrage: ipv4
never-default (bool) à TRUE, cette connexions n'est jamais la connexion par défaut pour ce type IP, ce qui signifie que la route par défaut n'est jamais assignée
route-data (tableau de dictionnaire) Tableau de routes IPv4. Chaque dictionnaire de route contient au moins les entrées 'dest' et 'prefix'. La plupart des routes ont également une entrée 'gateway'
route-metric (int64) Métrique par défaut pour les routes qui n'en spécifient pas une explicite. Défaut: -1 signifiant que la métrique est choisie automatiquement basé sur le type de périphérique.
routes (tableau de tableau d'uint32) Déprécié en faveur de route-data

ipv6

addr-gen-mode (int32) Configure la méthode pour créer l'adresse rfc4862: eui64 ou stable-privacy (rfc7217)
address-data (tableau de dictionnaire) Tableau d'IPv6. chaque entrée contient au moins address et prefix.
addresses (tableau d'ipv6) déprécié en faveur de address-data
dad-timeoute (int32) timeout en ms pour vérifier la présence d'adresses IP dupliquées. défaut: -1, utilise la valeur par défaut.
dhcp-hostname (chaîne) si dhcp-send-hostname est à true, le nom spécifié ici est envoyé au serveur DHCP
dhcp-send-hostname (bool) à true, envoie le hostname au serveur DHCP
dhcp-timeout (int32) timeout de transaction DHCP, en secondes. Défaut: 0
dns [tableau d'uint32) tableau d'adresses IP des serveurs DNS
dns-options (tableau de chaînes) tableau d'options DNS tel que décris dans man resolv.conf. NULL utilise les valeurs par défaut
dns-priority (int32) Priorité DNS intra-connexion. La priorité relative est utilisée pour déterminer l'ordre des serveurs DNS dans resolv.conf. Une valeur faible place les serveurs en haut du fichier. Défaut: 0, qui sélectionne la valeur par défaut: 50 pour VPN, et 100 pour les autres connexions.
dns-search (tableau de chaîne) tableau de domaines de recherche DNS
gateway (chaîne) La passerelle associée avec cette configuration
ignore-auto-dns (bool) Quand method est à auto et cette propriété à TRUE, les serveurs de nom et domaines de recherche automatiquement configurés sont ignorés et seuls les serveurs et domaines spécifiés dans les propriétés dns et dns-search sont utilisés.
ignore-auto-routes (bool) si method est à 'auto' et cette propriété à TRUE, les routes automatiquement configurées son ignorées et seules les routes dans la propriété routes sont utilisées
ip6-privacy (NMSettingIP6ConfigPrivacy)
may-fail (bool) à TRUE, autorise la configuration réseau même si le fichier de configuration spécifié par cette propriété échoue au timeout. Noter qu'au moins une configuration IP doit réussir our la configuration réseau générale échoue.
method (chaîne) Méthode de configuration IP 'auto', 'manual' ou 'link-local'
name (chaîne) Nom du paramétrage: ipv6
never-default (bool) à TRUE, cette connexions n'est jamais la connexion par défaut pour ce type IP, ce qui signifie que la route par défaut n'est jamais assignée
route-data (tableau de dictionnaire) Tableau de routes IPv6. Chaque dictionnaire de route contient au moins les entrées 'dest' et 'prefix'. La plupart des routes ont également une entrée 'gateway'
route-metric (int64) Métrique par défaut pour les routes qui n'en spécifient pas une explicite. Défaut: -1 signifiant que la métrique est choisie automatiquement basé sur le type de périphérique.
routes (tableau de tableau d'uint32) Déprécié en faveur de route-data
token (chaîne) configure le token pour les identifiants d'interface IPv6 draft-chown-6man-tokenised-ipv6-identifiers-02. Utile avec eui64.

ip-tunnel

encapsulation-limit (uint32) Nombre de niveaux d'encapsulation additionels à ajouter aux paquets. Uniquement pour les tunnels IPv6
flow-label (uint32) Label de flux à assigner aux packets.
input-key (chaîne) La clé utilisée pour les paquets entrant.
local (chaîne) endpoint local du tunnel. doit contenir une IPv4 ou IPv6.
mode (uint32) Mode de tunneling, par exemple NM_IP_TUNNEL_MODE_IPIP, ou NM_IP_TUNNEL_MODE_GRE
mtu (uint32) 0
name Nom du paramétrage: ip-tunnel
output-key (chaîne) Clé utilisée pour les paquets sortants
parent (chaîne) nom de l'interface parent ou UUID de la connexion parent
path-mtu-discovery (bool) Si Path MTU Discovery est activé dans ce tunnel (défaut: TRUE)
remote (chaîne) enppoint distant du tunnel. Doit être une IPv4 ou IPv6
tos (uint32) Type de service IPv4 ou classe de trafique IPv6
ttl (uint32) TTL à assigner aux paquets tunnelisés. Défaut: 0, les paquets héritent de la valeur TTL

macsec

encrypt (bool) Si le trafique transmis doit être chiffré (défaut: TRUE)
mka-cak (chaîne) CAK pré-partagé pour l'agrément de clé MACsec
mka-cak-flags (NMSettingSecretFlags) Flags indiquant comment gérer la propriété mka-cak.
mka-ckn (chaîne) CKN pré-partagé pour l'agrément de clé MACsec
mode (int32) Spécifie commande la CAK pour MKA est obtenue
name Type de paramètrage: macsec
parent (chaîne) nom de l'interface parent ou UUID de la connexion parent
port (int32) Composant port du SCI, entre 1 et 65534
validation (int32) Mode de validation pour les frames entrantes

macvlan

mode (uint32) mode macvlan qui spécifie le mécanisme de communication entre plusieurs macvlans dans le même périphérique
name (chaîne) nom du paramètrage: macvlan
parent (chaîne) nom de l'interface parent ou UUID de la connexion parent
promiscuous (bool) si l'interface devrait être en mode promiscuous. Défaut: TRUE
tap (bool) Si l'interface devrait être un MACVTAP. Défaut: FALSE

802-11-olpc-mesh

channel (uint32) Canal sur lequel le réseau à joindre est localité
dhcp-anycast-address (tableau d'octets) addresse MAC DHCP anycast utilisé pour demander une adresse IP via DHCP
name (chaîne) nom du paramètrage: 802-11-olpc-mesh
ssid (tableau d'octets) SSID du réseau à joindre

ppp

baud (uint32) non 0, indique à pppd de définir le port série au baudrate spécifié. à 0, la vitesse est choisie automatiquement
crtscts (bool) à TRUE, pppd doit définir le port série pour utiliser le contrôle de flux hardware avec les signaux RTS et CTS. Défaut: FALSE
lcp-echo-failure (uint32) non 0, pppd assume que la connexion au paire a échoué si le numéro spécifié de LCP echo-requests n'a pas reçu de réponse du paire.
lcp-echo-interval (uint32) non 0, pppd envoie un LCP echo-request au paire toutes les n secondes.
mppe-stateful (bool) à TRUE, MPPE avec état est utilisé.
mru (uint32) non 0, pppd demande au paire d'envoyer des paquets au maximum à la taille spécifiée
mtu (uint32) non 0, pppd n'envoie pas de paquet dont la taille excède cette taille
name (chaîne) nom du paramètrage: ppp
no-vj-comp (bool) À true, ne demande pas la compression d'en-tête TCP Van Jacobsen
noauth (bool) à TRUE, ne demande pas d'authentification
nobsdcomp (bool) à TRUE, ne demande pas de compression BSD
nodeflate (bool) à TRUE ne demande pas de compression 'deflate'
refuse-chap (bool) à TRUE, n'utilise pas la méthode d'authentification CHAP
refuse-eap (bool) à TRUE, n'utiliset pas la méthode d'authentification EAP
refuse-mschap (bool) à TRUE, n'utiliset pas la méthode d'authentification MSCHAP
refuse-mschapv2 (bool) à TRUE, n'utiliset pas la méthode d'authentification MSCHAPv2
refuse-pap (bool)à TRUE, n'utiliset pas la méthode d'authentification PAP
require-mppe (bool) à TRUE, mppe est requis pour la session PPP.
require-mppe-128 (bool) à TRUE MPPE 128-bits est requis pour la session PPP.

pppoe

name (chaîne) nom du paramétrage: pppoe
password (chaîne) Mot de passe utilisé pour authentifier le service PPPeE
password-flags (NMSettingSecretFlags) Flags indiquant comment manipuler la proriété password
service (chaîne) si spécifié, instruit PPPoE à seulement initier des session avec des concentrateurs d'accès.
username (chaîne) username pour l'authhentification

proxy

browser-only (bool) Si la configuration proxy est pour les navigateurs uniquement
method (int32) Méthode pour la configuration proxy défaut: NM_SETTING_PROXY_METHOD_NONE(0)
name (chaîne) nom du paramétrage: proxy
pac-script (chaîne) script PAC pour la connexion
pac-url (chaîne) URL pour obtenir le fichier PAC

serial

baud (uint32) Vitesse pour la communication. Défaut: 57600
bits (uint32) Largeur d'octet de la communication. Défaut: 8
name (chaîne) nom du paramétrage: serial
parity (octet) Parité de la connexion: 69 (ASCII 'E') pour une parité paire, 111 (ASCII 'o') pour impaire, 110 (ASCII 'n') pour aucune parité
send-delay (uint64) Temps d'attente entre chaque octet envoyé au modem, en microsecondes. Défaut: 0
stopbits (uint32) Nombre de bits stop pour la communication, 1 ou 2. Défaut: 1.

team

config (chaîne) la configuration JSON pour l'interface team. La configuration devrait contenir une configuration acceptable pour teamd.
interface-name (chaîne) déprécié en faveur de connection.interface-name.
name (chaîne) nom du paramétrage: team

team-port

config (chaîne) la configuration JSON pour l'interface team. La configuration devrait contenir une configuration acceptable pour teamd.
name (chaîne) nom du paramétrage: team-port

tun

group (chaîne) Le group ID qui possède le périphérique. à NULL, tout le monde peut utiliser le périphérique
mode (uint32) Mode opératoire du périphérique NM_SETTING_TUN_MODE(1) pour créer un périphérique L3 et NM_SETTING_TUN_MODE_TAP(2) pour créer un périphérique L2
multi-queue (bool) à TRUE, l'interface supporte plusieurs descripteurs de fichier (queues) pour paralléliser l'envoie/réception des paquets, sinon, l'interface ne supporte qu'une seule queue. Défaut: FALSE
name (chaîne) nom du paramétrage: tun
owner [chaîne) Le user ID qui possède le périphérique. NULL, tout le monde peut utiliser le périphérique
pi (boo) à TRUE, l'interface ajoute 4 octets d'en-tête décrivant l'interface physique aux paquets. Défaut: FALSE
vnet-hdr (bool) à TRUE, les paquets IFF_VNET_HDR incluent un en-tête de réseau virtio. Défaut: FALSE

vlan

egress-priority-map (tableau de chaînes) pour les paquets sortants, une liste de mappage de priorités SKB Linux en priorités 802.1p. Le mappage est donné au format "from:to" et sont des entiers non-signés.
flags (NMVlanFlags) Flags qui contrôlent le comportement et les fonctionnalités de l'interface vlan. NM_VLAN_FLAG_REORDER_HEADERS (0x1) réordonne les en-tête des paquets sortants, NM_VLAN_FLAG_GVRP (0x2) utilise le protocole GVRP, NM_VLAN_FLAG_LOOSE_BINDING (0x4) perd la liaison de l'interface de l'état opérant du périphérique maire. NM_VLAN_FLAG_MVRP (0x8) utilise le protocole MVRP.
id (uint32) Identifiant du vlan, de 0 à 4094. Défaut: 0
ingress-priority-map (tableau de chaînes) Pour les paquets entrants, une liste de mappage de priorité 802.1p en priorité SKB Linux.
interface-name (chaîne) déprécié en faveur de connection.interface-name
name (chaîne) nom du paramétrage: vlan
parent (chaîne) si donné, spécifie le nom de l'interface parent. non spécifié, la connexion doit contenir un paramètre "802-3-ethernet" avec une propriété "mac-address"

vpn

data (dictionnaire de chaîne) dictionnaire de paires clé/valeurs de données spécifique au plugin VPN.
namo (chaîne) nom du paramétrage: vpn
persistent (bool) Si le service VPN supporte la persistence, et cette propriété à TRUE, le VPN tente de rester connecté entre les changements de liens, jusqu'à déconnexion explicite
secrets (dictionnaire de chaîne) Dictionnaire de paires clé/valeur de secrets spécifiue au plugin VPN, comme des mots de passe ou des clés privées
service-type (chaîne) Nom du service D-Bus du plugin VPN que ce paramètre utilise pour se connecter au réseau (ex: org.freedesktop.NetworkManager.vpnc pour le plugin vpnc)
timeout (uint32) timeout du service VPN pour établir la connexion. Certains services peuvent prendre du temps pour se connecter. 0 signifie le timeout par défaut: 60 secondes.
user-name (chaîne) Si la connexion VPN nécessite un username pour l'authentification.

vxlan

ageing (uint32) Durée de vie en secondes des entrées FDB apprises par le kernel. défaut: 300
destination-port (uint32) port UDP de destination pour communiquer au endpoint distant
id (uint32) Spécifie l'identifiant réseau VXLAN à utiliser
l2-miss (bool) Spécifie si les notification LL ADDR miss sont générés. défaut: FALSE
l3-miss (bool) Spécifie si les notification IP ADDR miss sont générés. défaut: FALSE
learning (bool) Spécifie si une adresse L2 inconnue et les IP sont entrée dans la learning base VXLAN. Défaut: TRUE
limit (uint32) Spécifie le nombre max d'entrées FDB. Défaut: 0 = illimité
local (chaîne) nom du paramétrage: vxlan
parent (chaîne) nom de l'interface parent
proxy (bool) Spécifie si le proxy ARP est activé. Défaut: FALSE
remote (châine) Spécifie l'adresse IP unicast de destination pour les paquets sortants quand l'adresse l2 n'est pas connue dans la forwarding base VXLAN, ou l'IP multicast à joindre
rsc (bool) Spécifie si le route short circuit est activé. Défaut: FALSE
source-port-max (uint32) port UDP source max pour communiquer au endpoint
source-port-min (uint32) port UDP de destination minimum
tos (uint32) Valeur TOS pour les paquets sortants
ttl (uint32) ttl à utliser pour les paquets sortants

wimax

mac-address (tableau d'octets) Déprécié. Si spécifié, cette connexion s'applique au périphérique WiMAX qui matche cette adresse MAC.
name (chaîne) nom du paramétrage: wimax
network-name (chaîne) Déprécié. Nom du NSP du réseau WiMAX

802-3-ethernet

assigned-mac-address (chaîne) Addresse MAC clonée. Peut être une adresse MAC, ou un des mots clés suivant: preserve, permanent, random, ou stable.
auto-negotiate (bool) à TRUE, force l'auto-négociation de vitesse de port et le mode duplex. Défaut: FALSE
cloned-mac-address (tableau d'octets) déprécié en faveur de assigned-mac-address
duplex (chaîne) uniquement si auto-negotiate vaut 'off'. Configure le périphérique pour utiliser le mode duplex spécifié: half ou full.
generate-mac-address-mask (chaîne) si cloned-mac-address vaut random ou stable, cette propriété spécifie les bits qui sont fixes.
mac-address (tableau d'octets) si spécifié, cette connection ne s'applique qu'au périphérique dont l'adresse MAC permanent correspond
mac-address-blacklist (tableau de chaînes) Cette connection ne s'applique jamais aux périphérique dont l'adresse MAC permanente matche une de ces adresses
mtu (uint32) spécifie le mtu max pour cette connection
name (chaîne) nom du paramétrage: 802-3-ethernet
port (chaîne) Spécifie le type de port à utiliser si le périphérique support plusieurs méthodes d'attachement. tp (twisted Pair), aui (Attachment Unit Interface), bnc (Thin Ethernet) ou mii (Media Independant Interface).
s390-nettype (chaîne) Type de périphérique réseau s390 (qeth, lcs, ou ctc).
s390-options (dictionnaire de chaînes) dictionnaire de paires de clé/valeurs d'options s390. Les clés permises sont portno, layer2, portname et protocol.
speed (uint32) Peut être définis à une valeur supérieur à 0 quand auto-negotiate est à off. Dans ce cas, définis la vitesse en Mbit/s.
wake-on-lan (uint32) Options NMSettingWiredWakeOnLan à activer. peut être une des combinaisons: NM_SETTING_WIRED_WAKE_ON_LAN_PHY (0x2), NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST (0x4), NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST (0x8), NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST (0x10), NM_SETTING_WIRED_WAKE_ON_LAN_ARP (0x20), NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC (0x40) ou les valeurs spéciales NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT (0x1) (pour utiliser les paramètres globaux) et NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE (0x8000) (pour désactiver la gestion de Wake-on-LAN dans NetworkManager).
wake-on-lan-password (chaîne) Mot de passe utilisé avec magic-packet-based Wake-on-LAN, représentée comme une adresse MAC. NULL indique qu'aucun mot de passe n'est requis.

802-11-wireless

assigned-mac-address (chaîne) Le nouveau champ pour l'adresse MAC clonée. Peut être une adresse MAC ou un des mots spécial "preserve", random" ou "stable".
band (chaîne) bande de fréquence 802.11: "a" (5GHz 802.11a), ou "bg" (2,4GHz 802.11).
bssid (tableau d'octets) Dirige le périphérique au point d'accès associé.
channel (uint32) Canal wireless à utiliser. Défaut: 0
cloned-mac-address (tableau d'octets) déprécié en faveur de assigned-mac-address
generate-mac-address-mask (chaîne) si cloned-mac-address vaut random ou stable, cette propriété spécifie les bits qui sont fixes.
hidden (bool) à TRUE, indique que ce réseau cache son SSID.
mac-address (tableau d'octets) si spécifié, cette connection ne s'applique qu'au périphérique dont l'adresse MAC permanent correspond
mac-address-blacklist (tableau de chaînes) Cette connection ne s'applique jamais aux périphérique dont l'adresse MAC permanente matche une de ces adresses
mac-address-randomization (uint32) déprécié en faveur de cloned-mac-address. NM_SETTING_MAC_RANDOMIZATION_DEFAULT (0) (Utilise la valeur globale par défaut), NM_SETTING_MAC_RANDOMIZATION_NEVER (1) (pas d'aléatoire), NM_SETTING_MAC_RANDOMIZATION_ALWAYS (2).
mode (chaîne) mode réseau Wi-Fi: "infrastructure", "adhoc" ou "ap".
mtu (uint32) mtu pour les paquets transmis
name (chaîne) nom du paramétrage: 802-11-wireless
powersave (uint32) NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2), NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3), NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1), NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0)
rate (uint32) Dirige de périphérique pour utiliser seulement le bitrate spécifié pour la communication avec le point d'accès, en Kb/s.
security déprécié
seen-bssids (tableau de chaînes) Une liste de BSSID (formatté sous forme d'adresse MAC) qui ont été détectés comme partie de la connection Wi-Fi. Géré par NetworkManager
ssid (tableau d'octets) SSID du réseau Wi-Fi. Doit être spécifié
tx-power (uint32) le périphérique utilise la puissance de transmission spécifiée, en dBm.

802-11-wireless-security

auth-alg (chaîne) avec WEP, indique l'algorithme d'authentification requise "open", "shared" "leap".
group (tableau de chaînes)Liste d'algorithmes de chiffrement qui empêche les connection aux réseaux Wi-Fi qui n'utilisent pas un de ces algorithmes. "wep40", "wep104", "tkip" ou "ccmp"
key-mgmt (chaîne) Gestion de clé utilisé pour la connection "none" (WEP), "ieee8021x" (Dynamic WEP), "wpa-none" (Ad-Hoc WPA-PSK), "wpa-psk" (infrastructure WPA-PSK), ou "wpa-eap" (WPA-Enterprise).
leap-password (chaîne) password de connexion pour les connexions LEAP
leap-password-flags (NMSettingSecretFlags) Flags indiquant comment gérer la propriété leap-password.
leap-username (chaîne) username pour la connexion
name (chaîne) nom du paramétrage: 802-11-wireless-security
pairwise (tableau de chaînes) Liste d'algorithme de chiffrement d'appairement permis pour les connections Wi-Fi
proto (tableau de chaînes) Liste de chaînes spécifiant les versions WPA permises "wpa" ou "rsn" (autorise WPA2/RSN).
psk (chaîne) Clé pré-partagée pour les réseaux WPA.
psk-flags (NMSettingSecretFlags) Flags indiquant comment gérer la propriété psk
wep-key-flags (NMSettingSecretFlags) Flags indiquant comment gérer les propriétés wep-key[0-3].
wep-key-type (NMWepKeyType) Contrôle l'interprétation des clés WEP. NM_WEP_KEY_TYPE_KEY (1) (la clé a 10 ou 26 caractères hexa, ou 5 ou 13 caractères ASCII) ou NM_WEP_KEY_TYPE_PASSPHRASE (2)
wep-key0 (chaîne) Clé WEP d'index 0
wep-key1 (chaîne) Clé WEP d'index 1
wep-key2 (chaîne) Clé WEP d'index 2
wep-key3 (chaîne) Clé WEP d'index 3
wep-tx-keyidx (uint32) Si WEP statique est utilisé et un indexe de clé WEP non-défaut est utilisé par l'AP, place cet index ici. (0 à 3)

Types de flags secret

0x0 Le système doit fournir et stocker le secret
0x1 Un agent userspace gère le secret
0x2 Le secret n'est pas sauvé et est demandé à l'utilisateur à chaque fois.
0x4 Indique que le secret n'est pas requis et ne devrait pas être demandé à l'utilisateur
^
05 mai 2017

htmlpdflatexmanmd




nmcli

nmcli

Outil d'administration de NetworkManager

   Cet outil contrôle NetworkManager et affiche le status réseaux.

OPTIONS

-t, --terse Affichage adapté aux traitement dans les scripts
-p, --pretty Affiche plus compréhensible
-m, --mode { tabular | multiline } Affichage tabulaire ou multiligne. Défaut: multiline
-c, --colors {yes | no | auto} Contrôle si la sortie utilise les couleurs. Défaut: auto
-f, --fields { field1,field2...|all|common } Contrôle les champs affiché sur la sortie. Défaut: common
-e, --escape {yes|no} Indisque si les caractères : et \ sont échappés en mode terse. Défaut: yes
-a,--ask nmcli stop et demande des arguments. Utile pour demander un mot de passe
-s, --show-secrets Affiche les mots de passe et secrets qui peuvent être présent dans la sortie.
-w, --wait seconds Délai d'attente d'une opération NetworkManager. Utile pour les commande qui prennent du temps comme l'activation de connection. 0 signifie pas d'attente
--complete-args Affiche la liste des arguments possible pour le dernier argument.

Commande general

status Affiche le status général de NetworkManager
hostname [hostname] Affiche ou définis le nom d'hôte.
permissions Affiche les permissions qu'un appelant a pour diverses opérations authentifiées
logging [level level][domains domains...] Affiche ou change le niveau de log de NetworkManager et les domaines.

Commande networking

on, off Active ou désactive le contrôle du réseaux par NetworkManager.
connectivity [check] Affiche l'état de la connectivité réseaux. L'état indiques:

        none L'hôte n'est pas connecté à un réseau
        portal L'hôte est derrière un portail captif et ne peut pas accéder à Internet
        limited L'hôte est connecté à un réseau, mais n'a pas accès à internet
        full L'hôte est connecté à un réseau et a pleinement accès à internet
        unknown Le status de connectivité ne peut être trouvé

Commande radio

wifi [on|off] Affiche ou définis le status du WiFi dans NetworkManager.
wwan [on|off] Affiche ou définis le status de WWAN dans NetworkManager
al [on|off] Affiche ou dfinis le status du wifi et WWAN dans NetworkManager

Commande monitor

   Observe l'activité NetworkManager. Regarde les changements d'état de connectivité, périphérique ou profiles de connexion.

Commande connection

show [--active][--order[+-]category:...] Liste les profiles de connection sur disque et en mémoire. --order permet d'afficher dans un ordre particulier (active, name, type, path). sans préfix ou avec +, trie dans l'ordre ascendant.
show [--active][id|uuid|path|apath] ID... Affiche des détails pour les connections spécifiées. --active affiche seulement les profiles actifs. Les mots clés sont utilisé si l'ID est ambigus:

        id L'ID dénote le nom d'une connexion
        uuid L'ID dénote un UUID de connexion
        path l'ID dénote un chemin de connexion D-Bus
        apath L'ID dénote un chemin de connexion actif D-Bus

up [id|uuid|path] ID [ifname ifname] [ap BSSID] [passwd-file file] Active une connexion. La connexion est identifiée par son nom, UUID ou chemin D-Bus. Si l'ID est ambigus le mot clé id, uuid ou path peut être utilisé. si requis, ifname sélectionne un périphérique particulier. ap spcécifie un BSSID de l'AP à utiliser dans le cas de connexions Wi-Fi. --wait spécifie le timeout (defaut: 90s). passwd-file spécifie les accréditifs pour l'activation. peut être sous la forme:

        setting_name.property_name:the password Spécifie le mot de passe explicitement
        802-11-wireless-security.psk:secret12345 Pour WPA PSK
        802-1x.password:my 1X password mot de passe 802.1x

down [ id | uuid | path | apath ] ID... Désactive une connexion
modify [--temporary] [ id | uuid | path ] ID { option value | [+|-]setting.property value } ... Ajoute, modify ou supprime des propriétés dans le profile de connexion. une valeur "" supprime la valeur.
add [save { yes | no }] { option value | [+|-]setting.property value } ... Créé une nouvelle connexion en utilisant les propriétés spécifiées.. Pour construire une connexion significative il faut nécessairement la propriété connection.type (ethernet, wifi, wimax, pppoe, gsm, cdma, infiniband, bluetooth, vlan, bond, bond-slave, team, team-slave, bridge, bridge-slave, vpn, olpc-mesh, adsl, tun, ip-tunnel, macvlan, vxlan). save contrôle si la connexion doit être persistante
edit { [ id | uuid | path ] ID | [type type] [con-name name] } Édite une connexion existante, ou en ajouter une, en utilisant un éditeur interactif. type spécifie le type de connexion, et con-name spécifie le nom pour la connexion.
clone [--temporary] [ id | uuid | path ] ID new_name Clone une connexion. La connexion clonée est identifiée par son nom, UUID, ou chemin D-Bus. --temporary ne conserve pas le nouveau profile au redémarrage
delete [ id | uuid | path ] ID... Supprime une connexion configurée
monitor [ id | uuid | path ] ID... supervise l'activité du profile de connexion. Affiche une ligne si la connexion spécifiée change
reload Recharge tous les fichiers de connexion depuis le disque
load filename Charge/recharge un ou plusieurs fichiers de connexion.
import [--temporary] type type file file Importe une configuration externe comme profile NetworkManager. Le type de fichier d'entrée est spécifiée par type
export [id|uuid|path] ID [file] Exporte une connexion. Seul les connexions VPN sont supportés pour le moment.

Commande device

status Affiche le status du périphérique. C'est l'action par défaut
show [ifname] Affiche des informations détaillées sur les périphériques. Sans argument, examine tous les périphériques.
set [ifname] ifname [ autoconnect { yes | no } ] [ managed { yes | no } ] Définis les propriétés du périphérique
connect ifname Connecte le périphérique. NetworkManager tente de trouver une connexion convenable à activer. Il considère également les connexions non-autoconnect
reapply ifname Tente de mettre à jours de le périphérique
modify ifname { option value | [+|-]setting.property value }... Modifie le paramètre courant du périphérique. Cette commande permet d'effectuer des changements temporaires de la configuration active.
disconnect ifname Déconnecte un périphérique et empêche de périphérique d'activer d'autres connections sans intervention manuelle.
delete ifname Supprime un périphérique. Supprime l'interaface du système. Ne fonctionne que pour les périphériques logiciels
monitor [ifname...] Supervise l'activité du périphérique. Affiche une ligne indiquant le changement d'état de l'interface
wifi [list [ifname ifname][bssid BSSID]] Liste les points d'accès wifi.
wifi connect (B)SSID [password password] [ wep-key-type { key | phrase } ] [ifname ifname] [bssid BSSID] [name name] [ private { yes | no } ] [ hidden { yes | no } ] Connecte un réseaux Wi-Fi spécifié par son SSID ou BSSID. La commande créé une nouvelle connexion et l'active sur un périphérique.

        password Mot de passe WEP ou WPA
        wep-key-type Type de secret WEP, (key ou phrase)
        ifname Interface à utiliser pour l'activation
        bssid La connexion créée est restreinte pour le BSSID
        name Nom de la connexion
        private à yes, la connexion n'est visible que de l'utilisateur qui l'a créé.
        hidden à yes, pour les points d'accès qui ne broadcast pas le SSID

wifi hotspot [ifname ifname] [con-name name] [ssid SSID] [ band { a | bg } ] [channel channel] [password password] Créé un hotspot Wi-Fi. La commande créé un profile de connection hotspot en accord avec les capacités du périphérique Wi-Fi, et l'active. Le hotspot est sécurisé avec WPA si le périphérique/pilote le supporte, WEP sinon. Utiliser connection down ou device disconnect pour stopper le hotspot. Les paramètres sont:

        ifname Périphérique à utiliser
        con-name Nom du profile à créer
        ssid SSID du hotspot
        band bande Wi-Fi à utiliser
        channel Canal Wi-Fi à utiliser
        password Mode de passe à utiliser. Non fournis, nmcli en génère un. Noter que --show-secrets peut être utilisé pour afficher le mot de passe.
        wifi rescan [ifname ifname][ssid SSID...] Rescan immédiatement les points d'accès disponibles. en spécifiant le SSID, il est possible de rechercher ce SSID spécifique.
        lldp [ list [ ifname ifname ]] Affiche des informations sur les périphériques voisins appris via le protocole lldp.

Commande agent

secret Enregistre nmcli comme agent secret NetworkManager et écoute les demandes de secrets. Ce n'est généralement pas nécessaire parce que nmcli peut gérer les secrets à la connection aux réseaux.
polkit Enregistre nmcli comme agent polkit pour la session utilisateur.
all Lance nmcli comme secret NetworkManager et agent polkit

Variables d'environnement

LC_ALL Langage à utiliser pour déterminer le jeu de caractères
LC_MESSAGES Utilisé pour rechercher les locales
LANG Langage à utiliser pour déterminer le jeu de caractères

Codes de sortie

0 succès
1 Erreur non-spécifiée ou inconnue
2 entrée utilisateur invalide
3 Timeout expiré (--wait)
4 Activation de connexion échouée
5 Désactivation de connexion échouée
6 Déconnexion de périphérique échouée
7 Suppression de connexion échouée
8 NetworkManager n'est pas en cours de fonctionnement
10 La connection, périphérique ou point d'accès n'existe pas
65 avec --complete-args, un nom de fichier est attendu.

Exemples

Voir si NetworkManager est en cours de fonctionnement
nmcli -t -f RUNNING general
Affiche le status de NetworkManager
nmcli -t -f STATE general
Désactiver le wifi
nmcli radio wifi off
Lister les connexions que possède NetworkManager
nmcli connection show
Afficher toutes les connexions configurées en mode multiligne
nmcli -p -m multiline -f all con show
Lister toutes les connexions actives
nmcli connection show --active
Afficher tous les noms de profile de connexion et leur propriété auto-connect
nmcli -f name,autoconnect c s
afficher des détails pour le profile de connexion "My default em1"
nmcli -p connection show "My default em1"
AFficher des détails pour "My Home Wifi" avec tous les mots de passe:
nmcli --show-secrets connection show "My Home WiFi"
Affiche des détails pour la connexion active "My default em1":
nmcli -f active connection show "My default em1"
afficher les détails de configuration statique du profile de connexion
nmcli -f profile con s "My wired connection"
Activer un profile de connexion sur eth0
nmcli -p con up "My wired connection" ifname eth0
Connecter le Wi-Fi avec l'uuid spécifié au point d'accès donné
nmcli con up 6b028a27-6dc9-4411-9886-e9ad1dd43761 ap 00:3A:98:7C:42:D3
Aficher le status de tous les périphériques
nmcli device status
Déconnecter une connection de l'interface em2 et marquer le périphérique comme indisponibble pour l'auto-connexion.
nmcli dev disconnect em2
Afficher des détails pour wlan0, en limitant aux sections GENERAL et WIFI-PROPERTIES
nmcli -f GENERAL,WIFI-PROPERTIES dev show wlan0
Afficher tous les profiles de connection disponibles pour l'interface Wi-Fi wlp3s0
nmcli -f CONNECTIONS device show wlp3s0
Lister tous les points d'accès disponibles connus
nmcli dev wifi
Créer une nouvelle connexion nommée "My cafe" et le connecter au SSID "Cafe Hotspot 1" avec le mot de passe caffeine.
nmcli dev wifi con "Cafe Hotspot 1" password caffeine name "My cafe"
Créer un profile hotspot et se connecter. Affiche le mot de passe
nmcli -s dev wifi hotspot con-name QuickHotspot
Démarre un partage de connexion IPv4 en utilisant le périphérique em1. Le partage est activé jusqu'à ce que le périphérique soit déconnecté
nmcli dev modify em1 ipv4.method shared
Ajoute temporairement une adresse IP au périphérique
nmcli dev modify em1 ipv6.address 2001:db8::a:bad:c0de
Ajoute non-interactivement une connexion Ethernel à eth0 avec DHCP, puis désactive le flag autoconnect
nmcli connection add type ethernet autoconnect no ifname eth0
Ajoute un VLAM avec l'id 55, sur eth0 et nommé Maxipes-fik
nmcli c a ifname Maxipes-fik type vlan dev eth0 id 55
Ajoute une connexion qui utiliser eth0 et a seulement une IPv6 lien-local
nmcli c a ifname eth0 type ethernet ipv4.method disabled ipv6.method link-local
Édite une connexion existante dans un éditeur interactif
nmcli connection edit ethernet-em1-2
Ajoute une nouvelle connexion Ethernet dans l'éditeur interactif
nmcli connection edit type ethernet con-name "yet another Ethernet connection"
Modifie la propriété autoconnect
nmcli con mod ethernet-2 connection.autoconnect no
Modifie le propriété mtu dans les paramètre wi-fi d'une connexion
nmcli con mod "Home Wi-Fi" wifi.mtu 1350
Définis l'adressage manuellement et les adresse dans le profile em1-1
nmcli con mod em1-1 ipv4.method manual ipv4.addr "192.168.1.23/24 192.168.1.1, 10.10.1.5/8, 10.0.0.11"
Ajoute un serveur DNS public google aux serveurs DNS dans le profile ABC
nmcli con modify ABC +ipv4.dns 8.8.8.8
Supprime l'adresse IP spécifiée du profile ABC
nmcli con modify ABC -ipv4.addresses "192.168.100.25/24 192.168.1.1"
Importe une configuration OpenVPN
nmcli con import type openvpn file ~/Downloads/frootvpn.ovpn
Export le profile VPM
nmcli con export corp-vpnc /home/joe/corpvpn.conf
^
17 mars 2010

htmlpdflatexmanmd




route

route

Utilitaire pour afficher et manipuler la table de routage IP du noyau

OPTIONS

-v affiche le mode verbeux
-A famille utilise la famille d'adresse spécifiée (ex : inet, inet6)
-n  Affiche les adresses numériques au lieu des nom d'hôtes.
-e  Utilise netstat pour l'affichage de la table de routage -ee génère une très longue ligne avec tous les paramètres à partir de la table de routage.
-net la cible est un réseau
-host la cible est un hôte
-F Affiche la table de routage FIB du noyau. (FIB: Forwarding Information Base à différencier de RIB: routing Information Base)
-C Affiche le cache de routage du noyau
del Supprime une route
add Ajoute une route

   L'hôte ou le réseau de destination peut être spécifié avec une IP en notation décimale pointée ou un nom d'hôte à ajouter

netmask spécifie le masque de sous-réseau
gw indique le tronçon suivant pour la route
metric Affecte la métric pour la route
mss spécifie le MSS (Maximum Segment Size) de TCP pour les connexions passant par cette route.
window définit la taille de de fenêtre TCP (en octets) pour les connexions passant par cette route.
irtt définis le iRTT initial (round trip time) pour les connexions TCP sur cette route.(en msec)
reject Installe une route bloquante, qui forcera l'échec d'une recherche. utilisé pour masquer les réseaux avant d'utiliser la route par défaut.
mod, dyn, reinstate installe une route dynamique ou modifiée. ne sert que pour des besoins de diagnostique
dev Force la route à être associée au périphérique spécifié.

Exemples

ajoute l'entrée loopback normale
route add -net 127.0.0.0
ajoute une route vers le réseau 192.168.1.0.
route add -net 192.168.1.0 nemask 255.255.255.0 dev eth0
spécifie un réseau et l'adresse de tronçon suivant.
route add -net 192.168.1.0/24 gw 192.168.1.1
ajoute la route par défaut
route add default gw livebox
force le multicast à passer par eth0
route add 224.0.0.0 netmask 240.0.0.0 dev eth0
supprimer une route
route del -net 10.0.0.0/8 gw passerelle

Affichage

les indicateurs possibles sont:
U (la route est active = up)
H (la cible est un hôte)
G (utilise comme passerelle)
R (rétablit la route pour le routage dynamique)
D (dynamiquement configurée par le démon ou par redirect)
M (modifiée par le démon de routage ou par redirect)
(rejète la route)
^
31 mars 2016

htmlpdflatexmanmd




systemd processus de démarrage

systemd processus de démarrage

Processus de démarrage du système

   Plusieurs composants sont impliqués dans le démarrage du système. Immédiatement après la mise sous tension, le BIOS fait une initialisation hardware minimale, et donne la main au chargeur de boot stocké dans un périphérique de stockage. Ce chargeur va ainsi invoquer un Kernel. Dans le cas de Linux, ce kernel extrait (optionnellement) et exécute une image disque initiale en RAM (initrd), tel que généré par dracut(8), qui recherche le système de fichier racine (possiblement en utilisant systemd). Une fois trouvé et monté, l'initrd donne le contrôle au gestionnaire du système (tel que systemd), qui est ensuite responsable pour gérer tout le harware restant, en montant tous les système de fihier nécessaires et en lancant tous les services configurés.

   Lors de l'arrêt, le gestionnaire stop tous les services, démonte tous les systèmes de fichiers, et optionnellement saute dans le code initrd qui démonte le système racine. Enfin, le système est arrêté.

Gestionnaire système au démarrage

   Au démarrage, le gestionnaire système dans l'image OS est responsable d'initialiser les systèmes de fichier, services et pilotes requis, qui sont nécessaires pour le système. Dans les systèmes systemd, ce processus est splitté en divers étapes qui sont exposés en tant qu'unités cible. Le processus de boot est hautement parallélisé pour que l'ordre dans lequel les unités cible soient atteints ne soit pas déterministe, mais adhère à une structure ordonnée limitée.

   Quand systemd démarre le système, il active toutes les unités qui sont des dépendances de default.target. Généralement, default.target est simplement un alias de graphical.target, ou multi-user.target, en fonction de la configuration du système. Pour forcer un ordre minimal entre les unités, un nombre d'unité cible sont disponibles.

   Le tableau suivant est une vue structurelle des unités et leur position dans le boot. Les unité en haut sont démarrées avant les unité plus bas.

schéma du démarrage du système
   Les unités cible qui sont communément utilisées comme cible de boot sont en italique. Ces unités sont un bon choix comme cible principal, par exemple en passant au kernel l'option systemd.unit=. en en lien default.target.

   timers.target est poussé par basic.targe de manière asynchrone. Cela permet aux unités timer de dépendre de services qui deviennent disponible plus tard.

Démarrage dans l'initrd

   L'implémentation du Ram disk initial peut être définis en utilisant systemd. Dans ce cas, le démarrage dans l'initrd suit la structure suivante.

   La cible par défaut dans l'initrd est initrd.target. Le processus de boot commence de la mème manière que le démarrage du gestionnaire système jusqu'à ce qu'il atteigne basic.target. De là, systemd approche la cible spéciale initrd.target. Si le périphérique root peut être monté dans /sysroot, l'unité sysroot.mount devient active et initrd-root-fs.target est atteinte. Le service initrd-parse-etc.service scanne /sysroot/etc/fstab pour un point de montage possible de /usr et les entrées additionnelles marquées avec l'option x-initrd.mount. Toutes les entrées trouvées sont montées sous sysroot, et initrd-fs.target est atteind. Le service initrd-cleanup.service isole vers initrd-switch-root.target, où les services de nettoyage peuvent être lancés. En dernier, initrd-switch-root.service est activé, causant le système à switch sont root.

schéma du initrd

Arrêt du système

   L'extinction du système avec systemd consiste également de divers unités cible avec une structure minimale:

arrêt du système
^
31 mars 2016

htmlpdflatexmanmd




systemd-journal-gatewayd

systemd-journal-gatewayd, systemd-journal-gatewayd.service, systemd-journal-gatewayd.socket

serveur http pour les événements journaux

   systemd-journal-gatewayd dessert les événements journaux sur le réseaux. Les clients doivent se connecter en utilisant HTTP, sur le port 19531 par défaut. Le programme est démarré par systemd et attend de reçevoir un simple socket. utiliser systemctl start systemd-journal-gatewayd.socket pour démarrer le service, et systemctl enable systemd-journal-gatewayd.socket

OPTIONS

--cert= Spécifie le chemin vers un fichier contenant un certificat serveur au format PEM.
--key= Spécifie le chemin vers un fichier contenant un clé serveur au format PEM.

URL supportées

/browse Naviguer interactivement
/entries[?option1&option2=value...] Récupérer les événements dans divers format. La partie Accept: de l'en-tête http détermine le format. La partie Range: de l'en-tête http détermine la plage d'événements retournés. Les paramètres GET peuvent être utilisés pour modifier les événements à retourner.
/machine Retourne une structure JSON décrivant la machine

Exemple:
{ "machine_id" : "8cf7ed9d451ea194b77a9f118f3dc446",
"boot_id" : "3d3c9efaf556496a9b04259ee35df7f7",
"hostname" : "fedora",
"os_pretty_name" : "Fedora 19 (Rawhide)",
"virtualization" : "kvm",
...}

/fields/FIELD_NAME Retourne une liste de valeurs de ce champs présent dans les logs

En-tête Accept

Accept: format Reconnaît les formats suivants:

        text/plain (défaut). sortie texte style syslog (comme journalctl --output short)
        application/json Entrées formattées en structures de données JSON (comme journalctl --output json)
        application/event-stream Entrées sérialisées en un flux binaire pour les sauvegardes et les transferts réseaux (comme journalctl --output export)

En-tête Range

Range: entries=cursor[[:num_skip]:num_entries] où cursor est une chaîne curseur, num_skip est un entier, num_entries est un entier non-signé.

Paramètres GET

follow Attend les nouveaux événements (comme journalctl --follow, excepté que le nombre d'evénements retourné n'est pas limité)
discrete Teste si le curseur spécifié réfère à une entrée dans le journal. Retourne simplement l'entrée
boot Limite les événements au boot courant du système (comme journalctl --this--boot)
KEY=match Matche les champs du journal.

Exemples

Récupère les événements du boot courant depuis le journal courant au format export
curl --silent -H'Accept: application/vnd.fdo.journal' 'http://localhost:19531/entries?boot'
Écoute pour les coredumps
curl 'http://localhost:19531/entries?follow&MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1'
^
31 mars 2016

htmlpdflatexmanmd




systemd-journal-remote

systemd-journal-remote

journaux sur le réseaux

   systemd-journal-remote est une commande pour recevoir les événements journaux et les stocker dans le journal. Les flux d'entrées sont au format export. Pour le transport sur le réseau, ce flux sérialisé est généralement transporté sur HTTPS.

Sources

   Les sources peuvent être soit actives ( systemd-journal-remote demande et pousse les données), ou passives (systemd-remote-journal attend une connexion puis reçoit les événements).

   systemd-journal-remote peut lire plus d'un flux à la fois. Il seront entrelacés dans le fichier de sortie. Dans le cas de connexions actives, chaque source est un flux, et dans le cas de connexions passives, chaque connexion peut résulter en un flux séparé. Les sockets peuvent être configurés en mode "accept" (seulement une connexion), ou "listen" ( plusieurs connexions).

   Quand il n'y a plus de connexions, et plus aucune ne peut être créée, systemd-journal-remote se termine.

   Les sources actives peuvent être spécifiées de la manière suivante:

- quand - est donné comme argument positionnel, les événements sont lus depuis d'entrée standard. Les autres arguments seront traités comme noms de fichier.
--url=ADDRESS Les événements sont récupérés en utilisant HTTP depuis ADDRESS. Cet url dervrait référer à la racine d'une instance systemd-journal-gatewayd.

   Les sources passives peuvent être spécifiées de la manière suivante:

--listen-raw=ADDRESS ADDRESS doit être une adresse utilisable pour ListenStream=.
--listen-http=ADDRESS, --listen-https=ADDRESS ADDRESS doit être soit un entier négatif, auquel cas il est interprété comme le numéro de descripteur de fichier, ou une adresse utilisable par ListenStream=. Dans le premier cas, le fd doit être hérité via $LISTEN_FDS/$LISTEN_PID. Dans le second cas, un serveur HTTP ou HTTPS sera lancé sur ce port.
$LISTEN_FDS systemd-journal-remote supporte le protocole $LISTEN_FDS/$LISTEN_PID. Les sockets ouverts hérités via l'activation socket se comportent comme ceux ouverts avec --listen-raw= décris plus haut, sauf s'il sont spécifiés pour lancer un serveur http(s).

Sinks

   L'emplacement du journal de sortie peut être spécifié avec -o out --output=. Pour les sources actives, cette options est requise.

--output=FILE Fichier journal à écrire. Le nom du fichier doit se terminer par .journal. Il sera créé s'il n'existe pas.
--output=DIR Créé les fichiers journaux sous le répertoire spécifié. Le répertoire doit exister.

   Si --output n'est pas utilisé, utilise /var/log/journal/remote. Dans le cas où le fichier de sortie n'est pas spécifié, les fichiers journaux seront créés dans le répertoire séléctionné. Les fichiers seront appelés remote-‹hostname›.journal. Dans le cas de sources active, le fichier de sortie doit toujours être donné explicitement.

OPTIONS

--split-mode (none ou host). Au départ, seul un fichier journal est utilisé. Pour la suite, un fichier séparé est utilisé, basé sur le nom d'hôte. Dans le cas de sources actives, le fichier de sortie doit toujours être donné explicitement et seul none est permis.
--compress, --no-compress Compresse les données dans le journal avec xz
--seal, --no-seal Signe périodiquement les données dans le journal en utilisant FSS
--getter=PROG --option1 --option2 Programme à invoquer pour récupérer les données. Le flux d'événements doit être généré sur la sortie standard (ex: --getter='curl "-HAccept: application/vnd.fdo.journal" https://some.host:19531/', ex: --getter='wget --header="Accept: application/vnd.fdo.journal" -O- https://some.host:19531/' )

Exemples

Copier les événements journaux locaux dans un répertoire différent
journalctl -o export | systemd-journal-remote -o /tmp/dir -
Récupérer les événements depuis systemd-journal-gatewayd et les stocker dans /var/log/journal/some.host/remote-some-host.journal
systemd-journal-remote --url http://some.host:19531/
^
31 mars 2016

htmlpdflatexmanmd




systemd-journald

systemd-journald, systemd-journald.service, systemd-journald.socket, systemd-journald-dev-log.socket, systemd-journald-audit.socket

Service de journalisation

   systemd-journald est un service système qui collecte et stocke des données de log. Il créé et maintient des journaux indexés basés sur les informations de logging qui sont reçus depuis une variété de sources:

- Logs du kernel, via kmsg
- Logs système simple, via syslog(3)
- Logs système structurés via l'api native sd_journal_print(4)
- Sortie est erreur standard des services système
- Enregistrements d'audit, via le sous-système d'audit

   Le service collecte implicitement de nombreux champs de métadonnées pour chaque messages de log de manière sécurisé et inaltérable. Les données de log collectées sont principalement du texte, mais peuvent également inclure des données binaire. Tous les objets stockés dans le journal peuvent avoir une taille allant jusqu'à 2^64-1 octets

   Par défaut, le journal stocke les données de logs dans /run/log/journal/. Vu que /run est volatile, les données de log sont perdue au redémarrage. Pour que les données soient persistantes, il suffit de créer /var/log/journal/, où systemd-journal va stocker les données:


mkdir -p /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal

Signaux

SIGUSR1 Demande au journal de vider /run dans /var. journalctl --flush utilise ce signal.
SIGUSR2 Demande une rotation immédiate des fichiers journaux. journalctl --rotate utilise ce signal.
SIGRTMIN+1 Demande que toutes les données de log non-écrite le soient sur disque. journalctl --sync utilise ce signal.

Kernel Command Line

   Quelques paramètre de configuration de journald.conf peuvent être passés sur la ligne de commande du kernel:

systemd.journald.forward_to_syslog=
systemd.journald.forward_to_kmsg=
systemd.journald.forward_to_console=
systemd.journald.forward_to_wall= Active/désactive la collecte des messages dans syslog, kmsg, la console système, ou wall

Contrôle d'accès

   Les fichiers journaux sont par défaut possédés et lisible par le groupe systemd-journal mais ne sont pas accessible en écriture. Ajouter un utilisateur à ce groupe lui permet de lire ces fichiers journaux.

   Par défaut, chaque utilisateur loggé a sont propre jeu de fichiers journaux dans /var/log/journal. Ces fichiers ne sont pas possédés par l'utilisateur, cependant, pour éviter que l'utilisateur puisse y écrire directement. Au lieu de ça, les ACL sont utilisées pour s'assurer que l'utilisateur a les accès en lecture seule.

Des utilisateurs et groupes additionnels peuvent obtenir l'accès aux fichiers journaux via les ACL. Par exemple, pour donner l'accès aux membres de wheel et adm:
setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/

   Noter que cette commande va mettre à jours les ACL pour les fichiers journaux existants et pour les futures fichiers journaux créés dans /var/log/journal/

Fichiers

/etc/systemd/journald.conf Configure le comportement de systemd-journald
/run/log/journal/machine-id/*.journal
/run/log/journal/machine-id/*.journal~
/var/log/journal/machine-id/*.journal
/var/log/journal/machine-id/*.journal~ systemd-journald écrit les entrées dans les fichiers avec le suffix .journal. Si le service n'est pas stoppé proprement, ou si des fichiers sont corrompus, il sonts renommés en utilisant le suffix .journal~, et systemd-journald écrit un nouveau fichier.
/dev/kmsg
/dev/log
/run/systemd/journal/dev-log
/run/systemd/journal/socket
/run/systemd/journal/stdout Sockets et autres chemins que systemd-journald écoute qui sont visible dans le système de fichier. De plus, journald peut écouter les évènements d'audit en utilisant netlink.
^
31 mars 2016

htmlpdflatexmanmd




systemd.journal-fields

systemd.journal-fields

Champs de journaux spéciaux

Champs utilisateurs

   Les champs utilisateur sont des champs qui sont directement passés par les clients et stockés dans le journal

MESSAGE= Message de l'entrée.
MESSAGE_ID= Identifiant 128bits pour reconnaître certains types de message.
PRIORITY= Une valeur de priorité entre 0 "emerg" et 7 "debug" formatté en chaîne.
CODE_FILE=
CODE_LINE=
CODE_FUNC= Code de l'emplacement qui a généré cette entrée, si connu. Contient le fichier source, le numéro de ligne et le nom de la fonction.
ERRNO= Numéro d'erreur Unix qui a causé cette entrée, s'il y a un. Contient la valeur numérique de errno(3) formattée en chaîne.
SYSLOG_FACILITY=
SYSLOG_IDENTIFIER=
SYSLOG_PID= Champs de compatibilité syslog contenant la facilité, l'identifiant et le PID du client

Champs de confiance

   Les champs préfixés par un '_' sont des champs de confiance, et sont ajoutés implicitement pas le journal et ne peuvent pas être altérés par le code client

_PID=
_UID=
_GID= Process, user et group ID du processus ayant généré l'entrée.
_COMM=
_EXE=
_CMDLINE= Nom, chemin de l'exécutable, et ligne de commande du processus ayant généré l'entrée
_CAP_EFFECTIVE= Les capacités effectives du processus ayant généré l'entrée
_AUDIT_SESSION=
_AUDIT_LOGINUID= Le session et login UID du processus ayant généré l'entrée, comme maintenu par le sous-système d'audit du kernel
_SYSTEMD_CGROUP=
_SYSTEMD_SESSION=
_SYSTEMD_UNIT=
_SYSTEMD_USER_UNIT=
_SYSTEMD_OWNER_UID=
_SYSTEMD_SLICE= Le chemin du cgroup dans la hiérarchie systemd, l'ID de session systemd, le nom de l'unité, le nom de l'unité de session utilisateur, l'UID propriétaire de la session systemd et l'unité slice systemd du processus ayant généré l'entrée
_SELINUX_CONTEXT= Le contexte de sécurité SELinux du processus ayant généré l'entrée
_SOURCE_REALTIME_TIMESTAMP= La date du message, s'il est connu, qui est différent de la date de réception par le journal, en microsecondes depuis epoch
_BOOT_ID= Le kernel boot ID
_MACHINE_ID= L'ID de machine de l'hôte, comme affiché dans machine-id(5)
_HOSTNAME= Le nom de l'hôte
_TRANSPORT= Décris comment l'entrée a été reçue

        audit Lus depuis le sous-système d'audit du kernel
        driver Pour les messages générés en interne
        syslog Reçus via le socket syslog local avec le protocole syslog
        journal Reçus via le protocole journal natif
        stdout Lu depuis la sortie standard ou l'erreur standard d'un service
        kernel Lus depuis le kernel

Champs du kernel

   Ces champs sont utilisés par les messages provenant du kernel

_KERNEL_DEVICE= Nom du périphérique kernel.
_KERNEL_SUBSYSTEM= Nom du sous-système du kernel
_UDEV_SYSNAME= Nom du périphérique kernel tel qu’affiché dans /sys
_UDEV_DEVNODE= Node du périphérique dans /dev
_UDEV_DEVLINK= Nom du lien pointant vers le node dans /dev

Champs à la demande d'un autre programme

   Les champs dans cette section sont utilisé par les programmes pour spécifier qu'ils sont loggés à la demande d'un autre programme ou unité.

COREDUMP_UNIT=
COREDUMP_USER_UNIT= Champs utilisés par systemd-coredump. Utilisé pour annoter les messages contenant les coredumps des unités system et session.
OBJECT_PID=PID PID du programme concerné par ce message
OBJECT_UID=
OBJECT_GID=
OBJECT_COMM=
OBJECT_EXE=
OBJECT_CMDLINE=
OBJECT_AUDIT_SESSION=
OBJECT_AUDIT_LOGINUID=
OBJECT_SYSTEMD_CGROUP=
OBJECT_SYSTEMD_SESSION=
OBJECT_SYSTEMD_OWNER_UID=
OBJECT_SYSTEMD_UNIT=
OBJECT_SYSTEMD_USER_UNIT= Champs additionnels ajoutés automatiquement par systemd-journald. Leur signification est similaire à leur homologue sans 'OBJECT', excepté que c'est le PID dans PID qui est décris, au lieu du processus qui a loggés le message

Champs adresse

   Durant la sérialisation dans les formats externe, tel que le format export ou JSON, les adresses des entrées du journal sont sérialisés dans des champs préfixés avec un double '__'.

__CURSOR= Le curseur pour l'entrée. Un curseur est un chaîne opaque qui décrit de manière unique la position d'une entrée dans le journal et est portable entre les machines, plateformes et fichiers journaux.
__REALTIME_TIMESTAMP= le wallclock time (CLOCK_REALTIME) où l’entrée a été reçue
__MONOTONIC_TIMESTAMP= Le temps monotonic (CLOCK_MONOTONIC) où l’entrée a été reçue
^
26 mai 2017

htmlpdflatexmanmd




teamd

teamd

Service de contrôle de périphérique réseau team

   teamd est un service qui contrôle un périphérique réseau team en temps réel. Il utilise libteam pour communiquer avec l'intance du périphérique team kernel via les sockets Netlinks.

OPTIONS

-d, --daemonise Met en tâche de fond
-k, --kill Termine une instance en cours de fonctionnement
-e, --check Retourne 0 si le service est déjà en cours de fonctionnement
-f filename, --config-file filename Fichier de configuration alternatif
-c text, --config text Utilise le format de configuration JSON. Si présent, -f est ignoré
-p filename, --pid-file filename Fichier PID à utiliser
-g, --debug Mode debug
-r, --force-recreate Force à re-créer le périphérique team s'il existe déjà
-o, --take-over Prend le contrôle du périphérique s'il existe déjà
-N, --no-quit-destroy S'assure que le périphérique team n'est pas supprimé une fois que teamd se termine
-t devicename, --team-dev devicename Utilise le périphérique team spécifié (remplace l'option device dans la configuration)
-n, --no-ports Démarre sans ports, même s'ils sont listés dans la configuration
-D, --dbus-enable Active l'interface D-Bus
-z address, --zmq-enable address Active l'interface ZMQ. Les formats possibles sont 'tcp://ip:port', 'ipc://path' et d'autres.
-U, --usock-enable Active l'interface socket UNIX. Activé par défaut
-u, --usock-disable Désactive l'interface socket UNIX
^
26 mai 2017

htmlpdflatexmanmd




teamd.conf

teamd.conf

Fichier de configuration de teamd

OPTIONS

device Nom du périphériques du nouveau périphérique team
debug_level Niveau de debug. 0 = désactivé
hwadr Adresse MAC souhaitée pour le nouveau périphérique
runner.name Nom du périphérique team:

        broadcast transmets les paquets via tous les ports
        roundrobin mode de transmission round-robin
        activebackup Sélection un port actif
        loadbalance load balancing passif, utilise une fonction de hashage BPF pour déterminer le port pour la transmission des paquets
        lacp. Pour un load balancing actif, les hash sont placés sur les ports disponible en tentant d'atteindre la balance parfaite Implément le protocole 802.3ad.

notify_peers.count Nombre de NA non-solicités et ARP gratuitous envoyés après qu'un port ait été activé/désactivé
notify_peers.interval interval en ms entre les bursts de paquets notify-peer
mcast_rejoin.count Monbre de bursts de requêtes rejoin de groupe multicast envoyés une fois qu'un port soit activé/désactivé
mcast_rejoin.interval Interval en ms entre les bursts des requêtes rejoin de groupe multicast
link_watch.name | ports.PORTIFNAME.link_watch.name Nom du surveillant de lien à utiliser:

        ethtool Utilise libteam pour obtenir les changements d'état de port
        arp_ping Les requêtes ARP sont envoyés via un port. Si une réponse ARP, le lien est considéré up
        nsna_ping Similaire, mais utilise Neighbor Solicitation/Advertisement IPv6.

ports Liste des ports, périphériques réseaux, à utiliser dans le périphérique team
ports.PORTIFNAME.queue_id ID de file auquel ce port doit être mappé

Options spécifiques au mode active-backup

runner.hwaddr_policy Définis la stratégie pour définis les adresses hardware et les périphériques ports du périphérique team durant sa durée de vie:

        same_all Tous les ports ont toujours la même adresse hardware
        by_active le team adopte l'adresse hardware du port actif
        only_active Seul le port actif adopte de l'adresse hardware du team

ports.PORTIFNAME.prio Priorité du port
ports.PORTIFNAME.sticky Flag indiquant sile port est sticky, ce port n'est pas désélectionné si un autre port avec une priorité plus élevée ou de meilleurs paramètres deviennent disponibles

Options spécifiques au mode load-balance

runner.tx_hash Liste des types de fragment qui devraient être utilisés pour le calcul du hash Tx du paquet:

        ethtool Utilise les adresses MAC source et destination
        vlan Utilise l'id de vlan
        ipv4 Utilise les adresses IPv4 source et destination
        ipv6 Utilise les adresses IPv6 source et destination
        ip Utilise les adresse IPv4 et IPv6 source et destination
        l3 idem
        tcp Utilise les ports TCP source et destination
        udp Utilise les ports UDP source et destination
        sctp Utilise les ports SCTP source et destination
        l4 Utilise les ports TCP, UDP, et SCTP source et destination

runner.tx_balancer.name Nom du balancer tx actif. (actuellement seulement 'basic')
runner.tx_balancer.balancing_interval En dixième de seconde. Interval périodique entre le rebalancing

Options spécifiques au mode lacp

runner.active Si active est true, les frames LACPDU sont envoyés avec les liens configurés périodiquement.
runner.fast_rate Spécifie le taux auquel demander au partenaire du lien de retransmettre les paquets LACPDU. À true, les paquets sont envoyés une fois par seconde, sinon, une fois toutes les 30 secondes
runner.tx_hash Idem pour le runner load-balancer
runner.tx_balancer.name idem
runner.tx_balancer.balancing_interval idem
runner.sys_prio priorité système (0-65535)
runner.min_ports Nombre minimum de ports qui doivent être actifs avant d'affirmer le porteur dans l'interface maître. 1-255
runner.agg_select_policy Sélection la stratégie de séléction de l'aggrégateur

        lacp_prio Aggrégrateur avec haute priorité en accord avec le standard LACP
        lacp_prio_stable Idem, mais ne remplace pas l'aggrégateur séléctionné s'il est utilisable
        bandwidth Aggrégateur avec la bande passante la plus élevée
        count Aggrégateur avec le plus grand nombre de ports
        port_config Aggréateur en accord avec les options prio et sticky.

ports.PORTIFNAME.lacp_prio priorité de port en accord avec le standard LACP
ports.PORTIFNAME.lacp_key Clé de port en accord avec le standard LACP

Options du surveillant ethtool

link_watch.delay_up | ports.PORTIFNAME.link_watch.delay_up délay en ms entre le lien devenant up, et la notification au runner
link_watch.delay_down | ports.PORTIFNAME.link_watch.delay_down Délai en ms entre le lien devenant down et la notification au runner

Options du surveillant arp ping

link_watch.interval | ports.PORTIFNAME.link_watch.interval Interval en ms entre les requêtes ARP
link_watch.init_wait | ports.PORTIFNAME.link_watch.init_wait délai en ms entre l'initialisation du surveilant et le premier ARP
link_watch.missed_max | ports.PORTIFNAME.link_watch.missed_max Nombre de réponse ARP non reçu max avant de reporter le lien down
link_watch.source_host | ports.PORTIFNAME.link_watch.source_host hostname source pour l'envoie des requêtes ARP
link_watch.target_host | ports.PORTIFNAME.link_watch.target_host hostname auquel envoyer les requêtes ARP
link_watch.validate_active | ports.PORTIFNAME.link_watch.validate_active Valide les paquets arp dans le ports actifs, sinon, tous les paquets entrants sont considéré comme de bonnes réponses
link_watch.validate_inactive | ports.PORTIFNAME.link_watch.validate_inactive Valide les paquets reçus sur les ports inactif. Sinon, tous les paquets entrants sont considérés comme de bonnes réponses
link_watch.send_always | ports.PORTIFNAME.link_watch.send_always Permet d'envoyer des requêtes arp également sur les ports inactifs

Options du surveillant NS/NA

link_watch.interval | ports.PORTIFNAME.link_watch.interval Interval en ms entre les envoies de paquets NS
link_watch.init_wait | ports.PORTIFNAME.link_watch.init_wait délai en ms entre l'initialisation du surveillant et le premier NS envoyé
link_watch.missed_max | ports.PORTIFNAME.link_watch.missed_max Nombre de NA manqué maximum, avant de reporter le lien down
link_watch.target_host | ports.PORTIFNAME.link_watch.target_host hostname auquel envoyer les paquets NS

Exemples


{
    "device": "team0",
    "runner": {"name": "roundrobin"},
    "ports": {"eth1": {}, "eth2": {}}
}

Configuration très basique
{
    "device": "team0",
    "runner": {"name": "activebackup"},
    "link_watch": {"name": "ethtool"},
    "ports": {
        "eth1": {
            "prio": -10,
            "sticky": true
        },
        "eth2": {
            "prio": 100
        }
    }
}

Cette configuration utilise le runner active-backup avec surveillant ethtool. le port eth2 a la plus haute priorité, mais le flag sticky s'assure que eth1 reste active.
{
    "device": "team0",
    "runner": {"name": "activebackup"},
    "link_watch": {
        "name": "ethtool",
        "delay_up": 2500,
        "delay_down": 1000
    },
    "ports": {
        "eth1": {
            "prio": -10,
            "sticky": true
        },
        "eth2": {
            "prio": 100
        }
    }
}

Similaire au précédent, mais les changements de lien ne sont pas propagés au runner immédiatement
{
    "device": "team0",
    "runner": {"name": "activebackup"},
    "link_watch": {
        "name": "arp_ping",
        "interval": 100,
        "missed_max": 30,
        "target_host": "192.168.23.1"
    },
    "ports": {
        "eth1": {
            "prio": -10,
            "sticky": true
        },
        "eth2": {
            "prio": 100
        }
    }
}

Cette configuration utilise un surveillant ARP
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": [
    {
        "name": "arp_ping",
        "interval": 100,
        "missed_max": 30,
        "target_host": "192.168.23.1"
    },
    {
        "name": "arp_ping",
        "interval": 50,
        "missed_max": 20,
        "target_host": "192.168.24.1"
    }
],
"ports": {
    "eth1": {
        "prio": -10,
        "sticky": true
    },
    "eth2": {
        "prio": 100
        }
    }
}

Similaire, mais 2 surveillant sont utilisés
{
    "device": "team0",
    "runner": {
        "name": "loadbalance",
        "tx_hash": ["eth", "ipv4", "ipv6"]
    },
    "ports": {"eth1": {}, "eth2": {}}
}

Configuration passive hash-based
{
    "device": "team0",
    "runner": {
        "name": "loadbalance",
        "tx_hash": ["eth", "ipv4", "ipv6"],
        "tx_balancer": {
            "name": "basic"
        }
    },
    "ports": {"eth1": {}, "eth2": {}}
}

Configuration active load-balancing
{
    "device": "team0",
    "runner": {
        "name": "lacp",
        "active": true,
        "fast_rate": true,
        "tx_hash": ["eth", "ipv4", "ipv6"]
    },
    "link_watch": {"name": "ethtool"},
    "ports": {"eth1": {}, "eth2": {}}
}
^
26 mai 2017

htmlpdflatexmanmd




teamdctl

teamdctl

Outil de contrôle du service team

   teamdctl permet d'interagir avec une instance teamd. Il utilise par défaut un socket de domaine unix, mais utilise également D-Bus pour s'assurer des opérations dans tous les environnements

OPTIONS

-v, --verbosity Mode verbeux
-o, --oneline Force la sortie sur une seule ligne si possible
-D, --force-dbus Force l'utilisation de D-Bus
-Z address, --force-zmq address Force l'utilisation de l'interface ZMQ ("tcp://ip:port", "ipc://path" etc.)
-U, --force-usock Force l'utilisation du socket UNIX.

Commandes

config dump Dump la config JSON teamd
config dump noports idem sans la section ports
config dump actual Dump la config JSON actuelle
state dump | state dump le document d'état JSON de teamd
state view Affiche l'état de teamd depuis de document d'état JSON
state item get state_item_path Affiche l'élément
state item set state_item_path value Définis un paramètre. N'est valable que pour les éléments suivants:

        setup.debug_level Niveau de débuggage
        ports.PORTIFNAME.runner.aggregator.selected Disponible pour lacp. permet de sélectionner l'aggrégateur.
        runner.active_port pour activebackup, sélectionne le port actif

port add portdev Ajouter un périphérique au team
port remove portdev Supprime un périphérique au team
port present portdev Vérifie la présence d'un périphérique au team
port config update portdev portconfig_string Met à jours la configuration de périphérique du team
port config dume portdev Dump la configuration du périphérique sur stdout
^
26 mai 2017

htmlpdflatexmanmd




teamnl

teamnl

Outil d'interface Netlink

   teamnl est un outil permettant l'interaction avec un périphérique team via l'interface Netlink du pilote team. cet outil sert principalement pour debugger.

OPTIONS

-p ifname, --port-name ifname Sélectionne les options par port
-a index, --array_index index Sélectionne l'option de l'index fournis

Commandes

port Dump les ports du team
option dump les options du team
getoption opt_name Affiche l'option spécifiée
setoption opt_name opt_value Définis l'option spécifiée
monitor opt_style Supervise les changements faits dans les options, ports, et interfaces. Style peut être 'changed' ou 'all'
^
23 mai 2017

htmlpdflatexmanmd




tiger

tiger

Analyseur de sécurité UNIX

   Tiger est un package consistant de scripts shell, code C, et de fichiers de données utilisées pour vérifier les problèmes de sécurité dans un système UNIX. Il scanne les fichiers de configuration système, les systèmes de fichiers, et les fichiers de configuration utilisateur pour de possible problèmes de sécurité et les affiche.

  tiger peut être configuré en ajustant les variables Tiger_ dans le fichier de configuration tigerrc. Pour chaque module disponible, il y a une variable qui determine si le module est lancé.

OPTIONS

-B tigerdir Spécifie le répertoire où tiger est installé.
-l logdir|@logserver Spécifie le nom du répertoire où tiger écrit le rapport de sécurité, ou le nom d'un serveur de log tiger.
-w workdir Spécifie un répertoire à utiliser pour créer des fichiers scratchs.
-b bindir Spécifie le répertoire qui contient les binaires générés depuis les modules C.
-c tigerrc Spécifie l'emplacement du fichier tigerrc
-e  Insert des explication dans les rapports de sécurité suivant chaque message.
-E  Créé un rapport explicatif séparé
-G Génère les signatures (hashs MD5 et permissions de fichier) pour les fichiers binaires système
-H Formatte le rapport en html
-S Indisque qu'une vérification des fichiers de configuration des clients sans disque servis par cette machine devraient être vérifiés en même temps.
-q Supprime les messages pour être le plus silencieux possible
-A arch Spécifie l'architecture au lieu de laisser tiger l'obtenir
-O os Spécifie l'os au lieu de laisser tiger l'obtenir
-R release Spécifie la version de l'os au lieu de laisser tiger l'obtenir

Modules

   Tiger est composé d'une série de modules. Chacun de ces modules vérifie les problèmes de sécurité liés aux systèmes UNIX. Les modules peuvent être exécutés seul, depuis cron ou via le programme tiger.

check_accounts Vérifie les comptes fournis dans le système, recherche les comptes désactivés avec cron, rhosts, .forward et les shells valides
check_aliases Effectue une vérification pour les alias mail et les configuration non-correct
check_anonftp Vérifie si le service FTP anonyme est configuré correctement
check_cron Valide les entrées cron dans le système
check_embedded Détermine si les chemins embarqués sont configurés correctement
check_exports Analyse les fichiers de configuration des exports NFS
check_group Vérifis les groupes UNIX disponible dans le système
check_inetd Vérifie le fichier de configuration inetd
check_known Recherche les signes d'intrusion connus, incluant les backdoors et les mail spools.
check_netrc Vérifie si le fichiers netrc des utilisateurs sont configurés correctement
check_nisplus Recherche les erreurs de configuration dans les entrées NIS+
check_path Valide les binaires dans le PATH de l'utilisateur, et les définitions PATH utilisés par les scripts pour déterminer les définitions non-sécurisé
check_perms Vérifie les permissions de fichiers et les inconsistances
check_printcap analyses la configuration pour le fichier de contrôle d'imprimante
check_rhosts Vérifie les fichiers rhosts pour vois si la configuration utilisateur laisse le système ouvers à des attaques
check_sendmail Vérifie les fichiers de configuration sendmail
check_signatures Compares les signatures des fichiers binaires avec ceux stockés dans la base locale (fournie avec le programme)
check_system Ce module appelle les modules spécifique de l'os dans /usr/lib/tiger/systems/
check_apache Vérifie la configuration Apache
check_devices Vérifie les permissions des périphérique
check_exrc Analyse les fichiers .exrc qui ne sont pas dans les répertoires home.
check_finddeleted Vérifie si les fichiers supprimés sont utilisé par un processus dans le système
check_ftpusers Analyse /etc/ftpusers et détermine si les admins sont dans ce fichier
check_issue Vérifie /etc/issue et /etc/issue.net pour déterminer s'ils contiennent le contenu approprié
check_logfiles Vérifie l'existence de fichiers de log (wtmp, btmp, lastlog, et utmp). Vérifie le umask
check_lilo Analyse les fichiers de configuration de lilo et grub
check_listeningprocs Vérifie les processus écoutant sur des sockets TCP/IP dans le système et les utilisateurs qui les lances
check_passwdformat Vérifie le format de /etc/passwd pour déterminer les inconsistances indiquant une intrusion ou une mauvaise configuration
check_patches Vérifie si les patchs sont disponibles pour le système. Utilise autorpm ou apt-get.
check_root Vérifie si le login root distant est autorisé
check_rootdir Vérifie les permission de /root
check_rootkit Tente de trouver les systèmes rootkités, en recherchant les commandes ls et find qui sont des trojans. inclus également un wrapper pour chkrootkit
check_single Vérifie si le système est configuré correctement et interdit l'accès single-user.
check_release Analyse la version de l'os et détermine s'il n'est plus à jours.
check_runprocs Vérifie si les processus configurés dans tigerrc sont lancés dans le système.
check_services Vérifie quils services sont configurés dans le système (généralement /etc/services) et ceux qui devraient être configurés
check_tcpd Test l'existance de tcp-wrappers et change la configuration et détermine quels services tournent sous tcp-wrappers
check_umask Vérifie le paramètre umask dans les fichiers de configuration
check_xinetd Vérifie si les services xinetd sont activés ou non
crack_run Lance une installation locale du programme Crack qui peut être utilisé pour déterminer si les mots de passe locaux sont trop simple
tripwire_run
aide_run
Integrit_run Wrappers pour des vérificateurs d'intégrité, ces programmes améliore le support de tiger pour les signatures binaires MD5 et SHA1 et les vérifications de permission de fichier.
deb_checkadvisories Vérifie une liste d'avertissement de sécurité pour voir si le système a des paquets installés dont la version peut être sujet à une vulnérabilité
deb_checkmd5sums Compare les MD5 des fichiers binaires avec ceux fournis après l'installation.
deb_nopackfiles Recherche les fichiers installés dans les répertoires système qui ne sont pas fournis par un package Debian
^
23 mai 2017

htmlpdflatexmanmd




tigercron

tigercron

Utilitaire cron pour tiger

   tigercron est utilisé pour lancer périodiquement les vérifications de tiger. tigercron lit un fichier de contrôle qui est généralement utilisé dans cronrc. -B permet d'indiquer où tiger est installé. tigercon lance les vérifications et compare les rapports avec les précédents. Puis il envoie le résultat par mail définis dans tigerrc.

OPTIONS

   tigercron utilise les même options que tiger.
^
23 mai 2017

htmlpdflatexmanmd




tigerrc

tigerrc

Fichier de configuration pour tiger

   Ce fichier est pré-traité, et ne peut contenir que des assignements de variables et des commentaires

TigerNoBuild=Y Les fichiers C sont corrompus
Tiger_Check_PASSWD=Y Rapide
Tiger_Check_PASSWD_FORMAT=N Non nécessaire dans les systèmes avec pwck
Tiger_Check_PASSWD_SHADOW=Y le temps dépend du nombre d'utilisateurs
Tiger_Check_PASSWD_NIS=N idem
Tiger_Check_GROUP=Y rapide
Tiger_Check_ACCOUNTS=Y le temps dépend du nombre d'utilisateurs
Tiger_Check_RHOSTS=Y idem
Tiger_Check_NETRC=Y idem
Tiger_Check_ALIASES=Y rapide
Tiger_Check_CRON=Y rapide
Tiger_Check_ANONFTP=Y rapide
Tiger_Check_EXPORTS=Y rapide
Tiger_Check_INETD=Y rapide pour inetd, varie pour xinetd
Tiger_Check_SERVICES=Y assez rapide
Tiger_Check_KNOWN=Y rapide
Tiger_Check_PERMS=Y assez rapide
Tiger_Check_SIGNATURES=N plusieurs minutes
Tiger_Check_FILESYSTEM=Y Dépend de la taille du système de fichier. peut prendre des heures
Tiger_Check_ROOTDIR=Y Rapide
Tiger_Check_ROOT_ACCESS=Y Rapide
Tiger_Check_PATH=Y rapide pour root.
Tiger_Check_EMBEDDED=Y Plusieurs minutes
Tiger_Check_BACKUPS=Y Rapide
Tiger_Check_LOGFILES=Y Rapide
Tiger_Check_USERUMASK=Y Rapide
Tiger_Check_ETCISSUE=N Rapide, doit être personnalisé
Tiger_Check_STRICTNW=Y Rapide
Tiger_Check_LISTENING=Y Rapide
Tiger_Check_SYSTEM=Y Dépend des vérification du système
Tiger_Check_RUNPROC=N rapide, doit être personnalisé
Tiger_Check_DELETED=N Dépend du nombre de processus dans le système
Tiger_Check_APACHE=N Rapide
Tiger_Check_SSH=Y Rapide
Tiger_Check_SENDMAIL=N Rapide
Tiger_Check_PRINTCAP=Y Rapide
Tiger_Check_EXRC=N Dépend de la taille du système de fichier
Tiger_Check_ROOTKIT=Y Lent si chkrootkit est disponible
Tiger_Check_FTPUSERS=Y Rapide
Tiger_Check_OMNIBACK=N Rapide
Tiger_Check_NTP=Y Rapide
Tiger_Check_PATCH=N dépend de la connexion réseaux
Tiger_Check_SINGLE=Y Rapide
Tiger_Check_BOOT=Y Rapide
Tiger_Check_INITTAB=Y Rapide
Tiger_Check_RCUMASK=Y Rapide
Tiger_Check_NEVERLOG=Y Rapide
Tiger_Check_OS=Y Rapide
Tiger_Check_NETWORKCONFIG=Y Rapide
Tiger_Cron_SendOKReports=N Indique si les rapports sans informations sont envoyés à cron
TigerCron_Log_Keep_Max=10 Nombre de rapports à conserver pour chaque vérification lancé depuis crontab
Tiger_Cron_Template=N Indique si les rapports sont comparés avec un template, si disponible
Tiger_Cron_CheckPrev=Y Indique si les rapports sont comparés avec un précédent rapport, si disponible
Tiger_Show_INFO_Msgs=N Indique si les massages taggés INFO sont affichés
Tiger_Run_CRACK=N lance Crack
Tiger_CRACK_LOC_OVERRIDE=/mnt/cdrom/crack/Crack Emplacement du binaire Crack
Tiger_CRACKREPORTER_LOC_OVERRIDE=/mnt/cdrom/crack/Reporter
Tiger_CRACKDIR_LOC_OVERRIDE=/usr/local/crack Doit être accessible en écriture
Tiger_Output_FQDN=Y Indique si les fqdn sont utilisés
Tiger_Run_TRIPW=N Lance le vérification d'intégrité Tripwire
Tiger_TRIPW_LOC_OVERRIDE=/mnt/cdrom/tripw/tripwire Emplacement du binaire tripwire
Tiger_Run_AIDE=N Lance le vérification d'intégrité de fichier AIDE
Tiger_Run_AIDE_VERBOSE=1 Rapport verbeux (pas encore implémenté)
Tiger_AIDE_LOC_OVERRIDE=/mnt/cdrom/aide/aide.bin Emplacement du binaire aide
Tiger_AIDE_CFG_OVERRIDE=/mnt/cdrom/aide/aide.conf Emplacement de la configuration de aide
Tiger_AIDE_DB_OVERRIDE=/mnt/cdrom/aide/in.db Emplacement de la base de données de aide
Tiger_Run_INTEGRIT=N Lance le vérificateur d'intégrité de fichier Integrit
Tiger_INTEGRIT_CFG=/etc/integrit/integrit.conf Emplacement de la configuration d'integrit
Tiger_INTEGRIT_LOC_OVERRIDE=/mnt/cdrom/integrit/integrit.bin Emplacement du binaire integrit
Tiger_Output_Width=79 Pour le formattage de la sortie
Tiger_CRON_Output_Width=0 Largeur de la sortie quand utilisé via tigercron
Tiger_Global_PATH="/etc/profile /etc/csh.login" PATH global
Tiger_Passwd_Constraints="PASS_MIN_DAYS PASS_MAX_DAYS PASS_WARN_AGE PASS_MIN_LEN" Vérifications opérées sur les mots de passe
Tiger_Passwd_Hashes='crypt3|md5|sha512' Type de hash de mot de passe acceptés
Tiger_Dormant_Limit=60 Nombre de jours des fichiers non-modifiés dans le répertoire home avant d'être considéré comme dormants
Tiger_Admin_Accounts='adm|bin|daemon|games|lp|mail|news|operator|sync|sys|uucp|man|proxy|majordom|postgres|www-data|operator|irc|gnats Comptes autres que root considérés comme administratifs (non utilisés par des humains, et dont sans mot de passe)
Tiger_Embed_Max_Depth=3 Si un chemin embarqué réfère à un fichier exécutable, il est vérifié. cela continue récursivement jusqu'à ce qu'il n'y ait plus de nouveaux exécutables trouvé, ou une profondeur max atteinte.
Tiger_Embed_Check_Exec_Only=Y Ne recherche que les exécutables dans les chemins embarqués
Tiger_Embed_Check_SUID=Y Vérifie les exécutables setuid trouvés
Tiger_Embed_Report_Exec_Only=Y Ne reporte que les exécutables qui sont en écriture ou non possédés par root
Tiger_Embedded_OK_Owners='root|bin|uucp|sys|daemon' Qui est autorisé à posséder des fichiers système
Tiger_Embedded_OK_Group_Write='root|bin|uucp|sys|daemon' Quels groupes peuvent accéder en écriture aux fichiers systèmes
Tiger_Check_PATHALL=N Spécifie si le PATH de tous les utilisateurs doivent être vérifiés. Peut potentiellement être dangereux
Tiger_ROOT_PATH_OK_Owners='root|uucp|bin|news|sys|daemon|lp' Qui peut posséder les exécutables dans /root?
Tiger_ROOT_PATH_OK_Group_Write='root|uucp|bin|sys|daemon' Quels groupes peuvent accéder en écriture dans /root
Tiger_PATH_OK_Owners=$Tiger_ROOT_PATH_OK_Owners Qui peut posséder quelque chose dans les PATH utilisateurs
eval Tiger_PATH_OK_Group_Write='$Tiger_ROOT_PATH_OK_Group_Write' Quels groupes peuvent avoir un accès en écriture sur les exécutables dans le PATH utilisateur (non-root)
Tiger_Collect_CRACK=Y Indique si tiger doit attendre que Crack se termine.
Tiger_Crack_Local=Y Lance Crack dans les sources de mot de passe locaux uniquement
Tiger_Mail_FROM="root@`uname -n`" Nom de l'émetteur pour l'envoie de la sortie de tigercron
Tiger_Mail_RCPT=root Destinataire de la sortie de tigercron
Tiger_Files_of_Note="..[!.]*/.* */.*   */.[!.]/.log/.FSP*" Liste de globs de nom de fichier à regarder dans le système de fichier
Tiger_FSScan_Setuid=N Vérifie les exécutables setuid
Tiger_FSScan_Setgid=N Vérifie les exécutables setgid
Tiger_FSScan_Devs=Y Vérifie les fichiers de périphérique
Tiger_FSScan_SymLinks=Y Vérifie les liens symboliques étranges
Tiger_FSScan_ofNote=Y Vérifie les noms de fichier étranges
Tiger_FSScan_WDIR=N Vérifie les répertoire accessible en écriture par tout le monde
Tiger_FSScan_Unowned=Y Vérifie les fichiers avec un propriétaire/groupe non-définis
Tiger_FSScan_WarnUnknown=Y Alerte sur les systèmes de fichier inconnus utilisés
Tiger_FSScan_Local='' Système de fichiers considérés comme local dans le système
Tiger_FSScan_NonLocal='' Systèmes de fichiers considérés comme non-local.
Tiger_FSScan_ReadOnly=N Spécifie si les systèmes de fichiers en lecture seul sont scannés
USERDOTFILES=".alias .kshrc .cshrc .profile .login .mailrc .exrc .emacs .forward .tcshrc .zshenv .zshrc .zlogin .zprofile .rcrc .bashrc .bash_profile .inputrc .xinitrc .fvwm2rc .Xsession .Xclients .less" Liste de fichiers cachés communéments trouvés dans les répertoires home qui sont vérifiés par check_accounts
RHOST_SITES='*.tamu.edu|jupiter' Site Rhost qui sont attendus dans .rhosts. Tout ce qui ne matche pas est reportés
Tiger_Accounts_Trust=999 Quels uid ne doivent pas générer d'alerte pour les shells valides
Tiger_SSH_Protocol='1|2' Version de SSH attendue
Tiger_SSH_RhostsAuthentication='no' variable sshd_config attendue
Tiger_SSH_PasswordAuthentication='no' variable sshd_config attendue
Tiger_Listening_Every=Y Indisque si une alerte est données pour les services qui écoutent sur toutes les interfaces
Tiger_Listening_ValidUsers='root' Indique quel utilisateur est autorisé à avoir des processus en écoute pour les connections entrantes
Tiger_Listening_ValidProcs='' Quels processus sont toujours considérés comme valides, sans regarder s'il écoutent les connections entrantes dans le système.
Tiger_Running_Procs='syslogd cron atd klogd' Quels processus doivent être vérifiés par tiger. Les processus de cette liste qui ne sont pas vu dans la table de processus génère un FAIL
Tiger_DPKG_Optimize=Y Indisque si les vérification DPKG sont optimisés
Tiger_CHKROOTKIT_ARGS="-q" Arguments utilisé pour chkrootkit.

^
23 mai 2017

htmlpdflatexmanmd




tigexp

tigexp

Générateur d'explication des vérificateurs

   tigexp est utilisé pour générer des explications sur la sortie du tiger. Dans la première forme, tigexp va générer une explication pour chaque id de message listés. Dans la seconde forme, le rapport est scanné, et les explications sont générées.

OPTIONS

-f Génère une explication pour chaque id de message unique
-F affiche le rapport de sécurité avec les explications insérées après chaque entrée dans le rapport


   Il y a 5 niveaux de message produits par tiger:

ALERT Un message de ce niveau indique que tiger a détecté une possible tentative d'intrusion, ou une mauvaise configuration qui est un problème de sécurité
FAIL Indique une violation de la stratégie de sécurité, ou une possible intrusion.
WARN Indique un problème de sécurité qui devrait être vérifié et peut indiquer une exposition à une vulnérabilité
INFO Message pas nécessairement un problème de sécurité, mais peut être utile pour l'administrateur
ERROR Erreur dans l'exécution de tiger.
CONFIG Ces message informent des étapes dans les processus de configuration de tiger.
^
06 mai 2017

htmlpdflatexmanmd




timedatectl

timedatectl

Contrôle le temps système et la date

   timedatectl permet d'afficher et changer l'horloge système et ses paramètres

OPTIONS

--no-ask-password Ne demande pas l'authentification utilisateur pour les opérations privilégiées
--adjust-system-clock Si set-local-rtc est invoqué avec cette option, l'horloge système est synchronisée avec RTC, sinon RTC est synchronisé depuis l'horloge système
-H, --host= Exécute l'opération à distance
--no-pager Ne pipe pas dans un pager
-M, --machine= Exécute l'opération dans le conteneur spécifié

Commandes

status Affiche le status courant
set-time [TIME] Définis l'horloge système au format "2012-10-30 18:17:16"
set-timezone [TIMEZONE] Définis le timezone
list-timezones Liste les timezones disponibles
set-local-rtc [BOOL] à 0, le système est configuré pour maintenir RTC en temps universelle. À 1, le système maintient RTC en temps local.
set-ntp [BOOL] Contrôle si ntp est actif. Celà démarre systemd-timesyncd.service.

Variables d'environnement

SYSTEMD_PAGER Pager à utiliser. Vide, ou 'cat' est équivalent à --no-pager
SYSTEMD_LESS Remplace les options par défaut de less ('FRSXMK')
^
17 mars 2010

htmlpdflatexmanmd




vconfig

vconfig

Utilitaire de configuration de VLANs

   Il permet de créer et supprimer des périphériques-vlan. Les périphériques-vlan sont des périphérique ethernet virtuels qui représentent les réseaux virtuels sur un réseau physique.

OPTIONS

add [interface-nome] [vlan-id] Crée un périphérique-vlan sur l'interface.
rem [vlan-device] supprimer un périphérique-vlan
set_flag [vlan-device] 0 | 1 À 1 les en-tête ethernet sont activés, dumper l'interface va apparaître comme une trame non taguée.
set_egress_map [vlan-device] [skb-priority] [vlan-qos] tague les trames sortantes avec un skb-priority particulier avec la priorité vlan skb-qos.
set_ingress_map [vlan-device] [skb-priority] [vlan-qos] tague les trames entrantes avec un skb-priority particulier avec la priorité vlan skb-qos.
set_name_type VLAN_PLUS_VID | VLAN_PLUS_VID_NO_PAD | DEV_PLUS_VID | DEV_PLUS_VID_NO_PAD Règle la manière dont les noms des périphérique vlan sont crées.
^
17 janvier 2012

htmlpdflatexmanmd




wall

wall

Écrit un message aux utilisateurs

   Il affiche le contenus d'un fichier spécifié ou, par défaut, son entrée standard, sur les terminaux de tous les utilisateurs courant. Seul root peut écrire sur les terminaux de tous les utilisateurs qui ont choisis d'ignorer les messages. Lire depuis un fichier est refusé quand l'invoqueur n'est pas root et le programme est suid ou sgid.

^
16 mai 2017

htmlpdflatexmanmd




wine

wine

Exécuter des programmes Windows sous Unix

   Le nom du programme peut être spécifié au format DOS ou au format UNIX. Les caractères spéciaux sont protégés par '\'

Variables d'environnement

WINEPREFIX si définis, nom du répertoire où sont stockés les données (défaut : $HOME/.wine)
WINESERVER Chemin de wineserver (défaut : /usr/local/bin/wineserver)
WINELOADER Chemin de wine (défaut : /usr/local/bin/wine)
WINEDEBUG Active/désactive les messages de deboggage. (syntaxe : [classe][+|-]canal[,[classe2][+|-]canal2])
WINEDLLPATH Chemins où rechercher les dll intégrées et les applications Winelib, séparés par des ’ :’ (défaut : /usr/local/lib/wine)
WINEDLLOVERRIDES Définis le type d’emplacement et l’ordre de chargement des DLL utilisée lors du processus de chargement d’une DLL. le type peut être n( native) ou b (builtin) (ex : WINEDLLOVERRIDES="comdlg32,shell32=n,b", ex : WINEDLLOVERRIDES="comdlg32=b,n ;shell32=b ;comctl32=n ;oleaut32=")
WINEARCH Spécifie l’architecture Windows (win32 ou win64)
DISPLAY Spécifie l’affichage X11 à utiliser
AUDIODEV défaut : /dev/dsp
MIXERDEV défaut : /dev/mixer
MIDIDEV défaut : /dev/sequencer
^
16 mai 2017

htmlpdflatexmanmd




Wine - présentation

Wine - présentation

Wine est une implémentation des librairies Windows, agissant comme un pont vers les librairies linux

Fonctionnalités de Wine

- Support pour les applications win16, win32 et win64
- utilisation de fichiers dll
- Affichage graphique X11
- Support de DirectX
- Support pour les pilotes son tel que OSS et ALSA
- Support pour des périphériques d’entrée tels que les tablettes graphiques
- Pilote PostScript pour l’impressions
- support modem série
- Winsock TCP/IP networking
- Support des interfaces scsi ASPI pour les scanner, graveurs cd, etc.
- Support unicode et support de langues avancé
- Débugger intégré et avancé

Compiler Wine


wget http://downloads.sourceforge.net/project/wine/Source/wine-1.7.0.tar.bz2
tar -xjf wine-1.7.0.tar.bz2
cd wine-1.7.0
./configure
make depend
make
make install

Exécuter Wine

   Les applications sont installées sous Wine de la même manière qu'elles le sont sous Windows : en exécutant l’installeur. Pour désinstaller un programme, lancer le programme uninstaller (généralement dans programs/uninstaller/) : wine uninstaller.

  Certains programmes associent une applet dans le panneau de contrôle : wine control

Variables d’environnement

WINEDEBUG=[channels] permet d’activer des cannaux de debug. 4 classes peuvent être définies, trace, fixme, warn, err, +all, -‹class›. (ex : WINEDEBUG=warn+heap wine program_name)
WINEDLLOVERRIDES=[DLL Overrides] Permet d’utiliser les DLL natives au lieu de celles intégrées (ex : WINEDLLOVERRIDES="comdlg32=b,n ;shell32=b ;comctl32=n ;oleaut32=" wine program_name)
WINEARCH Spécifie l’architecture Windows à supporter
AUDIODEV défaut : /dev/dsp
MIXERDEV défaut : /dev/mixer
MIDIDEV défaut : /dev/sequencer

Options de wineserver

-d‹n› Définis le niveau de debug à sortir dans le terminal
-k[n] Kill le wineserver courrant avec le signal spécifié
-p[n] rend winserver persistant, optionnellement pour n secondes
-w wineserver attend jusqu’à ce que l’instance winserver active se termine

Définir les variables d’environnement Windows/DOS

export MYENVIRONMENTVAR=myenvironmentvarsetting

   Pour certaines variables d’environnement comme PATH, SYSTEM ou TEMP, pour ne pas altérer l’environnement linux, il est nécessaire de les déclarer dans le registre avec regedit ( HKEY_CURRENT_USER/Environment)

Programmes en mode texte (CUI)

   Il y’a 3 manières différentes de lancer un tel programme:

bare streams Pas de support supplémentaire de wine qui map la console Windows à une console unix
wineconsole with user backend Utilise wineconsole
wineconsole with curse backend Utilise wineconsole

   Quand wineconsole est utilisé, de nombreuses options de configuration sont disponibles. Wine les stock sur une base par application dans le registre. Seul le backend user permet d’éditer ces options. Les options de configurations de wineconsole permettent de choisir entre Default (paramètres partagés par toutes les applications) ou properties (édition par application).

Configurer Wine avec winecfg

   Wine stock toute sa configuration dans le registre.

Applications Wine a la capacité de mimer différentes version de Windows. Pour chaque application, Wine permet de spécifier quelle version de windows simuler.
Bibliothèques Certaines applications nécessitent des librairies spécifiques. Wine reproduit les librairies système Windows avec des versions complètement conçues de manière à fonctionner de la même manière, mais sans nécessiter de licence Microsoft. Il est possible de spécifier une DLL Native de remplacement dans le cas où les DLL intégrées ne fonctionnent pas correctement.
Affichage 5 paramètres de base permettent de déterminer le mode d’affichage des applications
Lecteurs Permet de gérer les lecteurs Windows. Tous les lecteurs résident dans /.wine/dosdevices Chaque lecteur est un lien vers l’emplacement où il réside.
Audio Wine Peut fonctionner avec différents sous-systèmes audio, définissable ici.
intégration avec le bureau Wine peut charger des thèmes Windows

Utiliser le registre et regedit

system.reg contient HKLM
user.reg contient HKCU
userdef.reg contien HKUSERS\.Default

   Ces fichiers sont créés la toute première fois que wine est lancé

Autres configuration

   La configuration des ports série et parallèle est très similaire à la configuration des lecteurs, un lien dans .wine/dosdevices (ex : ln -s /dev/ttyS0 com1 et ln -s /dev/lp0 lpt1)

Partages réseaux Les partages réseaux peuvent être mappés dans le répertoire unc (ex : ln -s /mnt/smb/myserver/some unc/myserver/some )
police de caractères Les fonts .ttf sont placées dans c :\windows\fonts
Imprimantes Wine peut interagir avec CUPS pour trouver les imprimantes disponibles
Scanner Dans Windows, les scanner utilisent le TWAIN API pour accéder au hardware. la version intégrée de Wine forwards simplement les requêtes aux librairies Linux SANE
Base de données ODBC le système ODBC dans Wine, est conçu pour hook dans le système unix. Au lieu de s’assurer que le code Winodws fonctionne sous wine, il utilise un fournisseur ODBC Unix, tel que UnixODBC.
^
16 mai 2017

htmlpdflatexmanmd




wineserver

wineserver

Service qui fournis à Wine les même services que le noyau Windows. Il est lancé automatiquement par wine

OPTIONS

−d[n], --debug[=n] Définis le niveau de débug
−f, --foreground Laisse le serveur au premier plan
−k[n], --kill[=n] envoie un signal au wineserver courant
−p[n], --persistent[=n] Délai de persistance après que tous les processus client soient terminés
−w, --wait Attend que le wineserver courant se termine avec de se lancer

Variables d'environnement

WINEPREFIX si définis, nom du répertoire où sont stockés les données (défaut : $HOME/.wine)
WINESERVER Chemin de wineserver (défaut : /usr/local/bin/wineserver)
^
16 mai 2017

htmlpdflatexmanmd




winetricks

winetricks

Utilitaire pour travailler facilement autour des problèmes dans Wine

OPTIONS

   Sans argument, affiche une interface utilisant soit zenity soit kdialog

Variables d'environnement

WINEPREFIX si définis, nom du répertoire où sont stockés les données (défaut : $HOME/.wine)
WINE Chemin de wine
XDG_CACHE_HOME Cache de données utilisateur du système (défaut : $HOME/.cache)
W_CACHE Cache de winetricks ( défaut : $XDG_CACHE_HOME/winetricks)