26/02/16
Multi-tâches, multi-utilisateurs, un noyau qui gère tout
Conforme à la norme POSIX
Idem à UNIX
Multi-platforme (Intel, AMD, Alpha, Sparc, PPC, etc.)
Gestion dynamique des pilotes de périphériques (modules)
Support de multiples systèmes de fichiers
GNU/Linux est un système d’éxploitation sur le quel ont peut “gréfer” des blocs suplémentaires.
Une fois les blocs gréfés et packagés nous obtenons une “distribution”. Il exsite un très très très grand nombre de distributions.

L’ensemble des fichiers est architecturé autour d’une unique arborescence dont la base, appelée racine, est notée “/”.
Pour assurer la compatibilité et la portabilité, les systèmes UNIX respectent la norme FHS (File Hierarchy Standard).

Signification des caractères suivants :
‘.’ (point) : est le répertoire courant
‘..’ (point point) : est le répertoire du dessus ou le répertoire parent
‘~’ (tilde) : le répertoire de l’utilisateur connecté
‘~userid’ : Le répertoire de l’utilisateur <userid>
Les commandes utiles :
cd (change directory) : Change de répertoire courant
pwd (print working directory) : Afficher le nom du répertoire courant
Sur les systèmes UNIX tout élément est représenté sous la forme de fichier.
Une imprimante est un device représenté par /dev/lp
Un disque dur est un device représenté par /dev/sda
Les fichiers physiques (-:normal file)
Les répertoires (d:directory)
Les liens physiques
Les liens symboliques (l:link)
Les fichiers virtuels (/proc)
Les fichiers de périphériques “device file” (/dev)
block devices (b:block_dev)
character devices (c:char_dev)
Les sockets (s:socket)
Les pipes nommés (p:pipe)
Résultat de la commande “‘ls -ld rep1’” :
-:normal file,b:block_dev,c:char_dev,d:directory,l:link
|
| number of hard links dirname
| | |
drwxr-xr-x 1 test users 1024 Sep 30 11:42 rep1
| | | |
| | others:read,execute last modif date,time
| group:read,execute
user:read,write,execute USER (u) GROUP (g) OTHERS (o)
read write exec read write exec read write exec
400 200 100 40 20 10 4 2 1
Par exemple "rwxr-x---" peut s écrire "750"sticky bit (valeur octal : 1000): ’x’ est remplacé par ’t’ dans les permissions “others”.
Sur un répertoire en 777, un utilisateur pourra supprimer, seulement les fichiers dont il est le propriétaire.
setgid (valeur octal : 2000): ’x’ est remplacé par ’s’ dans les permissions “group”.
Sur un exécutable, il permet la substitution du GID.
Sur un répertoire, les fichiers créés à l’intérieur héritent du GID.
setuid (valeur octal : 4000): ’x’ est remplacé par ’s’ dans les permissions “user”.
Sur un exécutable, il permet la substitution de l’ID utilisateur.
Exemple :
drwxrwxrwt 9 root root 4096 nov 15 13:17 /tmp
-rwxr-sr-x 1 root tty 9888 avr 29 2008 /usr/bin/wall
-rwsr-xr-x 1 root root 31704 nov 14 2009 /usr/bin/passwdLa commande chmod permet de changer les permissions d’accès d’un fichier. En utilisant une valeur octale ou un modificateur :
chmod 775 fichier
chmod u+x,g=rwx,o-wx fichier
ls (list) : Liste les fichiers d’un répertoire
mkdir (make directory) : Permet de créer un répertoire
rmdir (remove directory) : Supprimer un répertoire vide
cat (concatenate) : Crée/affiche le contenu d’un fichier ou plusieurs fichiers concaténés
cp (copy) : Copier un fichier
mv (move) : Déplacer ou renommer des fichiers
rm (remove) : Effacer un fichier
ln (link) : Permet de créer des liens (raccourcis)
chmod (change file mode) : Modifier les bits de comportement de fichier
chown (change file owner) : Modifier le propriétaire et le groupe d’un fichier
chgrp (change file group) : Changer le groupe propriétaire d’un fichier
umask (user mask) : Fixer le masque de création de fichiers
Pour otenir de l’aide sur une commande
Utiliser : “man <commande>” ou “<commande> –help” ou “info <commande>”
ex :
loc. m. Un administrateur peut avoir à gérer un réseau, une base de données, une application spécifique, un système informatique, […].
Dans le cas d’un SI, l’administrateur en est le responsable au niveau de son fonctionnement, de son exploitation, de son évolution et de sa sécurité.
Il est aussi appelé : Admin, Root, SysAdmin, SysOP, etc.
Installer des serveurs et des postes clients
Configuration poste client/serveurs
Mettre à jour les systèmes
Faire évoluer le parc informatique (matériel, volumes de données)
Planifier des interventions
Superviser (système d’alerte)
Gérer les comptes utilisateurs
Maintenir un état de fonctionnement optimal (temps de réponse, volumes de données …)
Résoudre des incidents, traiter les demandes
Gérer les sauvegardes et les restaurations
Conseiller (les utilisateurs, sa hiérarchie)
Garantir la sécurité (accessibilité, intégrité, confidentialité des données)
Ses concepts et son architecture (noyau, processus, système de fichier, etc.)
Ses interpréteurs de commande (bash, ksh, zsh, etc.)
Ses utilitaires et ses outils (crontab, dd, vi, etc.)
Les bases (équipements, TCP/IP, routage, vlan, dhcp, etc.)
Les services (DNS, HTTP, NIS, Samba, SMTP, SSH, etc.)
Les outils de diagnostic réseau (traceroute, tcpdump, arping, etc.)
Obsolésence, capacité, évolution
Réparation
Les équipements matériels
Les produits logiciels (utilisés par les utilisateurs)
Les besoins des utilisateurs
Les laboratoires Bell (filiale AT&T) ont besoin pour leur usage interne, d’un système d’exploitation pour le traitement de textes et le développement d’applications. Ken Thompson et Dennis RITCHIE sont chargés de ce travail, ils s’inspirent de Multics (MULTiplexed Information and Computing Service).
Apparition de la 1ère version d’UNIX.
Alors que le protocole TCP/IP est développé, Denis Ritchie réécrit entièrement UNIX en langage C, langage qu’il a alors inventé dans ce but précis, pour le rendre plus portable. Ceci explique les liens profonds entre le langage C et UNIX.
AT&T propose les 1ères licences aux universités ce qui apporta un enrichissement en extensions et en utilitaires variés à UNIX (en particulier, l’Université de Berkeley). Cette date correspond au début de la popularité et de la diversité d’UNIX. Bill Joy invente un autre UNIX, le système BSD (Berkeley Software Development).
AT&T présente à l’industrie les 1ères versions commerciales.
La DARPA (Defense Advanced Research Projects Agency) commence à utiliser UNIX, le nombre de personnes impliquées croît vite. Le steering committee est formé pour aider à définir l’évolution du système.
L’idée d’une exploitation libre des logiciels sous une forme structurée naît et la FSF (Free Software Foundation) est créée sous l’impulsion de Richard Stallman.
Un professeur américain domicilié aux Pays-Bas, Andrew S. Tanenbaum, développe Minix, un UNIX “minimal”, afin d’enseigner les concepts des systèmes d’exploitation à ses étudiants.
La FSF publie la première version de la licence publique générale GNU. Lancement du projet GNU (logiciels + Hurd).
Un étudiant finlandais, Linus Torvalds, décide de concevoir, sur le modèle de Minix, un système d’exploitation capable de fonctionner sur les architectures à base de processeur Intel 80386. Alors que le noyau est alors à un stade expérimental, il poste un message sur le groupe de discussion comp.os.minix.
Trente ans après la création d’UNIX, K. Thompson et D. Ritchie sont décorés par le Président américain B. Clinton.
Grâce au développement de Linux et des programmes GNU, le public et le marché redécouvrent la supériorité technique d’UNIX.
Linux est désormais un vrai système 32 ou 64 bits, multi-tâches, multi-utilisateurs, et effectue tout ce qu’on peut attendre d’un ordinateur moderne (bureautique, multimédia, programmation, …).
Quand un utilisateur se connecte, il fournit un nom de connexion (login) et un mot de passe (password). Si la connexion réussit, un shell est lancé et l’utilisateur se retrouve dans son répertoire de travail (working directory) qui est initialement son répertoire de connexion (login directory). Ces informations sont placées dans les fichiers /etc/passwd, /etc/shadow et /etc/group.
virgile login : gastier
Password:
Linux astier-g-server 5.13.0-30-generic
Last login: Sun Feb 21 12:07:37 CET 2022 on pts/3
You have new mail.
gastier@virgile:~$login:passwd:UID:GID:GCOS:homedir:shell
Exemple : bob:x:10000:1000:Bob:/home/bob:/bin/bash
‘login’ : nom de connexion
‘passwd’ : mot de passe chiffré
‘UID’ (User Identification) : numéro d’identification de l’utilisateur
‘GID’ (Group Identification) : numéro du groupe d’appartenance de l’utilisateur
‘GCOS’ : description, contient généralement le nom et le prénom
‘homedir’ (home directory) : répertoire de connexion
‘shell’ : commande à exécuter lors de la connexion (générallement l’interpréteur de commande)
user1:1Sh1R1/Sl$FfPQjULAhevhi4n7AV.xg.:14393:0:99999:7:::
nom de connexion
mot de passe chiffré
date du dernier changement de mot de passe
nombre de jours à attendre avant de pouvoir changer le mot de passe
nombre de jours après lesquels le mot de passe doit être changé
nombre de jours avant la fin de validité du mot de passe
date depuis laquelle le compte est désactivé
date de fin de validité du compte
champ réservé
groupname:passwd:GID:members
Exemple : isen:x:1000:alice,kevin
‘groupname’ : Le nom du groupe
‘passwd’ : mot de passe chiffré
‘GID’ (Group Identification) : identifiant du groupe
‘members’ : membres du groupe, séparés par une virgule
Sur tout système UNIX, il y a un super-utilisateur, généralement appelé ‘root’, qui a tous les pouvoirs. Il peut accéder librement à toutes les ressources de la machine. Cet utilisateur a son UID et son GID fixés à 0.
root:x:0:0:root:/root:/bin/bash
passwd (password) : Permet de changer le mot de passe d’un utilisateur
useradd : Permet de créer un nouvel utilisateur
usermod : Permet de modifier les paramètres d’un utilisateur
userdel : Permet de supprimer un utilisateur
groupadd : Permet de créer un nouveau groupe
groupmod : Permet de modifier les paramètres d’un groupe
groupdel : Permet de supprimer un groupe
id, whoami : Permet d’identifier l’utilisateur
who, w : Permet d’identifier qui est connecté
last, lastlog : Permet d’identifier qui a été connecté