\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]{mer. juin 25 18:14:38 CEST 2014}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={kadmin},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Interface CLI pour l'administration de Kerberos},
CreationDate={D:20140625181438},
ModDate={D:20140625181438},
Keywords={Kerberos;sécurité;authentification}
}}
\begin{document}
 
\begin{center}
{\Huge kadmin }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Interface CLI pour l'administration de Kerberos}
 
\vspace{10mm}
 
\hspace{1mm}  kadmin et kadmin.local sont des interfaces en ligne de commande pour le système d'administration de Kerberos. Ils fonctionnent de manière similaire à l'exception que kadmin.local communique directement avec le fichier de base de données.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le client distant \textbf{kadmin} utilise Kerberos pour s'authentifier auprès de kadmind en utilisant le principal de service \textbf{kadmin/ADMINHOST}, où \textbf{ADMINHOST} est le fqdn du serveur d'administration, ou \textbf{kadmin/admin}. Si le cache d'accréditifs contient un ticket pour un de ces principaux, et que l'option \textbf{-c} est spécifié, ce ticket est utilisé pour s'authentifier à kadmind. Sinon les options \textbf{-p} et \textbf{-k} sont utilisés pour spécifier le nom du principal client utilisé pour s'authentifier. Une fois que kadmin a déterminé le nom du principal, il demande un ticket de service au KDC, et l'utilise pour s'authentifier à kadmind.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -r realms]{Utilise de domaine spécifié par défaut}
\item[\hspace{1mm} -p principal]{Utilise le principal spécifié pour s'authentifier. Sinon, kadmin va ajouter /admin au nom de principal primaire du ccache par défaut, la valeur de la variable d'environnement USER, ou le username obtenu par getpwuid, dans cet ordre.}
\item[\hspace{1mm} -k]{Utilise un keytab pour déchiffrer la réponse du KDC au lieu de demander un mot de passe. Dans ce cas, le principal par défaut sera host/hostname. S'il n'y a par de keytab spécifié avec l'option -t, le keytab par défaut sera utilisé.}
\item[\hspace{1mm} -t keytab]{Utilise keytab pour déchiffrer la réponse du KDC. Peut seulement être utilisé avec l'option -k}
\item[\hspace{1mm} -n ]{Demande un traitement anonyme. 2 types de principaux anonyme sont supportés. Pour l'anonymité complète, configurer PKINIT et utiliser l'option \textbf{-n} avec un principal sous la forme \textbf{@REALM}. Si permis par le KDC, un ticket anonyme sera retourné. Une seconde forme est supportée, et cache l'identité du client mais pas le domaine du client. Pour ce mode, utiliser kinit -n avec un principal normal. Si supporté par le KDC, le principal, mais pas le domaine, sera remplacé par le principal anonymous.}
\item[\hspace{1mm} -c credentials\_cache]{Utile de cache d'accréditifs spécifié. Le cache devrait contenir un ticket de service pour \textbf{kadmin/ADMINHOST} ou \textbf{kadmin/admin}. Si non spéifié, kadmin demande un nouveau ticket au KDC et le stocke dans son propre cache temporaire.}
\item[\hspace{1mm} -w password]{Utilise le mot de passe au lieu de le demander}
\item[\hspace{1mm} -q query]{Effectue le requête spécifiée et quitte.}
\item[\hspace{1mm} -d dbname]{Spécifie le nom de la base KDC. Ne s'applique par au module de base LDAP}
\item[\hspace{1mm} -s admin\_server\texttt{[}:port\texttt{]}]{Spécifie le serveur d'administration à contacter}
\item[\hspace{1mm} -m]{Avec kadmin.local, demande le mot de passe maître de la base au lieu de chercher un fichier stash}
\item[\hspace{1mm} -e “enc:salt...”]{Définis la liste keysalt à utiliser pour toute nouvelle clé créée.}
\item[\hspace{1mm} -O]{Force l'utilisation de l'ancienne authentification AUTH\_GSSAPI}
\item[\hspace{1mm} -N]{Empêche l'utilisation de l'ancienne authentification AUTH\_GSSAPI}
\item[\hspace{1mm} -x db\_args]{Spécifie les arguments spécifique à la base. les options supportée pour le module de base LDAP sont:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -x host=hostname]{Spécifie le serveur LDAP à contacter}
\item[\hspace{6mm} -x binddn=bind\_dn]{DN de l'objet à utiliser par le serveur d'administration pour le bind ldap.}
\item[\hspace{6mm} -x bindpwd=bind\_password]{Mot de passe pour le binddn}
\item[\hspace{6mm} -x debug=level]{Niveau de verbosité pour le client OpenLDAP.}
\end{description}
 
\vspace{1cm}{\huge Commandes }
 
\
 
\hspace{1mm}  En utilisant le client distant, les commandes disponible peuvent être restreins en accord avec les privilèges dans kadm5.acl.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge add\_principal }
 
\
 
\hspace{1mm}  Crée le principal spécifié, en demandant 2 fois le mot de passe. Si aucune stratégie de mot de passe n'est spécifiée, la stratégie nommée \textbf{default} est assignée au principal si elle existe. Cependant, créer une stratégie \textbf{default} ne va pas assigner automatiquement ce stratégie aux principaux déjà existant. Cette stratégie peut être supprimée avec l'option -clearpolicy
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -expire expdate]{(chaîne getdate\_time) Date d'expiration du principal}
\item[\hspace{6mm} -pwexpire pwexpdate]{(chaîne getdate\_time) Date d'expiration du mot de passe}
\item[\hspace{6mm} -maxlife maxlife]{(chaîne getdate\_time) Durée de vie de ticket max pour le principal}
\item[\hspace{6mm} -maxrenewlife maxrenewlife]{(chaîne getdate\_time) Durée de vie de renouvellement max des tickets}
\item[\hspace{6mm} -kvno kvno]{Numéro de version de clé initial}
\item[\hspace{6mm} -policy policy]{Stratégie de mot de passe utilisé par ce principal.}
\item[\hspace{6mm} -clearpolicy]{Empêche l'assignation automatique d'une stratégie si non spécifiée par -policy}
\item[\hspace{6mm} \{-|+\}allow\_postdated]{Droit d'obtenir des tickets post-datés}
\item[\hspace{6mm} \{-|+\}allow\_forwardable]{Droit d'obtenir des tickets forwardable}
\item[\hspace{6mm} \{-|+\}allow\_renewable]{Droit d'obtenir des tickets renouvelable}
\item[\hspace{6mm} \{-|+\}allow\_proxiable]{Droit d'obtenir des tickets proxiable}
\item[\hspace{6mm} \{-|+\}allow\_dup\_skey]{Droit d'effectuer une authentification user-to-user}
\item[\hspace{6mm} \{-|+\}requires\_preauth]{force le principal à ce pré-authentifier}
\item[\hspace{6mm} \{-|+\}requires\_hwauth]{Utiisation d'un hardware pour la pré-authentification}
\item[\hspace{6mm} \{-|+\}ok\_as\_delegate]{flag okay as delegate dans les tickets fournis avec ce principal en tant que service.}
\item[\hspace{6mm} \{-|+\}allow\_svr]{Droit de délivrer des tickets de service pour ce principal}
\item[\hspace{6mm} \{-|+\}allow\_tgs\_req]{Droit d'obtenir un TGS pour un ticket de service pour ce principal}
\item[\hspace{6mm} \{-|+\}allow\_tix]{Droit d'obtenir un ticket pour ce principal}
\item[\hspace{6mm} \{-|+\}needchange]{Force le changement de mot de passe à la prochaine authentification}
\item[\hspace{6mm} \{-|+\}password\_changing\_service]{Marque ce principal comme principal de service de changement de mot de passe}
\item[\hspace{6mm} \{-|+\}ok\_to\_auth\_as\_delegate]{Droit d'obtenir des tickets forwardable à soi-même depuis des utilisateurs arbitraires}
\item[\hspace{6mm} \{-|+\}no\_auth\_data\_required]{Droit d'ajouter des données PAC ou AD-SIGNEDPATH}
\item[\hspace{6mm} -randkey]{Définis la clé du principal à une valeur aléatoire}
\item[\hspace{6mm} -nokey]{Crée un principal sans clé}
\item[\hspace{6mm} -pw password]{Définis de mot de passe pour ce principal}
\item[\hspace{6mm} -e enc:salt,...]{Utilise la liste de keysalt pour les clés de ce principal.}
\item[\hspace{6mm} -x db\_princ\_args]{Options spécifique à la base:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{12mm} -x dn=dn]{Spécifie l'objet LDAP qui va contenir le principal Kerberos à créer}
\item[\hspace{12mm} -x linkdn=dn]{Spécifie l'objet LDAP pour lequel le nouveau principal Kerberos va pointer}
\item[\hspace{12mm} -x containerdn=container\_dn]{Spécifie le conteneur sous lequel le principal Kerberos est créé}
\item[\hspace{12mm} -x tktpolicy=policy]{Associe une stratégie de ticket au principal Kerberos}
\end{description}
 
\vspace{1cm}{\huge Note }
 
\
 
\hspace{1mm}  Les options \textbf{containerdn} et \textbf{linkdn} ne peuvent pas être spécifiés avec l'option \textbf{dn}. Si ces options ne sont pas spécifiées, les principaux sont créés sous le conteneur principal configurés dans le domaine. Ces options devraient pointer dans les sous-arborescences ou le conteneur principal configurés dans le domaine.
\vspace{5mm} \\
 
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: addprinc jennifer\\ WARNING: no policy specified for "jennifer@ATHENA.MIT.EDU";\\ defaulting to no policy.\\ Enter password for principal jennifer@ATHENA.MIT.EDU:\\ Re-enter password for principal jennifer@ATHENA.MIT.EDU:\\ Principal "jennifer@ATHENA.MIT.EDU" created.\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge modify\_principal }
 
\
 
\hspace{1mm}  Modifie le principal spécifié, en changeant les champs spécifiés. Les options de \textbf{add\_principal} s'appliquent également à cette commande, excepté \textbf{-randkey}, \textbf{-pw} et \textbf{-e}. Cette commande nécessite les privilège modify. Alias: \textbf{modprinc}
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -unlock]{Débloque un principal.}
\end{description}
 
\vspace{1cm}{\huge rename\_principal }
 
\
 
\hspace{1mm}  Renomme l'ancien principal avec le nouveau principal. Demande configuration sauf si \textbf{-force} est donné. Nécessite les privilèges add et delete. Alias: \textbf{renprinc}
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge delete\_principal }
 
\
 
\hspace{1mm}  Supprime le principal spécifié de la base. emande configuration sauf si \textbf{-force} est donné. Nécessite les privilèges delete. Alias: \textbf{delprinc}
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge change\_password }
 
\
 
\hspace{1mm}  Change le mot de passe du principal. Demande un nouveau mot de passe si \textbf{-randkey} ou \textbf{-pw} ne sont pas spécifiés. Nécessite les privilège changepw, ou que le principal qui lance ce programme est le même que le principal à changer. Aliar: \textbf{cpw}
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -randkey]{Définis la clé du principal à une valeur aléatoire}
\item[\hspace{6mm} -pw password]{Définis de mot de passe pour ce principal}
\item[\hspace{6mm} -e enc:salt,...]{Utilise la liste de keysalt pour les clés de ce principal.}
\item[\hspace{6mm} -keepold]{Conserve les clés existantes dans la base.}
\end{description}
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: cpw systest\\ Enter password for principal systest@BLEEP.COM:\\ Re-enter password for principal systest@BLEEP.COM:\\ Password for systest@BLEEP.COM changed.\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge purgekeys }
 
\
 
\hspace{1mm}  Purge les anciennes clé du principal. Si \textbf{-keepkvno} est spécifié, alors seul les clés avec des kvno inférieur sont purgés. Si \textbf{-all} est spécifié, purge toutes les clés. Nécessite le privilège modify
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge get\_principal }
 
\
 
\hspace{1mm}  Récupère les attributs du principal. L'option \textbf{-terce} affiche les champs en tant que chaîne séparés par des tabulations. Nécessite le privilège inquire, ou que le principal utilisant le programme soit le même que le principal cible. Alias: \textbf{getprinc}
\vspace{5mm} \\
 
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: getprinc tlyu/admin\\ Principal: tlyu/admin@BLEEP.COM\\ Expiration date: \texttt{[}never\texttt{]}\\ Last password change: Mon Aug 12 14:16:47 EDT 1996\\ Password expiration date: \texttt{[}none\texttt{]}\\ Maximum ticket life: 0 days 10:00:00\\ Maximum renewable life: 7 days 00:00:00\\ Last modified: Mon Aug 12 14:16:47 EDT 1996 (bjaspan/admin@BLEEP.COM)\\ Last successful authentication: \texttt{[}never\texttt{]}\\ Last failed authentication: \texttt{[}never\texttt{]}\\ Failed password attempts: 0\\ Number of keys: 2\\ Key: vno 1, DES cbc mode with CRC-32, no salt\\ Key: vno 1, DES cbc mode with CRC-32, Version 4\\ Attributes:\\ Policy: \texttt{[}none\texttt{]}\\ \hspace{2mm}\\ kadmin: getprinc -terse systest\\ systest@BLEEP.COM 3 86400 604800 1\\ 785926535 753241234 785900000\\ tlyu/admin@BLEEP.COM 786100034 0 0\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge list\_principal }
 
\
 
\hspace{1mm}  Récupère des noms de principal. L'expression est une expression glob qui peut contenir les caractères \textbf{*}, \textbf{?} et \textbf{[]}. Tous les noms de principaux qui matche l'expression sont affichés. Sans expression, liste tous les principauix. Si l'expression ne contient pas un caractère \textbf{@}, ce caractère est ajouté avec le domaine local à l'expression. Nécessite le privilège list. Alias: \textbf{listprincs, get\_principals, get\_princs}
\vspace{5mm} \\
 
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: listprincs test*\\ test3@SECURE-TEST.OV.COM\\ test2@SECURE-TEST.OV.COM\\ test1@SECURE-TEST.OV.COM\\ testuser@SECURE-TEST.OV.COM\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge get\_strings }
 
\
 
\hspace{1mm}  Affiche les attributs chaîne dans le principal. Nécessite le privilège inquire. Alias: \textbf{getstr}
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge set\_strings }
 
\
 
\hspace{1mm}  Définis un attribut chaîne dans le principal. Les attributs chaîne sont utilisés pour fournir une configuration par principal au KDC et certaine modules du KDC. Nécessite le privilège modify. Alias \textbf{setstr}. Les attributs suivants sont reconnus par le KDC:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} session\_enctypes]{Spécifie les types de chiffrement supportés pour les clés session quand le principal est authentifié en tant que serveur.}
\end{description}
 
\vspace{1cm}{\huge del\_strings }
 
\
 
\hspace{1mm}  Supprime un attribut chaîne du principal. Nécessite le privilège delete. Alias: \textbf{delstr}
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge add\_policy }
 
\
 
\hspace{1mm}  Ajoute une stratégie de mot de passe à la base. Nécessite le privilège add. Alias: \textbf{addpol}
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -maxlife time]{(chaîne getdate\_time) Définis la durée de vie max d'un mot de passe}
\item[\hspace{6mm} -minlife time]{(chaîne getdate\_time) Définis la durée de vie min d'un mot de passe}
\item[\hspace{6mm} -minlength length]{Définis la longueur maximum d'un mot de passe}
\item[\hspace{6mm} -minclasses number]{Définis le nombre minimum de classes de caractères requis dans un mot de passe. Les 5 classes sont: minuscule, majuscule, nombres, ponctuation et espaces blancs.}
\item[\hspace{6mm} -history number]{Définis le nombre de clé à conserver pour un principal. Non supporté avec le module LDAP}
\item[\hspace{6mm} -maxfailure maxnumber]{Définis le nombre d'échec d'authentification avant que le principal soit bloqué. 0 le désactive.}
\item[\hspace{6mm} -failurecountinterval failuretime]{(chaîne getdate\_time) Définis le temps permis entre les échecs d'authentification.}
\item[\hspace{6mm} -lockoutduration lockouttime]{(chaîne getdate\_time) Définis la durée pour lequel le principal est bloqué. 0 signifie que le compte est bloqué jusqu'à ce qu'un administrateur le débloque.}
\item[\hspace{6mm} -allowedkeysalts]{Spécifie les tuples key/salt supportés pour les clés à long terme en définissant ou en changeant un mot de passe de principal. Les tuples doivent être séparés par une virgule. Pour enlever le tuple de la stratégie, utiliser "-"}
\end{description}
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: add\_policy -maxlife "2 days" -minlength 5 guests\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge modify\_policy }
 
\
 
\hspace{1mm}  Modifie la stratégié de mot de passe spécifiée. Les options sont les même que pour add\_policy. Nécessite le privilège modify. Alias: \textbf{modpol}
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge delete\_policy }
 
\
 
\hspace{1mm}  Supprime la stratégie de mot de passe spécifiée. Demande confirmation. Échoue si la stratégie est utilisée par un principal. Nécessite le privilège delete. Alias: \textbf{delpol}
\vspace{5mm} \\
 
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: del\_policy guests\\ Are you sure you want to delete the policy "guests"?\\ (yes/no): yes\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge get\_policy }
 
\
 
\hspace{1mm}  Affiche les valeurs de la stratégie spécifiées. -terse affiche les champs séparés par des tabulations. Nécessite le privilège inquire. Alias: \textbf{getpol}
\vspace{5mm} \\
 
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: get\_policy admin\\ Policy: admin\\ Maximum password life: 180 days 00:00:00\\ Minimum password life: 00:00:00\\ Minimum password length: 6\\ Minimum number of password character classes: 2\\ Number of old keys kept: 5\\ Reference count: 17\\ \hspace{2mm}\\ kadmin: get\_policy -terse admin\\ admin 15552000 0 6 2 5 17\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge list\_policies }
 
\
 
\hspace{1mm}  Liste des stratégie basée sur l'expression. Nécessite le privilège list. Alias: \textbf{listpols, get\_policies, getpols}
\vspace{5mm} \\
 
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: listpols\\ test-pol\\ dict-only\\ once-a-min\\ test-pol-nopw\\ \hspace{2mm}\\ kadmin: listpols t*\\ test-pol\\ test-pol-nopw\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ktadd }
 
\
 
\hspace{1mm}  Ajoute un principal, ou tous les principaux matchant l'expression de l'option glob, à chaque fichier keytab. Chaque clé de principal est randomisé dans le processus. Nécessite les privilèges inquire et changepw. pour utiliser -glob, nécessite le privilège list.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -k\texttt{[}eytab\texttt{]} keytab]{Utilise le fichier keytab spécifié}
\item[\hspace{6mm} -e enc:salt,...]{Utilise la liste keysalt spécifiée}
\item[\hspace{6mm} -q]{mode silencieux}
\item[\hspace{6mm} -norandkey]{Ne randomise pas les clé. Ne peut pas être utilisé avec -e.}
\end{description}
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: ktadd -k /tmp/foo-new-keytab host/foo.mit.edu\\ Entry for principal host/foo.mit.edu@ATHENA.MIT.EDU with kvno 3,\\ \hspace{2mm}encryption type aes256-cts-hmac-sha1-96 added to keytab\\ \hspace{2mm}FILE:/tmp/foo-new-keytab\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ktremove }
 
\
 
\hspace{1mm}  Supprime des entrées pour le principal spécifié du keytab. Ne nécessite aucune permission. Si all est spéficié, toutes les entrées pour le principal sont supprimés; si old est spécifié, toutes les entrée sauf le kvno le plus récent sont supprimés. Si kvno est spécifié, supprime les entrées avec ce kvno.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -k\texttt{[}eytab\texttt{]} keytab]{Utilise le fichier keytab spécifié}
\item[\hspace{6mm} -q]{mode silencieux}
\end{description}
 
\hspace{1mm} Exemple
 
{\ttfamily
kadmin: ktremove kadmin/admin all\\ Entry for principal kadmin/admin with kvno 3 removed from keytab\\ \hspace{2mm}FILE:/etc/krb5.keytab\\ kadmin:\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge lock }
 
\
 
\hspace{1mm}  Bloque la base. Ne fonctionne qu'avec le module DB2
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge unlock }
 
\
 
\hspace{1mm}  Réactive la base après un lock
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge list\_requests }
 
\
 
\hspace{1mm}  Liste les demandes kadmin disponible. Alias \textbf{lr, ?}
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge quit }
 
\
 
\hspace{1mm}  Quitte le programme. Alias \textbf{exit,q}
\vspace{5mm} \\
 
\end{flushleft}
\end{document}
