\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{dim. janv. 25 20:02:13 CET 2015}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={zfs},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Configure des systèmes de fichiers ZFS},
CreationDate={D:20150125200213},
ModDate={D:20150125200213},
Keywords={FileSystems;raid;storages}
}}
\begin{document}
 
\begin{center}
{\Huge zfs }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Configure des systèmes de fichiers ZFS}
 
\vspace{10mm}
 
\vspace{1cm}{\huge Description }
 
\
 
\hspace{1mm}  La commande zfs configure des datasets ZFS dans des pools de stockage ZFS. Un dataset est identifié par un chemin unique dans l'espace de nom ZFS. par exemple \textbf{pool/\{filesystem,volume,snapshot\}} où la longueur maximum d'un nom de dataset est MAXNAMELEN (256octets). Un dataset peut être un des suivants:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} filesystem]{Un dataset ZFS de type filesystem peut être monté dans l'espace de nom système standard et fonctionne comme tout autre système de fichier. Bien que les système de fichiers ZFS sont conçus pour être conforme POSIX, des problème connus existent qui empêche la conformité dans certains cas. Les applications qui dépendent des conformités standard peut échouer lors de la vérification de l'espace disque disponible.}
\item[\hspace{1mm} volume]{Un volume logique exporté comme périphérique block ou brute. Ce type de dataset devrait seulement être utilisé sous des circonstances particulière. Les systèmes de fichier sont typiquement utilisé dans la plupart des environnements.}
\item[\hspace{1mm} snapshot]{Une version lecture seul d'un filesystem ou volume à un point donné dans le temps. C'est spécifié en filesystem@name ou volume@name.}
\end{description}
 
\vspace{1cm}{\huge Hiérarchie des systèmes de fichier }
 
\
 
\hspace{1mm}  Un pool de stockage ZFS est une collection logique de périphériques qui fournissent de l'espace pour les datasets. Un pool de stockage est également la racine de la hiérarchie de système de fichiers ZFS. La racine du pool peut être accédé comme système de fichier, tel que monter et démonter, prendre des snapshots, et définir des propriétés. Les caractéristiques de stockage physique, cependant, sont gérés par la commande zpool.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Snapshots }
 
\
 
\hspace{1mm}  Un snapshot est une copie lecture seul d'un système de fichier ou un volume. Les snapshots peuvent être crées extrêment rapidement, et ne consomment initialement aucun espace dans le pool. Comme les données dans le dataset actif changent, le snapshot consomme plus de données et qui sont partagés avec le dataset actif. Les snapshots peuvent avoir des noms arbitraires. Les snapshots de volumes peut être clonés ou annulés, mais ne peuvent pas être accédés indépendamment.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les snapshots de filesystem peuvent être accédés sous le répertoire .zfs/snapshot dans le système de fichier racine. Les snapshots sont automatiquement montés à la demande et peuvent être démontés à intervalles réguliers. La visibilité du répertoire .zfs peut être contrôlé par la propriété snapdir.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Clones }
 
\
 
\hspace{1mm}  Un clone est un volume en écriture ou un système de fichier dont le contenu initial est le même qu'un autre dataset. Comme avec les snapshots, créer un clone est presque instantané, et ne consomme pas d'espace disque initialement.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les clones peuvent seulement être créés depuis un snapshot. Quand un snapshot est cloné, il créé une dépendance implicit entre le parent et l'enfant. Même quand un clone est créé ailleurs dans la hiérarchie de dataset, le snapshot original ne peut pas être détruit tant qu'un clone existe. La propriété origin expose cette dépendance, et la commande destroy liste de telles dépendances, si elles existent.
\vspace{5mm} \\
 
 
\hspace{1mm}  La relation de dépendance des parent/enfant des clones peut être renversé en utilisant la sous-commande promote. Le système de fichier "origin" devient un clone du système de fichier spécifié, qui rend possible de détruire le système de fichier depuis lequel le clone avait été créé.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Points de montage }
 
\
 
\hspace{1mm}  Créer un système de fichier ZFS est une opération simple, donc le nombre de systèmes de fichier par système est susceptible d'être nombreux. Pour faire face à cela, ZFS gère automatiquement le montage et le démontage des systèmes de fichiers sans avoir besoin d'éditer /etc/vfstab. Tous les systèmes de fichiers gérés automatiquement sont montés par ZFS au boot.
\vspace{5mm} \\
 
 
\hspace{1mm}  Par défaut, les systèmes de fichiers sont montés sous /path, où path est le nom du système de fichier dans l'espace de nom ZFS. Les répertoires sont créés et détruis si nécessaires.
\vspace{5mm} \\
 
 
\hspace{1mm}  Un système de fichier peut également avoir un point de montage dans la propriété \textbf{mountpoint}. Ce répertoire est créé si nécessaire, et ZFS monte automatiquement le système de fichier quand \textbf{zfs mount -a} est invoqué (sans éditer \textbf{/etc/vfstab}). \textbf{mountpoint} peut être hérité, donc si \textbf{pool/home} a un point de montage de \textbf{/export/stuff}, alors le \textbf{pool/home/user} hérite automatiquement d'un point de montage \textbf{/export/stuff/user}.
\vspace{5mm} \\
 
 
\hspace{1mm}  Une propriété \textbf{mountpoint} de système de fichier à \textbf{none} empêche le système de fichier d'être monté. Si nécessaire, les systèmes de fichiers ZFS peuvent également être gérés avec les outils traditionnels. Si un point de montage de système de fichier est mis à \textbf{legacy}, ZFS ne tente pas de gérer le système de fichier.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Zones }
 
\
 
\hspace{1mm}  Un système de fichiers ZFS peut être ajouté à une zone non-globale en utilisant la sous-commande \textbf{zonecfg add fs}. Un système de fichier ZFS qui est ajouté à une zone non-globale doit avoir sa propriété \textbf{mountpoint} à \textbf{legacy}.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les propriétés physiques d'un système de fichier ajouté sont contrôlé par l'administrateur global. Cependant, l'administrateur de zone peut créer, modifie, ou détruire des fichiers dans le système de fichier ajouté, en fonction de la manière dont le système de fichier est monté.
\vspace{5mm} \\
 
 
\hspace{1mm}  Un dataset peut également être délégué dans une zone non-globale en utilisant la sous-commande \textbf{zonecfg add dataset}. Vous ne pouvez pas déléguer un dataset à une zone et l'enfant du même dataset à une autre zone. L'administrateur de zone peut changer les propriétés du dataset ou un de ses enfant. Cependant, la propriété \textbf{quota} est contrôlée par l'administrateur global.
\vspace{5mm} \\
 
 
\hspace{1mm}  Un volume ZFS peut être ajouté comme périphérique à une zone non-globale en utilisant la sous-commande \textbf{zonecfg add device}. Cependant, ses propriétés physiques peuvent être modifiées seulement par l'administrateur global.
\vspace{5mm} \\
 
 
\hspace{1mm}  Après qu'un dataset est délégué à une zone non-globale, la propriété \textbf{zoned} est automatiquement définie. Un système de fichier zoned ne peut pas être monté dans la zone globale, vu que l'administrateur de zone peut avoir définis le point de montage à des valeurs inacceptables.
\vspace{5mm} \\
 
 
\hspace{1mm}  L'administrateur global peut effacer la propriété \textbf{zoned}, bien que cela devrait être fait avec une extrême attention. L'administrateur global devrait vérifier que tous les points de montage sont acceptable avant d'effacer cette propriété.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Déduplication }
 
\
 
\hspace{1mm}  La déduplication est un processus pour supprimer les données redondantes au niveau block, réduisant la quantité globale de données stockée. Si un système de fichier a la propriété \textbf{dedup}, les blocks de données dupliqués sont supprimés de manière synchrone. Le résultat est que seul une donnée unique est stockée et les composants communs sont partagés entre les fichiers.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Propriétés natives }
 
\
 
