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:
		
							
								
								
									
										
											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.
										
									
								
							
		Reference in New Issue
	
	Block a user