\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]{sam. août 29 16:30:38 CEST 2015}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={setfacl},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Définis les listes de contrôle d'accès des fichiers},
CreationDate={D:20150829163038},
ModDate={D:20150829163038},
Keywords={Linux;acl}
}}
\begin{document}
 
\begin{center}
{\Huge setfacl }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Définis les listes de contrôle d'accès des fichiers}
 
\vspace{10mm}
 
\hspace{1mm}  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, ...).
\vspace{5mm} \\
 
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Permissions }
 
\
 
\hspace{1mm}  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)
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -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.}
\item[\hspace{1mm} -k, --remove-default]{Supprime toutes les ACL par défaut.}
\item[\hspace{1mm} -n, --no-mask]{Ne recalcule pas le masque de permissions effectives}
\item[\hspace{1mm} --mask]{Recalcule le masque de permissions effectives, même si une entrée de mask a été explicitement donné.}
\item[\hspace{1mm} -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.}
\item[\hspace{1mm} --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.}
\item[\hspace{1mm} --test]{Mode simulation. Liste les ACL résultantes.}
\item[\hspace{1mm} -R, --recursive]{Applique les opérations à tous les fichiers et répertoires récursivement. Cette option ne peut pas être mixé avec --restore.}
\item[\hspace{1mm} -L, --logical]{Mode logique, traverse les liens symboliques. Seulement avec -R. ne peut pas être utilisé avec --restore.}
\item[\hspace{1mm} -P, --physical]{Mode physique, ne traverse pas les liens symboliques. Seulement avec -R. ne peut pas être utilisé avec --restore.}
\item[\hspace{1mm} --]{Fin des options de la ligne de commande}
\item[\hspace{1mm} - ]{Si un paramètre est un '-', lis depuis l'entrée standard}
\end{description}
 
\vspace{1cm}{\huge Entrées d'ACL }
 
\
 
\hspace{1mm}  L'utilitaire setfacl reconnaît les formats d'entrée d'ACL suivantes (de blanc ont été inséré pour plus de clarté):
\vspace{5mm} \\
 
 
\hspace{1mm} Permissions d'un utilisateur nommé. Permissions du propriétaire du fichier si l'uid est vide \\
\hspace{1mm} \textbf{[d[efault]:] [u[ser]:]uid [:perms]} \\
\hspace{1mm} Permissions du groupe nommé. Permissions du groupe propriétaire si gid est vide \\
\hspace{1mm} \textbf{[d[efault]:] g[roup]:gid [:perms]} \\
\hspace{1mm} Masque de droits effectifs \\
\hspace{1mm} \textbf{[d[efault]:] m[ask][:] [:perms]} \\
\hspace{1mm} Permissions pour les autres \\
\hspace{1mm} \textbf{[d[efault]:] o[ther][:] [:perms]} \\
 
\hspace{1mm}  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).
\vspace{5mm} \\
 
 
\hspace{1mm}  Pour uid et gid, vous pouvez spécifier soit un nom, soit un nombre.
\vspace{5mm} \\
 
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Entrées créées automatiquement }
 
\
 
\hspace{1mm}  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:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Les 3 entrées de base ne peuvent pas être supprimés.}
\item[\hspace{1mm} -]{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.}
\item[\hspace{1mm} -]{Quand une ACL contient des entrées d'ACL par défaut, les 3 entrées de base doivent également exister.}
\item[\hspace{1mm} -]{Quand une ACL par défaut contient des entrées user et group nommés, elle doit également contenir un masque de droits effectifs.}
\end{description}
 
\hspace{1mm}  Pour aider l'utilisateur à s'assurer de ses règles, setfacl créé des entrées des entrées existantes sous certaines conditions.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{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.}
\item[\hspace{1mm} -]{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.}
\item[\hspace{1mm} -]{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.}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Ajouter un droit de lecture à un utilisateur \\
\hspace{1mm} \textbf{setfacl -m u:lisa:r file} \\
\hspace{1mm} révoquer l'accès en écriture à tous les groupes et tous les utilisateurs nommés en utilisant le masque de droits effectifs \\
\hspace{1mm} \textbf{setfacs -m m::rx file} \\
\hspace{1mm} Supprimer une entrée de groupe nommé de l'ACL du fichier \\
\hspace{1mm} \textbf{setfacl -x g:staff file} \\
\hspace{1mm} Copier l'ACL d'un fichier dans un autre \\
\hspace{1mm} \textbf{getfacl file1 | setfacl --set-file=- file2} \\
\hspace{1mm} copier l'ACL d'accès dans l'ACL par défaut \\
\hspace{1mm} \textbf{getfacl --access dir | serfacl -d -M- dir} \\
\end{flushleft}
\end{document}