\hspace{1mm}  Les propriétés sont divisées en 2 types, les propriétés natives et les propriétés définis par l'utilisateur ( user ). Les propriétés natives exportent des statistiques internes ou contrôle le fonctionnement de ZFS. En plus, les propriétés natives sont soit éditables, soit lecture-seul. Les propriété user n'ont pas d'effet sur le fonctionnement de ZFS, mais peuvent être utilisés pour annoter les datasets d'une manière significative dans l'environnement.
\vspace{5mm} \\
 
 
\hspace{1mm}  Tout dataset a un jeu de propriété qui exporte des statistiques sur le dataset aussi bien que contrôles divers modes. Les propriétés sont hérités du parent sauf s'ils sont spécifiés dans l'enfant. Certaines propriétés s'appliquent uniquement à certains type de datasets.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les valeurs des propriétés numériques peuvent être spécifié en utilisant des suffixes human-readable (ex: k, KB, M, Gb, etc.). Les valeurs de propriétés non-numériques sont sensibles à la casse et doivent être en minuscule, sauf pour \textbf{mountpont}, \textbf{sharenfs}, et \textbf{sharesmb}.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les propriétés natives suivantes consistent de statistiques lecture-seules sur le dataset. Ces propriétés ne peuvent être ni des jeux, ni hérités. Les propriétés natives s'appliquent à tous les types de dataset sauf mention contraire.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} available]{La quantité d'espace disponible dans le dataset et tous ses enfants, assumant qu'il n'y a pas d'autre activité dans le pool. Parce que l'espace est partagé dans le pool, la disponibilité peut être limité par plusieurs facteurs, incluant la taille physique du pool, quotas, reservations, ou d'autres datasets dans le pool.}
\item[\hspace{1mm} compressratio]{Le ratio de compression pour ce dataset, exprimé en multiplicateur. La compression peut être activée avec zfs set compression=on. Défaut: off.}
\item[\hspace{1mm} creation]{La date de création du dataset}
\item[\hspace{1mm} defer\_destroy]{Cette propriété est on si le snapshot a été marqué pour une destruction déférée en utilisant la commande \textbf{zfs destroy -d}. Sinon, la propriété est off.}
\item[\hspace{1mm} origin]{Pour les systèmes de fichier ou les volumes clonés, le snapshot depuis lequel le clone a été créé. L'origine ne peut pas être supprimé tant qu'un clone existe.}
\item[\hspace{1mm} referenced]{La quantité de donnée qui est accessible par ce dataset, qui peut être partagé ou non avec d'autre datasets dans le pool. Quan un snapshot ou un clone est créé, il référence initialement la même quantité d'espace que le système de fichier ou le snapshot depuis lequel il a été créé, vu que son contenu est identique.}
\item[\hspace{1mm} type]{le type de dataset: \textbf{filesystem}, \textbf{volume}, ou \textbf{snapshot}}
\item[\hspace{1mm} used]{La quantité d'espace disque consommé par ce dataset et tous ses descendants. C'est la valeur qui est comparée au quota et à la réservation du dataset. L'espace utilisé n'inclus pas cette réservation du dataset, mais prend en compte les réservations de tous les dataset descendants. La quantité d'espace qu'un dataset consomme depuis son parent, aussi bien que la quantité d'espace qui sont libérés si ce dataset est détruit récursivement, est supérieur à son espace utilisé et sa réservation.}
\end{description}
 
\hspace{1mm}  Quand des snapshots sont créés, leur espace est initialement partagé entre le snapshot et le système de fichier, et possiblement avec les snapshots précédents. Vu que le système de fichier change, l'espace qui a été précédemment partagé devient unique au snapshot, et compté dans l'espace utilisé du snapshot. Additionnellement, supprimer les snapshots peut augmenter la quantité d'espace unique à ( et utilisé par ) d'autre shapshots.
\vspace{5mm} \\
 
 
\hspace{1mm}  La quantité d'espace utilisé, disponible, ou référencé ne prend pas en compte les changements en attente, Ces changements en attente sont généralement pris en comptes dans les secondes qui suivent. Envoyer un changement au disque avec fsync ou O\_SYNC ne garantit pas nécessairement que les informations d'utilisation de l'espace est mis à jours immédiatement.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} usedby* ]{Les propriétés \textbf{usedby*} décomposent les propriétés \textbf{used} dans les diverses raisons pour lequel l'espace est uilisé. Spécifiquement, \textbf{used = usedbychildren + usedbydataset + usedbyrefreservation +, usedbysnapshots}. Ces propriétés sont seulement disponible pour les datasets créés dans des pools version 13.}
\item[\hspace{1mm} usedbychildren]{La quantité d'espace utilisé par l'enfant de ce dataset, qui serait libéré si tous le dataset de l'enfant était détruit.}
\item[\hspace{1mm} usedbydataset]{La quantité de l'espace utilisé par ce dataset lui-même, qui serait libéré si le dataset était détruit.}
\item[\hspace{1mm} usedbyrefreservation]{La quantité d'espace utilisé par un \textbf{refreservation} définis dans ce dataset, qui serait libéré si \textbf{refreservation} était supprimé.}
\item[\hspace{1mm} usedbysnapshots]{La quantité d'espace consommé par les snapshots de ce dataset. En particulier, c'est la quantité d'espace qui aurait été libéré si tous les snapshots de ce dataset étaient supprimés. Noter que ce n'est pas simplement la somme des propriétés \textbf{used} des snaphots parce que l'espace peut être partagé par plusieurs snapshots.}
\item[\hspace{1mm} userused@user]{La quantité d'espace consommé par l'utilisateur spécifié dans ce dataset. L'espace est calculé pour le propriétaire de chaque fichier, tel qu'affiché par \textbf{ls -l}. La quantité d'espace est affiché par \textbf{du} et \textbf{ls -s}.}
\end{description}
 
\hspace{1mm}  Les utilisateurs non-privilégiés peuvent accéder seulement à leur propre espace. L'utilisateur root, ou un utilisateur qui a obtenu le privilège \textbf{userused} avec \textbf{zfs allow}, peut accéder à l'utilisation de tout le monde.
\vspace{5mm} \\
 
 
\hspace{1mm}  \textbf{userused@...} n'est pas affiché par \textbf{zfs get all}. Le nom de l'utilisateur doit être ajouté après les @, en utilisant un des formes suivantes:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -]{Nom POSIX ( ex: joe )}
\item[\hspace{6mm} -]{ID numérique POSIX (ex: 789)}
\item[\hspace{6mm} -]{Nom SID (ex: joe.smith@mydomain)}
\item[\hspace{6mm} -]{ID numérique SID (ex: S-1-123-456-789)}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} userrefs]{Cette propriété est définie au nombre d'utilisateurs dans ce snapshot, définis par la commande \textbf{zfs hold}.}
\item[\hspace{1mm} groupused@group]{La quantité d'espace consommée par le groupe spécifié dans ce dataset. L'espace est calculé au groupe de chaque fichier, comme affiché par la commande \textbf{ls -l}. Les utilisateurs non-privilégiés peuvent seulement accéder à l'espace de leur propre groupe. L'utilisateur root, ou un utilisateur qui a obtenu le privilège \textbf{groupused} peuvent accéder à l'utilisation de tous les groupes.}
\item[\hspace{1mm} volblocksize=blocksize]{Pour les volumes, spécifie la taille de block du volume. \textbf{blocksize} en peut pas être changé une fois le volume écrit, donc il doit être définis à la création. Défaut: 8Koctets. Tout puissance de 2 de 512o à 128Ko sont valides.}
\end{description}
 
\hspace{1mm}  Les propriété natives suivantes peuvent être utilisée pour changer le comportement d'un dataset:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} aclinherit=discard | noallow | restricted | passthrough | passthrough-x]{Contrôle comment les entrées d'ACL sont hérités quand des fichiers et des répertoires sont créés. Un système de fichier avec une propriété \textbf{aclinherit} à \textbf{discard} n'hérite d'aucune entrée ACL. Un système de fichier avec une propriété \textbf{aclinherit} à \textbf{noallow} hérite uniquement des ACL héritables qui spécifient des permissions "deny". La valeur "restricted" (le défaut) supprime les permissions \textbf{write\_acl} et \textbf{write\_owner} quand l'entrée d'ACL est héritée. Un système de fichier avec une propriété \textbf{aclinherit} à \textbf{passthrough} hérite de toutes les entrées d'ACL héritables sans modification. \textbf{passthrough-x} à la même signification, excepté que les ACE \textbf{owner@}, \textbf{group@} et \textbf{everyone@} héritent des permissions d'exécution uniquement si le mode de création de fichier demande également le bit d'exécution.}
\end{description}
 
\hspace{1mm}  Quand la valeur de propriété est définie à \textbf{passthrough} les fichiers sont créés avec un mode déterminé par les ACE héritables. Si aucune ACE héritable n'existe qui affecte ce mode, alors le mode est définis en accord avec le mode demandé depuis l'application.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} aclmode=discard | groupmask | passthrough]{Contrôle comment une ACL est modifiée durant un chmod. Un système de fichier avec une propriété \textbf{aclmode} à \textbf{discard} supprime toutes les entrées ACL qui ne représentent pas le mode du fichier. Une propriété \textbf{aclmode} a \textbf{groupmask} (le défaut) réduit les permissions utilisateur ou groupe. Les permission sont réduit, tel qu'ils ne sont pas supérieurs que les bits de permissions du groupe, sauf si c'est une entrée utilisateur qui a le même UID que le propriétaire du fichier ou répertoire. Dans ce cas, les permissions d'ACL sont réduites pour qu'elle ne soient pas supérieurs aux bits de permission du propriétaire. Un système de fichier avec une propriété \textbf{aclmode} à \textbf{passthrough} indique qu'aucun changement n'est fait aux ACL autre que générer les entrées ACL nécessaires pour représenter le nouveau mode du fichier ou répertoire.}
\item[\hspace{1mm} atime=on | off]{Contrôle si la date d'accès pour les fichiers est mis à jours quand ils sont lus. Désactiver cette propriété évite de produire du trafic d'écriture en lisant des fichiers et peut augmenter les performances d'écritures. Défaut: on.}
\item[\hspace{1mm} canmount=on | off | noauto]{À off, le système de fichier ne peut pas être monté, et est ignoré par \textbf{zfs mount -a}. C'est similaire à définir \textbf{mountpoint} à \textbf{none}, excepté que le dataset aura une propriété mountpoint définie, qui peut être hérité. Définir cette propriété à \textbf{off} permet aux datasets d'être utilisé seulement comme mécanisme d'héritage de propriété. Un exemple est d'avoir 2 datasets avec le même nountpoint, donc l'enfant des 2 datasets apparaît dans le même répertoire, mais peut avoir des caractéristiques hérités différents.}
\end{description}
 
\hspace{1mm}  Quand l'option \textbf{noauto} est définis, un dataset peut seulement être monté de démonté explicitement. Le dataset n'est pas monté automatiquement quand le dataset est créé ou importé, ni n'est monté par \textbf{zfs mount -a} ou démonté par \textbf{zfs umount -a}. Cette propriété n'est pas héritée.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} checksum=on | off | fletcher2,| fletcher4 | sha256]{Contrôle le checksum utilisé pour vérifier l'intégrité des données. La valeur par défaut est \textbf{on}, qui sélectionne automatiquement un algorithme approprié ( actuellement, \textbf{fletcher4}). Changer cette propriété n'affecte que les données nouvellement écrites.}
\item[\hspace{1mm} compression=on | off | lzjb | gzip | gzip-N | zle]{Contrôle l'algorithme de compression utilisé pour ce dataset. L'algorithme \textbf{lzjb} est optimisé pour les performances tout en proposant un taux de compression correct. \textbf{on} équivaut à \textbf{lzjb}. Changer cette propriété n'affecte que les données nouvellement écrites.}
\item[\hspace{1mm} copies=1 | 2 | 3]{Contrôle le nombre de copies de données stockées pour ce dataset. Ces copies sont en plus de toute redondances fournies par le pool. Les copies sont stockée sur différents disques, si possible. Changer cette propriété n'affecte que les données nouvellement écrites. Cependant, définir cette propriété à la création du système de fichier en utilisant l'option \textbf{-o copies=N}}
\item[\hspace{1mm} dedup=on | off | verify | sha256\texttt{[},verify\texttt{]}]{Contrôle si la déduplication est en effet pour un dataset. Défaut: off. Le checksum utilisé pour la déduplication est sha256. Quand activé, l'algorithme de checksum écrase la propriété \textbf{checksum}. Définir la valeur à \textbf{verify} est équivalent à spécifier \textbf{sha256,verify}. À verify, quand 2 blocks ont la même signature, ZFS fait une comparaison supplémentaire bit à bit.}
\item[\hspace{1mm} devices=on | off]{Contrôle si les périphérique peuvent être ouvert dans ce système de fichier. Défaut: on.}
\item[\hspace{1mm} exec=on | off]{Contrôle si les processus peuvent être exécutés depuis ce système de fichier. Défaut: on.}
\item[\hspace{1mm} mlslabel=label | none]{Label de sensibilité qui détermine si un dataset peut être monté dans une zone dans le système avec Trusted Extensions activé. Si le dataset labelisé correspond à la zone labelisée, la dataset peut être monté et accédé depuis la zone labélisée.}
\end{description}
 
\hspace{1mm}  Quand cette propriété n'est pas définie, la valeur par défaut est none. Définir à none est équivalent à supprimer cette propriété.
\vspace{5mm} \\
 
 
\hspace{1mm}  Cette propriété peut être modifiée seulement quand Trusted Extensions est activé et seulement avec les privilèges appropriés. Les droits de le modifier ne peut pas être délégué. En changeant un label à un label supérieur ou en définissant le label initial, le privilège \textbf{\{PRIV\_FILE\_UPGRADE\_SL\}} est requis. En changeant un label à un label inférieur ou à none, le privilège \textbf{\{PRIV\_FILE\_DOWNGRADE\_SL\}} est requis. Changer le dataset à des labels autre que none peut être fait seulement quand le dataset n'est pas monté. Quand un dataset avec le label none est monté dans une zone labélisée, l'opération de montage définis automatiquement le mlslabel au label de cette zone.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} mountpoint=path | none | legacy]{Contrôle le point de montage utilisé pour ce système de fichier. quand mountpoint est changé pour un système de fichier, le système de fichier et ses enfants qui héritent du point de montage sont démontés. Si la nouvelle valeur est \textbf{legacy}, alors ils restent démontés. Sinon, ils sont automatiquement remontés dans le nouvel emplacement si la propriété était précédemment \textbf{legacy} ou \textbf{none}, ou s'ils étaient montés avant que la propriété a été changée. En plus, tous système de fichiers partagé sont départagés et partagés dans le nouvel emplacement.}
\item[\hspace{1mm} nbmand=on | off]{Contrôle si le système de fichier devrait être monté avec \textbf{nbmant} (Non Blocking mandatory locks). C'est utilisé pour les clients CIFS. Changer cette propriété prend effet seulement quand le système de fichier est démonté et remonté.}
\item[\hspace{1mm} primarycache=all | none | metadata]{Contrôle ce qui est caché dans le cache primaire (ARC). Si cette propriété est à \textbf{all}, les données utilisateur et les métadonnées sont cachées. Si cette propriété est à \textbf{none}, rien n'est caché. Si cette propriété est définie à \textbf{metadate}, seul les metadate sont cachés. Défaut: all.}
\item[\hspace{1mm} quota=size | none]{Limite la quantité d'espace qu'un dataset et ses descendants peuvent consommer. Cette propriété force une limite hard dans la quantité d'espace utilisée. Cela inclus tout l'espace consommé par ses descendants, incluant les systèmes de fichiers et les snapshots. Définir un quota dans un descendant d'un dataset qui a déjà un quota n'écrase par le quota de l'ancêtre, mais impose une limite additionnelle. Les quota ne peuvent pas être définis dans les volumes, vu que \textbf{volsize} agit comme quota implicite.}
\item[\hspace{1mm} userquota@user=size | none]{Limite la quantité d'espace consommée par l'utilisateur spécifié. Similairement à la propriété \textbf{refquota}, le calcul de l'espace \textbf{userquota} n'inclus pas l'espace qui est utilisé par les datasets descendant, tel les snapshots et les clones. La consommation d'espace de l'utilisateur est identifié par la propriété \textbf{userspace@suser}.}
\end{description}
 
\hspace{1mm}  Forcer les quotas utilisateur peut être retardé de quelques secondes. Ce délai signifie qu'un utilisateur peut excéder son quota avec que le système notifie qu'il est hors quota. Le système va commencer à refuser les écritures additionnelles avec le message d'erreur \textbf{EDQUOT}.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les utilisateurs non-privilégiés peut seulement accéder à l'utilisation de l'espace de leur propre groupe. L'utilisateur root, ou un utilisateur qui a obtenu le privilège \textbf{userquota} avec \textbf{zfs allow} peut obtenir et définir le quota pour tout le monde.
\vspace{5mm} \\
 
 
\hspace{1mm}  Cette propriété n'est pas disponible pour les volumes, et dans les systèmes de fichier avant v4 et les pools avant v15. Les propriétés userquota ne sont pas affichés par \textbf{zfs get all}. Le nom de l'utilisateur doit être ajouté après les @, en utilisant un des formes suivantes:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} groupquota@group=size|none]{Limite la quantité d'espace consommé par le groupe spécifié.}
\item[\hspace{1mm} readonly=on|off]{Contrôle si le dataset peut être modifié. Défaut: off.}
\item[\hspace{1mm} recordsize=size]{Spécifie une taille de block suggérée pour les fichiers dans le système de fichier. Cette propriété est conçue pour être utilisé avec des bases de données qui accèdent à des enregistrement de taille fixe.}
\item[\hspace{1mm} refquota=size|none]{Limite la quantité d'espace qu'un dataset peut consommer. Cette propriété force une limite hard sur la quantité d'espace utilisé. Cette limite n'inclue pas l'espace utilisé par les descendants, incluant les systèmes de fichier et les snapshot.}
\item[\hspace{1mm} refreservation=size|none]{La quantité minimum d'espace garantit pour un dataset, n'incluant pas ses descendants. Quand la quantité d'espace utilisé est inférieur à cette valeur, le dataset est traité comme s'il prenait cette espace. Si \textbf{refreservation} est définis, un snapshot est seulement permis s'il y a suffisamment d'espace disponible dans le pool en dehors de cette réservation.}
\item[\hspace{1mm} reservation=size|none]{Quantité minimum garantie pour un dataset et ses descendants. Quand la quantité d'espace utilise est inférieur à cette valeur, le dataset est traité comme s'il prenait cet espace.}
\item[\hspace{1mm} secondarycache=all|none|metadata]{Contrôle ce qui est mis en cache secondaire (L2ARC). Si cette propriété est définie à \textbf{all}, les données utilisateurs et les métadonnées sont cachés.}
\item[\hspace{1mm} setuid=on|off]{Contrôle si le bit set-uid est respecté pour le système de fichier. Défaut: on}
\item[\hspace{1mm} shareiscsi=on|off]{Comme \textbf{sharenfs}, indique si un volume ZFS est exporté comme target iSCSI. Les valeurs peuvent être on, off, et \textbf{type=disk}. Défaut: off.}
\item[\hspace{1mm} sharesmb=on|off|opts]{Contrôle si le système de fichier est partagé en utilisant le service Solaris CIFS, et quelles options sont utilisée.}
\item[\hspace{1mm} sharenfs=on|off|opts]{Contrôle si le système de fichier est partagé via nfs, et quelles options sont utilisée. Un système de fichier avec la propriété \textbf{sharenfs} à \textbf{off} est géré via les outils traditionnels tel share, unshare, et dfstab. Sinon, le système de fichier est automatiquement partagé via \textbf{zfs share} et \textbf{zfs unshare}. Quand \textbf{sharenfs} est changé pour un dataset, le dataset et ses enfants héritant de la propriété sont partagés avec de nouvelles options, seulement si la propriété était précédemment \textbf{off}, ou s'il étaient partagés avant que la propriété soit changé.}
\item[\hspace{1mm} logbias = latency | throughput]{Fournis une astuce à ZFS sur la manipulation des requêtes dans ce dataset. Si \textbf{logbias} est à \textbf{latency} (par défaut), ZFS utilise les périphériques de log du pool (si configuré) pour manipuler les requête à faible latence. À \textbf{throughput}, ZFS n'utilise pas les périphérique de log du pool. À la place, ZFS optimise les opérations synchrone pour le pool et l'utilisation efficace des ressources.}
\item[\hspace{1mm} snapdir=hidden | visible]{Contrôle si le répertoire \textbf{.zfs} est caché ou visible dans le root du système de fichier. Défaut: hidden.}
\item[\hspace{1mm} version=1 | 2 | current]{La version de ce système de fichier, qui est indépendant de la version du pool. Cette propriété peut seulement être définie pour les dernières versions supportées.}
\item[\hspace{1mm} volsize=size]{Pour les volumes, spécifie la taille logique du volume. Par défaut, créer un volume établis une réservation de taille égale. Pour les pools de stockage avec un numéro de version 9 ou plus, un \textbf{refreservation} est définis à la place.}
\item[\hspace{1mm} vscan=on | off]{Contrôle si les fichiers régulier devraient être scannés pour les virus quand un fichier est ouvert et fermé. En plus d'activer ce service, le service de scan de virus doit également être activé. Défaut: off.}
\item[\hspace{1mm} xattr=on | off]{Contrôle si les attributs étendus sont activés pour ce système de fichier. Défaut: on}
\item[\hspace{1mm} zoned=on | off]{Contrôle si le dataset est géré depuis une zone non-globale. Défaut: off.}
\end{description}
 
\hspace{1mm}  Les 3 propriétés suivantes ne peuvent pas être changée après la création du système de fichier. Si les propriétés ne sont pas définies avec les commandes \textbf{zfs create} et \textbf{zpool create}, ces propriété sont héritées du dataset parent.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} casesensitivity=sensitive | insensitive | mixed]{Indique si l'algorithme de correspondance de nom de fichier utilisé par le système de fichier devrait être sensible à la casse.\textbf{mixed} indique que le système de fichier supporte les requêtes pour les 2 cas. Traditionnellement, les systèmes de fichiers UNIX et POSIX ont des noms de fichier sensible à la casse.}
\item[\hspace{1mm} normalization = none | formC | formD | formKC | formKD]{Indique si le système de fichier devrait effectuer une normalisation unicode des noms de fichier quand 2 noms de fichier sont comparés. Si cette propriété est définie à une valeur autre que \textbf{none} et que la propriété \textbf{utf8only} n'est pas spécifiée, cette dernière est automatiquement mis à \textbf{on}. Défaut: none.}
\item[\hspace{1mm} utf8only=on | off]{Indique si le système de fichier devrait rejeter les noms de fichier qui incluent des caractères qui ne sont pas présents dans le jeu UTF8.}
\end{description}
 
\vspace{1cm}{\huge Propriétés de point de montage temporaire }
 
\
 
\hspace{1mm} Quand un système de fichier est monté, soit via \textbf{mount} ou via \textbf{zfs mount}, ses options de montage sont définis en accord avec ses propriétés. La corrélation entre les propriété et les options de montage sont comme suit:
 
{\ttfamily
PROPERTY\_\_\_\_\_\_\_\_\_\_MOUNT OPTION\\ devices\_\_\_\_\_\_\_\_\_\_\_devices/nodevices\\ exec\_\_\_\_\_\_\_\_\_\_\_\_\_\_exec/noexec\\ readonly\_\_\_\_\_\_\_\_\_\_ro/rw\\ setuid\_\_\_\_\_\_\_\_\_\_\_\_setuid/nosetuid\\ xattr\_\_\_\_\_\_\_\_\_\_\_\_\_xattr/noxattr\\
}
\vspace{8mm}
 
\hspace{1mm}  En plus, ces options peuvent être définis sur une base par montage en utilisant l'option \textbf{-o}, sans affecter la propriété qui est stockée sur disque. Les valeurs spécifiées sur la ligne de commande écrasent celle stockées dans le dataset. L'option \textbf{-nosuid} est un alias pour \textbf{nodevices,nosetuid}.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Propriétés utilisateur }
 
\
 
\hspace{1mm}  En plus des propriétés natives standard, ZFS supporte les propriétés utilisateurs arbitraires. Les propriétés utilisateur n'ont pas d'effet sur le fonctionnement de ZFS, mais les applications et les administrateurs peut les utiliser pour annoter les datasets.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les noms de propriété utilisateur doivent contenir un caractère ':' pour les distinguer des propriétés natives. Ils peuvent contenis les lettre minuscules, des nombres, et les caractères: ':', '-', '.', '\_'. La convention attendue est que le nom de propriété est divisée en 2 portions tel que \textbf{module:property}, mais cet espace de nom n'est pas forcé par ZFS. Les noms de propriété utilisateur ne peuvent pas avoir plus de 256 caractères, et ne peuvent pas commencer par un '-'.
\vspace{5mm} \\
 
 
\hspace{1mm}  En utilisant des propriétés utilisateur, il est fortement suggéré d'utiliser reverse DNS pour le composant module pour réduire les chances que 2 packages indépendants utilisent le même nom de propriété pour différents buts. Les noms de propriété commençant avec \textbf{com.sun.} sont réservés.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les valeurs des propriétés utilisateur sont des chaînes arbitraires, sont toujours hérités, et ne sont jamais validées. Tous les commandes qui opèrent sur les propriétés peuvent être utilisé pour manipuler les propriétés utilisateurs également. Utiliser la commande \textbf{zfs inherit} pour supprimer des propriétés utilisateur. Si la propriété n'est pas définie dans un dataset parent, il est supprimé entièrement. Les valeur de propriétés sont limitées à 1024 caractères.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Volumes ZFS comme Swap ou périphériques de Dump }
 
\
 
\hspace{1mm}  Durant une installation initiale ou une mise à jours depuis un système de fichier UFS, un périphérique de swap et un périphérique de dump sont créés dans le pool root des volume ZFS. Par défaut, la taille de la zone de swap est basée sur la moitié de la mémoire physique jusqu'à 2Go. La taille du périphérique de dump dépend des prérequis du kernel à l'installation. Des volumes ZFS séparés doivent être utilisés pour les périphérique swap et dump. Ne pas swapper dans un fichier dans un système de fichier ZFS. Une configuration de fichier swap ZFS n'est pas supportée. Si vous devez changer votre zone de swap ou dump un fois le système installé, utiliser les commandes \textbf{swap} et \textbf{dumpadm}.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Sous Commandes }
 
\
 
\hspace{1mm}  Toutes les sous-commandes qui modifient l'état sont loggés de manière persistante dans le pool sous leur forme originelle.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs create \texttt{[}-p\texttt{]} \texttt{[}-o property=value\texttt{]} ... filesystem]{Crée un nouveau système de fichie zfs. Le système de fichier est automatiquement monté en accord avec les propriété \textbf{mountpoint} héritées du parent.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -p]{Crée tous les datasets parent non-existant. les Datasets créés de cette manière sont automatiquement montés en accord avec le mountpoint hérité de leur parent. Toute propriété spécifié sur la ligne de commande est ignorée. Si le système de fichier cible existe déjà, l'opération se termine avec succès.}
\item[\hspace{6mm} -o property=value]{Définis la propriété spécifiée. Peut être spécifié plusieurs fois}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs create \texttt{[}-ps\texttt{]} \texttt{[}-b blocksize\texttt{]} \texttt{[}-o property=value\texttt{]} ... -V size volume]{Crée un volume à la taille donnée. Le volume est exporté comme périphérique block dans \textbf{/dev/zvol/}\verb|{|\textbf{dsk,rdsk}\verb|}|\textbf{/path}, où path est le nom du volume dans l'espace de nom zfs. La taille représente la taille logique tel qu'exporté par le périphérique. Par défaut, une réservation de taille égal est créée.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -p]{Crée tous les datasets parent non-existant. les Datasets créés de cette manière sont automatiquement montés en accord avec le mountpoint hérité de leur parent. Toute propriété spécifié sur la ligne de commande est ignorée. Si le système de fichier cible existe déjà, l'opération se termine avec succès.}
\item[\hspace{6mm} -s]{Créer un volume sparse sans réservation.}
\item[\hspace{6mm} -o property=value]{Définis la propriété spécifiée. Peut être spécifié plusieurs fois}
\item[\hspace{6mm} -b blocksize]{Équivaleunt à \textbf{-o volblocksize=blocksize}.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs destroy \texttt{[}-rRf\texttt{]} filesystem|volume]{Détruit le dataset donné. Par défaut, la commande départage tous systèmes de fichier partagé, démonte tous les systèmes de fichier actuellement monté, et refuse de détruire un dataset qui a une dépendance active (enfant ou clone).}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -r]{Détruit récursivement tout enfant}
\item[\hspace{6mm} -R]{Détruit récursivement toutes les dépendances, incluant les clones en dehors de la hiérarchie cible.}
\item[\hspace{6mm} -f]{Force à démonter les systèmes de ficiher en utilisant \textbf{umount -f}. N'a d'effet que sur les systèmes de fichier, et montés.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs destroy \texttt{[}-rRd\texttt{]} snapshot]{Détruit le snapshot donné si et seulement si la commande \textbf{zfs destroy} l'aurait détruit sans l'option \textbf{-d}. Si le snapshot n'est pas qualifié pour une destruction immédiate, il est marqué pour une suppression déferrée. Dans cet état, il est utilisable et visible jusqu'à ce que les conditions pour sa suppression soient rencontrées.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -d]{Défère la suppression}
\item[\hspace{6mm} -r]{Détruit ou marque pour suppression tous les snapshots avec ce nom dans le système de fichier descendant.}
\item[\hspace{6mm} -R]{Détruit récursivement toutes les dépendances.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs snapshot \texttt{[}-r\texttt{]} \texttt{[}-o property=value\texttt{]} ... filesystem@snapname|volume@snapname]{Créer un snapshot avec le nom donné. Toutes les modifications précédente dans le système de fichier font partie du snaphot.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -r]{Créer des snapshot récursivement pour tous les datasets descendants. Les snapshots sont pris automatiquement, donc tous les snapshots pris correspondent au même moment dans le temps.}
\item[\hspace{6mm} -o property=value]{Définis la propriété spécifiée.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs rollback \texttt{[}-rRf\texttt{]} snapshot]{Applique un précédent snapshot a un dataset. Par défaut, la commande refuse d'appliquer un snapshot autre que le plus récent. Les options \textbf{-rR} ne détruisent pas récursivement les snapshots enfant. Seul le snapshot récurisf top-level est détruit par une de ces options. pour appliquer un snapshot récursif complet, il faut l'appliquer individuellement aux snapshots enfant.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -r]{Détruit récursivement tous snapshots plus récent que celui spécifié}
\item[\hspace{6mm} -R]{Détruit récursivement tous des snapshots plus récent, ainsi que les clones de ces snapshots.}
\item[\hspace{6mm} -f]{Utilisé avec -R force à démonter tous systèmes de fichier clone qui doivent être détruits}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs clone \texttt{[}-p\texttt{]} \texttt{[}-o property=value\texttt{]} ... snapshot filesystem|volume]{Crée un clone d'un snapshot donné.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -p]{créé tous les datasets parent non-existants. Les datasets crées de cette manière sont automatiquement montés en accord avec la propriété \textbf{mountpoint} héritée de leur parent.}
\item[\hspace{6mm} -o property=value]{Définis la propriété spécifiée.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs promote clone-filesystem]{Détache un clone de système de fichier de son snapshot original. Cela permet de détruire le système de fichier depuis lequel ce clone a été créé. La relation de dépendance de clone parent-enfant est réservée, donc le système de fichier d'origine devient un clone du système de fichier spécifié. Le snapshot qui a été cloné, et tous les snapshots précédents à ce snapshot, sont désormais possédés par le clone promus. L'espace qu'ils utilisent se déplace du système de fichier original avec le clone promus, il doit donc y avoir suffisamment d'espace pour ces snapshots. Aucun nouvel espace n'est consommé par cette opération, mais l'espace est ajusté. Le clone promu ne doit pas avoir de conflits de noms de snapshot.}
\item[\hspace{1mm} zfs rename filesystem|volume|snapshot filesystem|volume|snapshot]{}
\item[\hspace{1mm} zfs rename \texttt{[}-p\texttt{]} filesystem|volume filesystem|volume]{Renomme le dataset donné. La nouvelle cible peut être localisée n'importe où dans la hiérarchie ZFS, à l'exception des snapshots. Les snapshots peuvent seulement être renommés dans le système de fichier parent ou les volumes. En renommant un snapshot, le système de fichier parent du snapshot n'a pas besoin d'être spécifié comme partie du second argument. Les système de fichie renomés peuvent hériter de nouveaux points de montage, auquel cas ils sont démonté et remontés dans le nouveau point.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -p]{Crée tous les datasets parent non-existant. Les datasets ainsi créés de cette manière sont automatiquement montés en accord avec la propriété \textbf{mountpoint} hérité du parent.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs rename -r snapshot snapshot]{Renome récursivement les snapshots de tous les datasets descendants. Les snapshots sont les seuls datasets qui peuvent être renommés récursivement.}
\item[\hspace{1mm} zfs list \texttt{[}-r|-d depth\texttt{]} \texttt{[}-H\texttt{]} \texttt{[}-o property\texttt{[},...\texttt{]}\texttt{]} \texttt{[} -t type\texttt{[},...\texttt{]}\texttt{]} \texttt{[} -s property \texttt{]} ... \texttt{[} -S property \texttt{]} ... \texttt{[}filesystem|volume|snapshot\texttt{]} ...Liste les informations de propriété pour les datasets donnés sous forme de tableau. Si spécifié, vous pouvez lister les informations de propriétés par chemin absolu ou relatif. Par défaut, tous les systèmes de fichier et volumes sont affichés.]{}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -H]{Utilisé pour le scripting. N'affiche pas les en-têtes, et sépare les champs par une simple tabulation.}
\item[\hspace{6mm} -r]{Affiche récursivement les enfants du dataset.}
\item[\hspace{6mm} -d depth]{Affiche récursivement les enfants du dataset, en limitant la profondeur de la récursion.}
\item[\hspace{6mm} -o property]{Liste de propriétés à afficher. Peut être une propriété native, utilisateur, \textbf{name} pour affichier le nom du dataset, et \textbf{space} pour afficher l'utilisation disque.}
\item[\hspace{6mm} -s property]{Une propriété pour le trie dans l'ordre ascendant basée sur la valeur de la propriété..}
\item[\hspace{6mm} -S property]{Idem mais dans l'ordre descendant.}
\item[\hspace{6mm} -t type]{Liste de type à affichier ( filesystem, snapshot, volume ou all).}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs set property=value filesystem|volume|snapshot ...]{Définis la propriété à la valeur donnée pour chaque dataset.}
\item[\hspace{1mm} zfs get \texttt{[}-r|-d depth\texttt{]} \texttt{[}-Hp\texttt{]} \texttt{[}-o all | field\texttt{[},...\texttt{]} \texttt{[}-s source\texttt{[},...\texttt{]}\texttt{]} all | property\texttt{[},...\texttt{]} filesystem|volume|snapshot ...]{Affiche les propriété pour les datasets donné. si aucun dataset n'est donné, affiche les propriétés pour tous les datasets.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -r]{Affiche les propriétés des enfants du dataset.}
\item[\hspace{6mm} -d depth]{Affiche récursivement les enfants du dataset, en limitant la profondeur de la récursion.}
\item[\hspace{6mm} -H]{Sort dans un format plus facile à parser par les scripts}
\item[\hspace{6mm} -o field]{Définis les champs à afficher, parmi: name,property,value,received,source,all}
\item[\hspace{6mm} -s source]{Liste de sources à afficher. chaque source doit être un parmi: local,default,inherited,temporary,received,none}
\item[\hspace{6mm} -p]{Affiche les nombres en valeurs parsable (exactes)}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs inherit \texttt{[}-rS\texttt{]} property filesystem|volume|snapshot ...]{Efface les propriétés spécifiée, forcant l'héritage du parent.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -r]{Hérite récursivement de la propriété donnée pour tous les enfants}
\item[\hspace{6mm} -S]{Revient à la valeur de propriété reçue si possible.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs upgrade \texttt{[}-v\texttt{]}]{affiche une liste de systèmes de fichiers qui ne sont pas à la dernière version}
\item[\hspace{1mm} zfs upgrade \texttt{[}-r\texttt{]} \texttt{[}-V version\texttt{]} \texttt{[}-a | filesystem\texttt{]}]{Met à jours les systèmes de fichiers à une version plus récente. En générale, la version est dépendante de la version du pool.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -a]{Met à jours tous les systèmes de fichier dans tous les pools importés}
\item[\hspace{6mm} filesystem]{Met à jours le système de fichier spécifié}
\item[\hspace{6mm} -r]{Met à jours le système de fichier spécifié et tous ses descendants.}
\item[\hspace{6mm} -V version]{Met à jours à la version spécifiée.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs userspace \texttt{[}-niHp\texttt{]} \texttt{[}-o field\texttt{[},...\texttt{]}\texttt{]} \texttt{[}-sS field\texttt{]}... \texttt{[}-t type \texttt{[},...\texttt{]}\texttt{]} filesystem | snapshot]{Affiche l'espace consommé, et les quotas, de chaque utilisateur dans le système de fichier spécifié ou le snapshot. Cela correspond aux propriétés userused@user et userquota@user}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm}  -n]{Affiche l'ID numérique au lieu du nom}
\item[\hspace{6mm} -H]{Sort dans un format plus facile à parser par les scripts}
\item[\hspace{6mm} -p]{Affiche les nombres en valeurs parsable (exactes)}
\item[\hspace{6mm} -o field]{Définis les champs à afficher, parmi: type,name,used,quota. Défaut: affiche tous les champs}
\item[\hspace{6mm} -s field]{Trie la sortie par ce champs. Peut être spécifié plusieurs fois.}
\item[\hspace{6mm} -S field]{idem, mais trie dans l'ordre inverse}
\item[\hspace{6mm} -t type\texttt{[},...\texttt{]}]{Affiche seulement les types spécifiés du jeu suivant: all,posixuser,smbuser,posixgroup,smbgroup. Défaut: posixuser,smbuser}
\item[\hspace{6mm} -i]{Traduit SID en POSIX ID.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs groupspace \texttt{[}-niHp\texttt{]} \texttt{[}-o field\texttt{[},...\texttt{]}\texttt{]} \texttt{[}-sS field\texttt{]}... \texttt{[}-t type \texttt{[},...\texttt{]}\texttt{]} filesystem | snapshot]{Affiche l'espace consommé, et les quotes, pour chaque groupe dans le système de fichier spécifié ou le snapshot. Cette sous commande est identique à \textbf{zfs userspace}, excepté que le type d'affichage pas défaut est \textbf{-t posixgroup,smbgroup}}
\item[\hspace{1mm} zfs mount]{Affiche tous les systèmes de fichiers montés}
\item[\hspace{1mm} zfs mount \texttt{[}-vO\texttt{]} \texttt{[}-o options\texttt{]} -a | filesystem]{Monte les systèmes de fichiers ZFS. Invoqué automatiquement durant le processus de démarrage}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -o options]{liste d'options de montage à utiliser temporairement}
\item[\hspace{6mm} -O]{montage overlay}
\item[\hspace{6mm} -v]{Reporte la progression du montage}
\item[\hspace{6mm} -a]{Monte tous les systèmes de fichiers zfs disponible.}
\item[\hspace{6mm} filesystem]{Monte le système de fichier spécifié}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs unmount \texttt{[}-f\texttt{]} -a | filesystem|mountpoint]{Démonte les systèmes de fichiers zfs. Invoqué automatiquement durant le processus d'arrêt}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -f]{Force à démonter tous les systèmes}
\item[\hspace{6mm} -a]{Démonte tous les systèmes de fichiers zfs}
\item[\hspace{6mm} filesystem|mountpoint]{Démonte le système de fichier spécifié.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs share -a | filesystem]{Partage un système de fichier zfs}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -a]{Partage tous les systèmes de fichier zfs. Invoqué automatiquement durant le processus de démarrage}
\item[\hspace{6mm} filesystem]{Partage le systèmes de fichier en accord avec les propriétés sharenfs et sharesmb.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs unshare -a | filesystem|mountpoint]{Ne partage plus les systèmes de fichier zfs. Invoqué automatiquement durant le processus d'arrêt}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -a]{dé-partage tous les systèmes de fichier zfs}
\item[\hspace{6mm} filesystem|mountpoint]{dé-partage le système de fichier spécifié}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs send \texttt{[}-DvRp\texttt{]} \texttt{[}-\texttt{[}iI\texttt{]} snapshot\texttt{]} snapshot]{Créé une représentation flux du second snapshot, qui est écris sur la sortie standard. La sortie peut être redirigée dans un fichier ou sur un système différent.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -D]{Effectue un traitement \textbf{dedup} sur le flux.}
\item[\hspace{6mm} -i snapshot]{génère un flux incrémentale depuis le premier snapshot dans le second. La source incrémentale (le premier snapshot) peut être spécifié comme dernier composant du nom du snapshot (par exemple, la partie après le @ ), et il est assumé être du même système de fichier que le second snapshot. Si la destination est un clone, la source peut être le snapshot d'origine, qui doit être spécifié en entier (ex: pool/fs@origin).}
\item[\hspace{6mm} -I snapshot]{Génère un package flux qui envoie tous les snapshots intermédiaire depuis le premier snapshot jusqu'au second.}
\item[\hspace{6mm} -R]{Génère un package flux de réplication, qui va répliquer le système de fichier spécifié, et tous les systèmes de fichier descendants, jusqu'au snapshot nommé. Toutes les propriétés, snapshots, systèmes de fichiers descendants et clones sont préservés. Si -i et -I sont utilisé avec -R, un flux de réplication incrémentale est généré.}
\item[\hspace{6mm} -p]{Envoie les propriétés}
\item[\hspace{6mm} -v]{Affiche des informations sur le flux généré.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs receive \texttt{[}-vnFu\texttt{]} filesystem|volume|snapshot]{}
\item[\hspace{1mm} zfs receive \texttt{[}-vnFu\texttt{]} \texttt{[}-d | -e\texttt{]} filesystem]{Crée un snapshot dont le contenu est spécifié dans le flux fournis sur l'entrée standard. Si un flux complet est reçu, le nouveau système de fichier est créé également.}
\item[\hspace{1mm} ]{Si un flux incrémentale est reçu, le système de destination doit déjà exister, et son snapshot le plus récent doit matcher la source du flux incrémentale. Pour les zvols, le lien du périphérique de destination est détruit et recréé, ce qui signifie que le zvol ne peut être accédé durant l'opération.}
\item[\hspace{1mm} ]{Quand un flux de réplication de snapshot généré par \textbf{zfs send -R} est reçu, tout snapshot qui n'existent pas dans l'emplacement d'origine est détruit via \textbf{zfs destroy -d}.}
\item[\hspace{1mm} ]{Le nom du snapshot (et du système de fichier, si un flux complet est reçu) que cette sous-commande créé dépends du type d'argument et des options -d ou -e.}
\item[\hspace{1mm} ]{Si l'argument est un nom de snapshot, il est créé. Si l'argument est un système de fichier ou un nom de volume, un snapshot avec le même nom que le snapshot envoyé est créé dans le système de fichier ou le volume spécifié. Si l'option -e ou -d est spécifiée, le nom du snapshot est déterminé en ajoutant le nom du snapshot au système de fichier spécifié. Si -d est spécifié, tous sauf le nom du pool du snapshot envoyé est ajouté. (ex: b/c@1 ajouté depuis a/b/c@1), et si -e est spécifié, seul la fin du chemin est ajouté (ex: c@1).}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -d]{Utilise tout sauf le premier élément du chemin du snapshot envoyé pour déterminer le nom du nouveau snapshot.}
\item[\hspace{6mm} ]{Utilise le dernier élément du chemin du snapshot envoyé pour déterminer le nom du nouveau snapshot.}
\item[\hspace{6mm} -u]{Le système de fichier qui est associé avec le flux reçu n'est pas monté}
\item[\hspace{6mm} -v]{Affiche des informations sur le flux et le temps requis pour effectuer l'opération.}
\item[\hspace{6mm}  -n]{Ne reçoit pas le flux. Utile avec -v pour vérifier le nom.}
\item[\hspace{6mm} -F]{Force le rollback du système de fichier au snapshot le plus récent avant d'effectuer l'opération.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs allow filesystem | volume]{Affiche les permissions qui ont été délégués dans le système de fichier spécifié ou le volume.}
\item[\hspace{1mm} zfs allow \texttt{[}-ldug\texttt{]} "everyone"|user|group\texttt{[},...\texttt{]} perm|@setname\texttt{[},...\texttt{]} filesystem| volume]{}
\item[\hspace{1mm} zfs allow \texttt{[}-ld\texttt{]} -e perm|@setname\texttt{[},...\texttt{]} filesystem | volume]{Délègue les permissions d'administration ZFS pour les systèmes de fichier à des utilisateurs non-privilégiés.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} \texttt{[}-ug\texttt{]} "everyone"|user|group\texttt{[},...\texttt{]}]{Spécifie à que des autorisation sont déléguées. Plusieurs entités peuvent être spécifiées. Si -u et -g n'est pas spécifié, l'argument est interprété préférentiellement pour tout le monde, puis comme nom d'utilisateur, et enfun comme nom de groupe. Pour spécifier un utilisateur ou un groupe nommé "everyone", utiliser -u ou -g. Pour spécifier un groupe avec le même nom que l'utilisateur, utiliser l'option -g.}
\item[\hspace{6mm} \texttt{[}-e\texttt{]} perm|@setname\texttt{[},...\texttt{]}]{Spécifie les permissions à déléguer à "everyone". Plusieurs permissions peuvent être spécifiée. Les noms de permission sont les même que la même sous-commande ZFS ou nom de propriété. Voir la liste plus bas. Les noms de jeu de propriété, qui commencent par @, peuvent être spécifiés.}
\item[\hspace{6mm} \texttt{[}-ld\texttt{]} filesystem|volume]{Spécifie où les permissions sont déployées. Si -l et -d n'est pas pécifié, ou les 2 le sont, les permissions sont permises pour le système de fichier ou le volume, et tous ses descendants. Il seul -l est utilisé, c'est permis localement seulement pour le système de fichier spécifié. Si seul -d est utilisé, c'est permis seulement pour les systèmes de fichiers descendants.}
\end{description}
 
\hspace{1mm} Les permissions sont généralement la capacité d'utiliser une sous-commande ou changer une propriété zfs. Les permissions suivantes sont permises:
 
{\ttfamily
NAME\_\_\_\_\_\_\_\_\_\_\_\_\_TYPE\_\_\_\_\_\_\_\_\_\_ NOTES\\ allow\_\_\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Doit également avoir la permission qui est permise\\ clone\_\_\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Doit également avec la capacité 'create' et 'mount' dans le système de fichier d'origine\\ create\_\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Doit également avoir la capacité 'mount'\\ destroy\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Doit également avoir la capacité 'mount'\\ hold\_\_\_\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Permet d'ajouter un utilisateur maintenu dans un snapshot\\ mount\_\_\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Permet de monter/démonter des datasets\\ promote\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Doit également avoir les capacités 'mount' et 'promote' dans le système de fichie d'origine\\ receive\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Doit également avoir les capacités 'mount' et 'create'\\ release\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Permet d'enlever un user qui peut détuire le snapshot\\ rename\_\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Doit également avec la capacité 'create' et 'mount' dans le nouveau parent\\ rollback\_\_\_\_\_\_\_\_\_subcommand\\ send\_\_\_\_\_\_\_\_\_\_\_\_\_subcommand\\ share\_\_\_\_\_\_\_\_\_\_\_\_subcommand\_\_\_\_\_Permet de partager des systèmes de fichier sur NFS ou SMB\\ snapshot\_\_\_\_\_\_\_\_\_subcommand\\ groupquota\_\_\_\_\_\_\_other\_\_\_\_\_\_\_\_\_\_Permet d'accéder à toutes les propriétés groupquota@...\\ groupused\_\_\_\_\_\_\_\_other\_\_\_\_\_\_\_\_\_\_Permet de lire toutes les propriété groupused@...\\ userprop\_\_\_\_\_\_\_\_\_other\_\_\_\_\_\_\_\_\_\_Permet de changer toute propriété utilisateur\\ userquota\_\_\_\_\_\_\_\_other\_\_\_\_\_\_\_\_\_\_Permet d'accéder à toutes les propriétés les userquota@...\\ userused\_\_\_\_\_\_\_\_\_other\_\_\_\_\_\_\_\_\_\_Permet de lire toutes les propriétés userused@...\\ aclinherit\_\_\_\_\_\_\_property\\ aclmode\_\_\_\_\_\_\_\_\_\_property\\ atime\_\_\_\_\_\_\_\_\_\_\_\_property\\ canmount\_\_\_\_\_\_\_\_\_property\\ casesensitivity\_\_property\\ checksum\_\_\_\_\_\_\_\_\_property\\ compression\_\_\_\_\_\_property\\ copies\_\_\_\_\_\_\_\_\_\_\_property\\ dedup\_\_\_\_\_\_\_\_\_\_\_\_property\\ devices\_\_\_\_\_\_\_\_\_\_property\\ exec\_\_\_\_\_\_\_\_\_\_\_\_\_property\\ logbias\_\_\_\_\_\_\_\_\_\_property\\ mlslabel\_\_\_\_\_\_\_\_\_property\\ mountpoint\_\_\_\_\_\_\_property\\ nbmand\_\_\_\_\_\_\_\_\_\_\_property\\ normalization\_\_\_\_property\\ primarycache\_\_\_\_\_property\\ quota\_\_\_\_\_\_\_\_\_\_\_\_property\\ readonly\_\_\_\_\_\_\_\_\_property\\ recordsize\_\_\_\_\_\_\_property\\ refquota\_\_\_\_\_\_\_\_\_property\\ refreservation\_\_\_property\\ reservation\_\_\_\_\_\_property\\ secondarycache\_\_\_property\\ setuid\_\_\_\_\_\_\_\_\_\_\_property\\ shareiscsi\_\_\_\_\_\_\_property\\ sharenfs\_\_\_\_\_\_\_\_\_property\\ sharesmb\_\_\_\_\_\_\_\_\_property\\ snapdir\_\_\_\_\_\_\_\_\_\_property\\ utf8only\_\_\_\_\_\_\_\_\_property\\ version\_\_\_\_\_\_\_\_\_\_property\\ volblocksize\_\_\_\_\_property\\ volsize\_\_\_\_\_\_\_\_\_\_property\\ vscan\_\_\_\_\_\_\_\_\_\_\_\_property\\ xattr\_\_\_\_\_\_\_\_\_\_\_\_property\\ zoned\_\_\_\_\_\_\_\_\_\_\_\_property\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs allow -c perm|@setname\texttt{[},...\texttt{]} filesystem|volume]{Définis les permission "create time". Ces permission sont données localement au créateur d'un nouveau système de fichier descendant créé.}
\item[\hspace{1mm} zfs allow -s @setname perm|@setname\texttt{[},...\texttt{]} filesystem|volume]{Définis ou ajoute des permissions à un jeu de permission. Le jeu peut être utilisé par d'autres commande \textbf{zfs allow} pour le système de fichier spécifié et ses descendants. Les jeux sont évalués dynamiquement, donc changer un set est reflété dynamiquement. Les jeux de permission suivent les même restrictions de nommage que les systèmes de fichiers ZFS, mais le nom doit commencer par '@' et ne peut pas faire plus de 64 caractères.}
\item[\hspace{1mm} zfs unallow \texttt{[}-rldug\texttt{]} "everyone"|user|group\texttt{[},...\texttt{]} \texttt{[}perm|@setname\texttt{[}, ...\texttt{]}\texttt{]} filesystem|volume]{}
\item[\hspace{1mm} zfs unallow \texttt{[}-rld\texttt{]} -e \texttt{[}perm|@setname \texttt{[},...\texttt{]}\texttt{]} filesystem|volume]{}
\item[\hspace{1mm} zfs unallow \texttt{[}-r\texttt{]} -c \texttt{[}perm|@setname\texttt{[},...\texttt{]}\texttt{]} filesystem|volume]{Supprime les permissions qui ont été données avec la commande \textbf{zfs allow}. Aucune permissions n'est explicitement refusée, donc les permissions données restent effectives. Si aucune permission n'est spécifiée, toutes les permissions pour l'utilisateur, groupe, ou everyone sont supprimés. Spécifier everyone ou l'option -e supprime seulement les permissions qui ont été donnée à everyone.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -r]{Supprime récursivement les permissions dans le système de fichier et ses descendants}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs unallow \texttt{[}-r\texttt{]} -s @setname \texttt{[}perm|@setname\texttt{[},...\texttt{]}\texttt{]} filesystem|volume]{Supprime les permissions d'un jeu de permissions. Si aucune permission n'est spécifiée, supprime toutes les permissions et supprime le jeu.}
\item[\hspace{1mm} zfs hold \texttt{[}-r\texttt{]} tag snapshot...]{Ajoute une référence simple, nommée avec l'argument tag, au snapshot ou aux snapshots spécifiés Chaque snapshot a son propre espace de nom de tag, et les tags doivent être unique dans cet espace. Si un hold existe dans un snapshot, tenter de détruire ce snapshot en utilisant \textbf{zfs destroy} retourne EBUSY.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -r]{Spécifie qu'un hold avec le tag donné est appliqué récursivement aux snapshots de tous les systèmes de fichiers descendants.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs holds \texttt{[}-r\texttt{]} snapshot...]{Liste toutes les références utilisateurs existant pour un snapshot donné}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -r]{Liste les holds qui sont définis dans les snapshots descendants nommés, en plus de lister les holds dans le snapshot nommé.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} zfs release \texttt{[}-r\texttt{]} tag snapshot...]{Supprime une simple référence, nommée avec l'argument tax, du ou des snapshots spécifiés. Le tag doit déjà exister.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -r]{Supprime récursivement un hold dans les snapshots et tous les système de fichier descendants.}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Créer une hiérarchie de système de fichier zfs: \\
\hspace{1mm} \textbf{zfs create pool/home} \\
\hspace{1mm} \textbf{zfs set mountpoint=/export/home pool/home} \\
\hspace{1mm} \textbf{zfs create pool/home/bob} \\
\hspace{1mm} Créer un snapshot ZFS. Ce snapshot est monté à la demande dans le .zfs/snapshot dans le système de fichier pool/home/bob: \\
\hspace{1mm} \textbf{zfs snapshot pool/home/bob@yesterday} \\
\hspace{1mm} Créer et détruire plusieurs snapshots: \\
\hspace{1mm} \textbf{zfs snapshot -r pool/home@yesterday} \\
\hspace{1mm} \textbf{zfs destroy -r pool/home@yesterday} \\
\hspace{1mm} Désactive et active la compression de système de fichier \\
\hspace{1mm} \textbf{zfs set compression=off pool/home} \\
\hspace{1mm} \textbf{zfs set compression=on pool/home/anne} \\
\hspace{1mm} Lister les datasets \\
\hspace{1mm} \textbf{zfs list} \\
\hspace{1mm} Définir un quota dans un système de fichier \\
\hspace{1mm} \textbf{zfs set quota=50G pool/home/bob} \\
\hspace{1mm} Lister les propriétés ZFS: \\
\hspace{1mm} \textbf{zfs get all pool/home/bob} \\
\hspace{1mm} Lister une simple propriété \\
\hspace{1mm} \textbf{zfs get -H -o value compression pool/home/bob} \\
\hspace{1mm} Liste toutes les propriété avec les paramètres locaux: \\
\hspace{1mm} \textbf{zfs get -r -s local -o name,property,value all pool/home/bob} \\
\hspace{1mm} Rollback un système de fichier \\
\hspace{1mm} \textbf{zfs rollback -r pool/home/anne@yesterday} \\
\hspace{1mm} Créer un clone: \\
\hspace{1mm} \textbf{zfs clone pool/home/bob@yesterday pool/clone} \\
\hspace{1mm} Détacher un clone: \\
\hspace{1mm} \textbf{zfs create pool/project/production} \\
\hspace{1mm} \textbf{zfs snapshot pool/project/production@today} \\
\hspace{1mm} \textbf{zfs clone pool/project/production@today pool/project/beta} \\
\hspace{1mm} \textbf{zfs promote pool/project/beta} \\
\hspace{1mm} \textbf{zfs rename pool/project/production pool/project/legacy} \\
\hspace{1mm} \textbf{zfs rename pool/project/beta pool/project/production} \\
\hspace{1mm} \textbf{zfs destroy pool/project/legacy} \\
\hspace{1mm} Hériter des propriétés ZFS: \\
\hspace{1mm} \textbf{zfs inherit checksum pool/home/bob pool/home/anne} \\
\hspace{1mm} Répliquer les données ZFS à distance: \\
\hspace{1mm} \textbf{zfs send pool/fs@a | ssh host zfs receive poolB/received/fs@a} \\
\hspace{1mm} poolB doit contenir le système de fichier poolB/received et ne doit pas contenir initialement pooB/received/fs \\
\hspace{1mm} \textbf{zfs send -i a pool/fs@b | ssh host zfs receive poolB/received/fs} \\
\hspace{1mm} Utiliser zfs receive -d \\
\hspace{1mm} \textbf{zfs send poolA/fsA/fsB@snap | ssh host zfs receive -d poolB/received} \\
\hspace{1mm} Définir les propriétés utilisateurs: \\
\hspace{1mm} \textbf{zfs set com.example:department=12345 tank/accounting} \\
\hspace{1mm} Créer un volume ZFS comme target iSCSI: \\
\hspace{1mm} \textbf{zfs create -V 2g pool/volumes/vol1} \\
\hspace{1mm} \textbf{zfs set shareiscsi=on pool/volumes/vol1} \\
\hspace{1mm} \textbf{iscsitadm list target} \\
\hspace{1mm} Maintenir un historique de snapshots dans un schéma de nommage consistant: \\
\hspace{1mm} \textbf{zfs destroy -r pool/users@7daysago} \\
\hspace{1mm} \textbf{zfs rename -r pool/users@6daysago @7daysago} \\
\hspace{1mm} \textbf{zfs rename -r pool/users@5daysago @6daysago} \\
\hspace{1mm} \textbf{zfs rename -r pool/users@yesterday @5daysago} \\
\hspace{1mm} \textbf{zfs rename -r pool/users@yesterday @4daysago} \\
\hspace{1mm} \textbf{zfs rename -r pool/users@yesterday @3daysago} \\
\hspace{1mm} \textbf{zfs rename -r pool/users@yesterday @2daysago} \\
\hspace{1mm} \textbf{zfs rename -r pool/users@today @yesterday} \\
\hspace{1mm} \textbf{zfs snapshot -r pool/users@today} \\
\hspace{1mm} Définis la propriété sharenfs dans un système de fichier zfs: \\
\hspace{1mm} \textbf{zfs set sharenfs='rw=@123.123.0.0/16,root=neo' tank/home} \\
\hspace{1mm} Déléguer les permissions d'administration dans un dataset: \\
\hspace{1mm} \textbf{zfs allow cindys create,destroy,mount,snapshot tank/cindys} \\
\hspace{1mm} \textbf{zfs allow tank/cindys} \\
\hspace{1mm} Parce que les permissions du point de montage tank/cindys est à 755 par défaut, cindys ne sera pas capable de monter les systèmes de fichier sous tank/cindys. Définir une ACL similaire à la syntaxe suivante: \\
\hspace{1mm} \textbf{chmod A+user:cindys:add\_subdirectory:allow /tank/cindys} \\
\hspace{1mm} Déléguer la permission create time dans un dataset: \\
\hspace{1mm} \textbf{zfs allow staff create,mount tank/users} \\
\hspace{1mm} \textbf{zfs allow -c destroy tank/users} \\
\hspace{1mm} \textbf{zfs allow tank/users} \\
\hspace{1mm} Définir et donner un jeu de permission dans un dataset: \\
\hspace{1mm} \textbf{zfs allow -s @pset create,destroy,snapshot,mount tank/users} \\
\hspace{1mm} \textbf{zfs allow staff @pset tank/users} \\
\hspace{1mm} \textbf{zfs allow tank/users} \\
\hspace{1mm} Déléguer les permissions de propriété dans un dataset: \\
\hspace{1mm} \textbf{zfs allow cindys quota,reservation users/home} \\
\hspace{1mm} \textbf{zfs allow users/home} \\
\hspace{1mm} Supprimer les permissions déléguer dans un dataset: \\
\hspace{1mm} \textbf{zfs unallow staff snapshot tank/users} \\
\hspace{1mm} \textbf{zfs allow tank/users} \\
\end{flushleft}
\end{document}
