Feat: ajoute le cours sur les systèmes de fichiers et les permissions
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
18d4bab898
commit
270398bf16
BIN
1NSI/03_Systeme_dexploitation/3B_fichiers_permissions.pdf
Normal file
BIN
1NSI/03_Systeme_dexploitation/3B_fichiers_permissions.pdf
Normal file
Binary file not shown.
176
1NSI/03_Systeme_dexploitation/3B_fichiers_permissions.tex
Executable file
176
1NSI/03_Systeme_dexploitation/3B_fichiers_permissions.tex
Executable file
@ -0,0 +1,176 @@
|
|||||||
|
\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}
|
1
1NSI/03_Systeme_dexploitation/annexes/3B_chmod.shell
Normal file
1
1NSI/03_Systeme_dexploitation/annexes/3B_chmod.shell
Normal file
@ -0,0 +1 @@
|
|||||||
|
chmod [ugo][+-=][rwx] fichier
|
1
1NSI/03_Systeme_dexploitation/annexes/3B_chown.shell
Normal file
1
1NSI/03_Systeme_dexploitation/annexes/3B_chown.shell
Normal file
@ -0,0 +1 @@
|
|||||||
|
chown [PROPRIO][:GROUP] fichier
|
6
1NSI/03_Systeme_dexploitation/annexes/3B_ls.shell
Normal file
6
1NSI/03_Systeme_dexploitation/annexes/3B_ls.shell
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
user@server:$ ls -l
|
||||||
|
-rw-r--r-- 1 Me users 21 7 sept. 21:25 config.yml
|
||||||
|
-rw-r--r-- 1 Me users 1037 20 oct. 10:54 docker-compose.yml
|
||||||
|
drwxr-xr-x 2 root root 4096 7 sept. 18:13 log
|
||||||
|
-rw-r--r-- 1 Me users 486 7 sept. 18:14 traefik.yml
|
||||||
|
-rwxrx-r-- 1 Me users 486 7 sept. 18:14 script.sh
|
BIN
1NSI/03_Systeme_dexploitation/fig/linux-fs.png
Normal file
BIN
1NSI/03_Systeme_dexploitation/fig/linux-fs.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
@ -25,6 +25,13 @@ Elements du programme
|
|||||||
Progression
|
Progression
|
||||||
===========
|
===========
|
||||||
|
|
||||||
|
Plan de travail
|
||||||
|
|
||||||
|
.. image:: ./plan_de_travail.pdf
|
||||||
|
:height: 200px
|
||||||
|
:alt: Plan de travail
|
||||||
|
|
||||||
|
|
||||||
Étape 1: système d'exploitation, classe renversée
|
Étape 1: système d'exploitation, classe renversée
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
@ -44,7 +51,7 @@ Le bilan se fera à partir des diapos commentées et complétées.
|
|||||||
|
|
||||||
Cours: anatomie d'une commande shell
|
Cours: anatomie d'une commande shell
|
||||||
|
|
||||||
.. image:: ./1B_command_memo.pdf
|
.. image:: ./2B_command_memo.pdf
|
||||||
:height: 200px
|
:height: 200px
|
||||||
:alt: Commande linux
|
:alt: Commande linux
|
||||||
|
|
||||||
@ -71,3 +78,9 @@ Exercices techniques sur ordinateur ou au papier.
|
|||||||
|
|
||||||
Étape 4: Gérer les droits
|
Étape 4: Gérer les droits
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
|
Cours: arborescence et permissions
|
||||||
|
|
||||||
|
.. image:: ./3B_fichiers_permissions.pdf
|
||||||
|
:height: 200px
|
||||||
|
:alt: arborescence et permissions
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user