Bertrand Benjamin
270398bf16
All checks were successful
continuous-integration/drone/push Build is passing
177 lines
5.5 KiB
TeX
Executable File
177 lines
5.5 KiB
TeX
Executable File
\documentclass[a4paper,10pt]{article}
|
|
\usepackage{myXsim}
|
|
\usepackage{minted}
|
|
|
|
\author{Bertrand Benjamin}
|
|
\title{Système d'exploitation - Cours}
|
|
\date{octobre 2022}
|
|
|
|
\pagestyle{empty}
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
\setcounter{section}{2}
|
|
|
|
\section{Système de fichiers}
|
|
|
|
\subsection{Arborescence et chemin}
|
|
|
|
Sous les systèmes Linux les fichiers sont représentés sous forme d'arborescence dont voici un exemple ci-dessous.
|
|
\begin{center}
|
|
\includegraphics[scale=0.7]{./fig/linux-fs}
|
|
\end{center}
|
|
|
|
Les fichiers sont repérés par leur \textbf{chemin}:
|
|
\begin{itemize}
|
|
\item \textbf{absolu}: c'est à dire depuis la racine.
|
|
\item \textbf{relatif}: c'est à dire depuis le répertoire courant.
|
|
\end{itemize}
|
|
|
|
\paragraph{Exemple:}
|
|
Supposons que l'on soit dans le répertoire \texttt{/home/user-1} de l'exemple précédent.
|
|
|
|
\afaire{Donner le chemin relatif et absolu des fichiers \texttt{image.png} puis \texttt{fstab}}
|
|
|
|
\paragraph{Exemple - correspondance URL et chemin de fichier:}
|
|
Dans le configuration du serveur NSI, il y a une correspondance entre le chemin relatif des fichiers à partir de \texttt{public\_html} et l'url d'accès \url{http//192.168.221.206/~USER/}.
|
|
|
|
Correspondance
|
|
|
|
\begin{center}
|
|
\begin{tabular}{p{0.45\textwidth}|p{0.45\textwidth}}
|
|
Système de fichier & Url \\
|
|
\hline
|
|
\url{/home/USER/public_html/mapage.html} & \\
|
|
\hline
|
|
& \url{http//192.168.221.206/~USER/asset/image.jpg} \\
|
|
\hline
|
|
\url{/home/USER/mapage.html} & \\
|
|
\hline
|
|
& \url{http//192.168.221.206/~USER/../password} \\
|
|
\hline
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
\afaire{Compléter le tableau}
|
|
|
|
\pagebreak
|
|
|
|
\subsection{Droits et permissions}
|
|
|
|
\begin{definition}[ Utilisateur et groupe ]
|
|
Linux est un système d'exploitation multi-utilisateur. C'est à dire qu'il est capable de faire cohabiter plusieurs utilisateurs et de leur donner des droits appropriés.
|
|
|
|
L'utilisateur \textbf{root} est le superutilisateur, il peut faire absolument tout ce qu'il veux sur le système. Les autres utilisateurs sont définis dans le fichier \url{/etc/passwd}.
|
|
|
|
Chaque utilisateur est membre d'un groupe. La liste des groupes est définis dans le fichier \url{/etc/group}. Pour connaître les groupes auquel on appartient, on peut utiliser la commande \mintinline{bash}{groups}.
|
|
\end{definition}
|
|
|
|
\begin{definition}[ Droits et permissions ]
|
|
Sur les systèmes linux, tout est fichier. L'accès aux fichiers permet de définir ce que l'utilisateur ou le groupe aura le droit de faire.
|
|
|
|
À chaque fichier est attribué les éléments suivants
|
|
\begin{multicols}{2}
|
|
Trois catégories d'accès
|
|
|
|
\begin{itemize}
|
|
\item le propriétaire (ou \textit{owner}) noté \texttt{u}
|
|
\item le group (ou \textit{group}) noté \texttt{g}
|
|
\item les autres (ou \textit{other}) noté \texttt{o}
|
|
\end{itemize}
|
|
|
|
Trois niveaux d'accès
|
|
\begin{itemize}
|
|
\item lecture noté \texttt{r} (read)
|
|
\item écriture noté \texttt{w} (write)
|
|
\item exécution noté \texttt{x} (execute)
|
|
\end{itemize}
|
|
\end{multicols}
|
|
|
|
Ces attributs sont accessibles par la commande \mintinline{bash}{ls -l}.
|
|
|
|
\end{definition}
|
|
|
|
\paragraph{Exemple}
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.8\linewidth}
|
|
\inputminted[bgcolor=base3]{bash}{./annexes/3B_ls.shell}
|
|
\end{minipage}
|
|
\end{center}
|
|
|
|
\begin{multicols}{2}
|
|
Pour le fichier \texttt{config.yml}
|
|
|
|
\begin{center}
|
|
\begin{tabular}{|c|p{1cm}|c|c|c|}
|
|
\hline
|
|
& Qui & Lecture & Écriture & Execution \\
|
|
\hline
|
|
propriétaire & & & & \\
|
|
\hline
|
|
groupe & & & & \\
|
|
\hline
|
|
autres & & & & \\
|
|
\hline
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
Pour le fichier \texttt{script.sh}
|
|
|
|
\begin{center}
|
|
\begin{tabular}{|c|p{1cm}|c|c|c|}
|
|
\hline
|
|
& Qui & Lecture & Écriture & Exécution \\
|
|
\hline
|
|
propriétaire & & & & \\
|
|
\hline
|
|
groupe & & & & \\
|
|
\hline
|
|
autres & & & & \\
|
|
\hline
|
|
\end{tabular}
|
|
\end{center}
|
|
\end{multicols}
|
|
|
|
\afaire{compléter les tableaux}
|
|
|
|
\paragraph{Remarque:} l'utilisateur \texttt{root} pourra toujours faire tout ce qu'il veut sur tous les fichiers.
|
|
|
|
\subsection{Changer les droits}
|
|
|
|
Pour changer le propriétaire d'un fichier, on utilise la commande
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.8\linewidth}
|
|
\inputminted[bgcolor=base3]{bash}{./annexes/3B_chown.shell}
|
|
\end{minipage}
|
|
\end{center}
|
|
|
|
|
|
Pour changer les droits d'un fichier, on utilise la commande
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.8\linewidth}
|
|
\inputminted[bgcolor=base3]{bash}{./annexes/3B_chmod.shell}
|
|
\end{minipage}
|
|
\end{center}
|
|
|
|
\paragraph{Exemples}
|
|
\begin{enumerate}
|
|
\item Commande ajoutant les droits d'écriture au groupe. \\
|
|
|
|
\item Commande enlevant les droits d'écriture et de lecture aux autres. \\
|
|
|
|
\item Commande enlevant les droits de lecture au groupe et aux autres. \\
|
|
\end{enumerate}
|
|
|
|
\afaire{Proposer une commande}
|
|
|
|
\paragraph{Remarque:} l'option \texttt{-R} permet d'appliquer la règle à tous les fichiers contenus dans un répertoire.
|
|
|
|
|
|
|
|
\end{document}
|