Verified Commit 4a860108 authored by Stephane Bonnet's avatar Stephane Bonnet
Browse files

Presque!

parent eb69bb6b
......@@ -7,7 +7,7 @@
\begin{block}{Utilisateur}
Deux catégories:
\begin{itemize}
\item Utilisateurs \emph{système} utilisés pour limiter l'accès à des programmes ou des fichiers.
\item Utilisateurs \emph{système} utilisés pour la sécurité du système.
\item Utilisateurs \emph{normaux} qui sont voués à se servir du système.
\end{itemize}
Un utilisateur est identifié par un nombre, l'\textbf{uid} (\emph{user id}) auquel est
......@@ -49,6 +49,23 @@
Ici, le fichier \cmd{/etc/shadow} appartient à l'utilisateur \cmd{root} et au groupe \cmd{shadow}.
\end{frame}
\begin{frame}[fragile]{Utilisateurs et groupes}
\framesubtitle{Changement de propriétaire}
Seul le superutilisateur peut changer le propriétaire de fichiers ou de répertoires au moyen
des commandes suivantes:
\begin{itemize}
\item \cmd{chown} change l'utilisateur propriétaire (et éventuellement le groupe)
\item \cmd{chgrp} change le groupe propriétaire
\end{itemize}
\begin{exampleblock}{}
\cmd{chown newuser:newgroup /my/file}
\cmd{chgrp newgroup /my/file}
\end{exampleblock}
\end{frame}
\begin{frame}[fragile]{Qui suis-je?}
Les commandes suivantes permettent d'identifier l'utilisateur courant et les groupes auxquel il est associé.
......@@ -71,6 +88,7 @@ bonnetst adm cdrom sudo dip plugdev lpadmin sambashare
\end{beamercolorbox}
\end{frame}
\begin{frame}{Devenir grand chef}
\framesubtitle{Utilisateurs et processus}
\begin{itemize}
......@@ -138,35 +156,165 @@ bonnetst adm cdrom sudo dip plugdev lpadmin sambashare
\subsection{Permissions}
\begin{frame}{Les permissions}
%% permissions fichiers
Les fichiers et répertoires appartiennent à un utilisateur et à un groupe. Les permissions d'accès sont définies pour:
\begin{itemize}
\item Le propriétaire du fichier (\emph{user}): \textbf(u).
\item Le groupe du fichier: \textbf(g).
\item Le reste du monde (\emph{others}): \textbf(o).
\end{itemize}
Les permissions d'accès peuvent être en:
\begin{itemize}
\item Lecture (\emph{read}): \textbf(r).
\item Écriture (\emph{write}): \textbf(w).
\item Exectution (\emph{eXecute}): \textbf(x).
\end{itemize}
\end{frame}
\begin{frame}[fragile]{Les permissions}
\frametitle{Visualisation des permissions}
``\cmd{ls -l}'' affiche les permissions d'un fichier ou d'un dossier.
\begin{beamercolorbox}[wd=\linewidth,rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ cd ~/api
$ ls -l file_1
-rw-r--r-- 1 bonnetst bonnetst 0 janv. 21 14:12 file_1
\end{Verbatim}
\end{beamercolorbox}
\end{frame}
\begin{frame}[fragile]{Les permissions}
\frametitle{Interprétation}
\begin{itemize}
\item -\textcolor{blue}{rw-}r-{}-r-{}- indique les permissions pour le propriétaire
\item -rw-\textcolor{blue}{r-{}-}r-{}- indique les permissions pour le groupe
\item -rw-r-{}-\textcolor{blue}{r-{}-} indique les permissions pour les autres
\end{itemize}
\end{frame}
\subsection{Variables}
\begin{frame}{Un peu de mémoire : les variables}
%% Définir une variable
%% setenv / export
\begin{frame}[fragile]{Les variables}
Le shell permet de définir et d'utiliser des variables.
\begin{block}{Variable}
\begin{itemize}
\item Identifiée par son nom
\item Affectée d'une valeur
\item Elle peut être locale au shell
\item Elle peut être exportée. Dans ce cas, on parle de variable d'environnement.
\end{itemize}
\end{block}
\begin{block}{Manipulation des variables}
\begin{itemize}
\item \cmd{myvar="hello"} Crée la variable \cmd{myvar} et y affecte la chaîne "hello".
\item \cmd{export MYVAR="hello"} Crée la variable d'environnement \cmd{MYVAR}.
\item \cmd{unset myvar} Supprime la variable \cmd{myvar}.
\item \cmd{\$myvar} accède à la valeur de la variable \cmd{myvar}.
\end{itemize}
\end{block}
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ myvar="hello"
$ echo $myvar
hello
\end{Verbatim}
\end{beamercolorbox}
\end{frame}
\begin{frame}{\cmd{PATH}}
\end{frame}
\begin{frame}[fragile]{Export de variables}
\begin{frame}{\cmd{PS1}}
\begin{block}{Export}
Une variable exportée est connue de tous les processus lancés à partir du shell où elle a été définie.
Elle est héritée par tous les processus enfants. Elle fait partie de leur environnement.
\end{block}
\begin{beamercolorbox}[wd=\linewidth,rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ myvar="hello"
$ export MYVAR="hello export"
$ bash \textcolor{yellow}{<----- A partir de ce point, on est dans un second shell}
$ echo $myvar
$ echo $MYVAR
hello export
\end{Verbatim}
\end{beamercolorbox}
\end{frame}
\begin{frame}{Variables de sortie}
\begin{frame}[fragile]{Variable PATH}
\begin{itemize}
\item Spécifie les chemins où seront recherchées les commandes
\item Variable extrêmement importante. Si un répertoire qui contient des commandes n'est pas dans le PATH,
il faudra spécifier son chemin complet pour pouvoir la lancer.
\end{itemize}
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ which ls
/bin/ls
\end{Verbatim}
\end{beamercolorbox}
\begin{block}{\cmd{which}}
\cmd{which} affiche l'emplacement d'une commande.
Recherche dans tous les répertoires du PATH.
\end{block}
\end{frame}
\subsection{Enchaînement de commandes}
\begin{frame}[fragile]{Variable PS1}
\begin{frame}{\&\& et ||}
\begin{itemize}
\item Spécifie le format du prompt du shell.
\item On peut tenter de la redéfinir pour personnaliser sont shell.
\item RTFM!
\end{itemize}
\end{frame}
\subsection{Fichiers de configuration}
\begin{frame}[fragile]{Valeurs de retour}
\begin{frame}{Les différents fichiers de configuration de \cmd{bash}}
\begin{block}{Valeur de retour}
\begin{itemize}
\item Toutes les commandes retournent une valeur qui indique qu'elles ont réussi ou échoué.
\item La valeur 0 indique le succès, toutes les autres valeurs l'échec.
\item La variable du shell \cmd{\$?} contient cette valeur à la fin de chaque commande.
\end{itemize}
\end{block}
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ true
$ echo $?
0
$ false
$ echo $?
1
\end{Verbatim}
\end{beamercolorbox}
\end{frame}
\begin{frame}{.bashrc}
\subsection{Fichiers de configuration}
\begin{frame}[fragile]{Les différents fichiers de configuration de \cmd{bash}}
\cmd{bash} exploite plusieurs fichiers de configuration:
\begin{itemize}
\item \cmd{/etc/bash.bashrc} est le fichier de configuration global, commun à tous les utilisateurs
\item \verb+~/.bashrc+ est le fichier de configuration spécifique à l'utilisateur
\end{itemize}
\begin{block}{\cmd{.bashrc}}
Les commandes de ce fichier sont exécutées par \cmd{bash} au démarrage.
Il suffit donc d'y ajouter toute personnalisation pour qu'elle soit prise en compte.
\end{block}
\end{frame}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment