Maxime CHAMBREUIL - Samy FOUILLEUX - ASI3 - Année 2001 / 2002
SE : TP7 |
Le noyau de win98 est composé de C:/windows/system32/io.sys, C:/windows/msdos.sys et C:/windows/system32/krnl386. On peut modifier et déplacer ses 3 fichiers, il n'y a donc aucune sécurité.
Le noyau de Linux se trouve dans le fichier /boot/vmlinuz avec tous les droits d'accés et root est son propriétaire.
Sous windows, l'interpréteur de commande par défaut, c'est le fichier command.com. Il se trouve dans le répertoire C:/windows/system32/. Il n'y a pas d'autres interpréteurs de commandes sous win98. Les fonctionnalités de Command sont les opérations sur les fichiers ou les répertoires (déplacement, création, effacement, etc...) et le lancement de quelques applications : format, fdisk, notepad.
Sous Linux, l'interpréteur de commande se trouve sous /bin/bash/. Voici une liste de tous les interpréteurs de commandes disponibles avec leurs fonctionnalités : annexe.html#com
Avec win98, sont fournis des éditeurs de texte : Notepad, Wordpad; des éditeurs d'images : paint, Imaging; une calculatrice; des jeux : démineur, solitaire; des utilitaires système : Vumètre, défragmenteur de disque; des applications multimédia : MediaRack, WindowsMediaPlayer; et des applications réseau : navigateur web, observateur réseau. Win98 ne présente aucun utilitaire de programmation.
Avec Linux, sont fournis kwrite, emacs, kword (edit de texte); Gimp(Image); une calculatrice; Mozilla, Kmail, gftp(util reseau); Kdevelop (util programmation);KdeMediaPlayer, CD Player (Multimedia).
Pour créer une disquette de démarrage sous windows98, dans Panneau de configuration puis Ajout/Suppression de programmes, on choisit l'onglet Disquette de démarrage et on clique sur le bouton Créer une disquette de démarrage. Cette disquette contient alors :
AUTOEXEC.BAT CONFIG.SYS SETRAMD.BAT LISEZMOI.TXT FINDRAMD.EXE RAMDRIVE.SYS ASPI4DOS.SYS BTCDROM.SYS ASPICD.SYS |
BTDOSM.SYS ASPI2DOS.SYS ASPI8DOS.SYS ASPI8U2.SYS FLASHPT.SYS EXTRACT.EXE FDISK.EXE DRVSPACE.BIN COMMAND.COM | HIMEM.SYS OAKCDROM.SYS EBD.CAB DISPLAY.SYS COUNTRY.SYS EGA.CPI MODE.COM KEYBOARD.SYS KEYB.COM |
qui permet de booter sur la disquette et démarrer le système avec ou sans prise en charge du CD-ROM, de modifier les partitions du disque (fdisk.exe), etc...
Sous Linux, lors de l''installation du sytème, on nous propose de créer une disquette de démarrage. Celle-ci contient le noyau minimal pour sa réinstallation, le système de fichiers,etc...vous trouverez quelques explications en anglais ici.
II / Initiation aux commande de bases d'Unix
1 ) Connexion sur le serveur
[ ] $ telnet asi
login : mchambre
password :
[mchambre@servasi mchambre]$
2 ) Votre environnement
$more /etc/passwd
Dans le champ 1, on a le login de tous les utilisateurs; le champ 6 indique le chemin absolu de son répertoire-compte et le 7 indique son interpréteur de commandes. Cependant la ligne se présente de la façon suivante :
login : X : id : gid : description : localisation du compte : interpréteur
Un utilisateur est la "id"-ième personne à avoir ouvert un compte et elle appartient au groupe caractérisé par le numéro "gid". La description correspond au nom et prénom de l'utilisateur.
$whoami
mchambre
Cette commande renvoie le login de connexion de l'utilisateur.
$who am i
servasi!mchambre pts/7 Nov 12 21:03
Donc, je me suis connecté sur servasi le 12 novembre à 21h03. pts/7 a un rapport avec la connection puisque le numéro change avec le nombre de connection : en lançant plusieurs telnet sur servasi, il m'a attribué un nouveau numéro pour chaque connection.
$who
arogozan pts/3 Nov 9 12:20 epichon pts/4 Nov 12 20:49 mchambre pts/7 Nov 12 21:03 croussea pts/0 Nov 12 16:21 mchambre pts/8 Nov 12 21:34 jfguerne pts/2 Nov 12 18:31
Cette commande renvoie tous les utilisateurs connectés sur asi.
$quota
Disk quotas for user mchambre (uid 596): none
indique l'espace disque alloué pour l'utilisateur. "none" ne signifie pas que je n'ai pas d'espace mais que je ne suis pas limité.
$man quota
NAME quota - display disk usage and limits SYNOPSIS quota [ -guv | q ] quota [ -uv | q ] user quota [ -gv | q ] group DESCRIPTION Quota displays users' disk usage and limits. By default only the user quotas are printed. -g Print group quotas for the group of which the user is a member. The optional -u flag is equivalent to the default. -v will display quotas on filesystems where no storage is allocated.affiche le manuel d'utilisation de la commande spécifiée, ici "quota".
3 ) La ligne de commande
Grâce à "more /etc/passwd", on sait que j'utilise "bash" comme interpréteur de commandes.
$history
475 who 476 man who 477 q 478 clear 479 quota 480 man quota 481 clear 482 history
affiche toutes les commandes tapées par l'utilisateur depuis la création de son compte.
$!!
Le résultat est le même que la commande précédente. "!!" exécute donc la dernière commande tapée.
$!5
telnet asi.insa-rouen.fr Trying 194.254.15.75... Connected to servasi.insa-rouen.fr. Escape character is '^]'. Red Hat Linux release 7.0 (Guinness) Kernel 2.2.16-22smp on a 2-processor i686 login:
exécute la 5ème commande de l'utilisateur depuis la création de son compte.
$!ma
man quota
exécute la derniére commande commençant par "ma".
$!-50
Matlab < M A T L A B > Copyright 1984-1999 The MathWorks, Inc. Version 5.3.1.29215a (R11.1) Oct 6 1999
exécute la 50-ème commande en remontant l'historique.
$alias h=history
$h
"h" devient un raccourci vers la commande "history".
En tapant Ctrl -R, on obtient :
(reverse-i-search)`': m
l'annonce devient alors : "(reverse-i-search)`m': man whoami" et la commande "man whoami" s'exécute.
$ls -l -a
$wc !*
wc -a -l
retourne les arguments de la dernière ligne de commande.
$ls -l -a
$wc !$
wc -aretourne le dernier argument de la dernière ligne de commande.
4 ) Quelques commandes de base
$du
3644 ./mydos/dosemu 5068 ./mydos 4 ./Autostart 28 ./Templates 18688 .
renvoie l'espace disque occupé par chaque répertoire et la taille totale occupé par le compte, ici 18 688 blocks de 512 octets.
$df
Filesystem 1k-blocks Used Available Use% Mounted on /dev/rd/c0d0p1 3099260 2737760 204068 94% / /dev/rd/c0d0p7 1818352 1604924 121056 93% /disk2 /dev/rd/c0d0p2 41326992 37514808 1712892 96% /home /dev/rd/c0d0p3 6198436 2240484 3643080 39% /usr/local
renvoie la taille de toutes les partitions du disque, avec leurs utilisation, la place disponible, le système de fichier, etc...En faisant man df, il n'y a qu'une description de la commande mais pas d'option; par contre avec df --help, on a les options mais j'en ai pas trouvées d'intéressantes et de plus lisibles.
$ls
ASI.3.1 Bureau Templates lasm mydos office52 Autostart Desktop Temporaire mail.signature nsmail public_html
On obtient les répertoires (non-cachés) et les fichiers du répertoire courant. L'option "-a" permet d'avoir l'affichage de tous les répertoires et des fichiers. L'option "-l" nous indique les droits d'accés, le propriétaire et son groupe, la taille et la date de création des répertoires et des fichiers.
$cd ..
$pwd
/home/etud/asi01
"cd .." permet de monter d'un répertoire dans l'arborescence et "pwd" nous indique le chemin absolu du répertoire courant, ici le groupe asi01.
$cd ..
$pwd
/home/etud
Nous aurions exécuter le "cd .." sans taper toute la commande grâce à "alias c='cd ..' par exemple.
$cd
$pwd
/home/etud/asi01/mchambre
Cette commande permet de revenir au répertoire-compte de l'utilisateur.
$cd /
$pwd
/
revient au répertoire racine : le répertoire le plus élevé dans l'arborescence.
$which ls
alias ls='ls --color=tty' /bin/ls
affiche les options enregistrées d'une commande et la localisation de cette commande dans l'arborescence.
Voici 3 séries de commandes pour arriver dans le répertoire /var/spool/mail à partir du répertoire /tmp :
1ère solution : cd /var/spool/mail
2ème solution : cd ../var/spool/mail
3ème solution :
cd ..
cd var
cd spool
cd mail
Pour obtenir la liste des fichiers qui commencent par m, on utilise :
$ ls m*
mbrisou mchambre mdavid mhautreu mmaingue mbrugier mclave mdesert mlehoai msoares
$ cd /home/etud/asi01/sfouille
et il ne se passe rien puisqu'on a les droits d'accés.
5 ) Manipulation de fichiers et de répertoires
$cat
$cp fichier source fichier destination
copie le fichier source dans le répertoire courant sous le nom fichier de destination.
$mv fichier source destination
renomme le fichier source en destination. Si destination est un dossier du répertoire courant, le fichier source est déplacé dans le répertoire destination avec le même nom.
$rm fichier
efface le fichier, qui doit se trouver dans le répertoire courant.
$mkdir répertoire
crée un dossier intitulé "répertoire" dans le répertoire courant.
$rmdir répertoire
efface le dossier intitulé "répertoire" si celui-ci est vide.
[mchambre@servasi mchambre]$ mkdir tp7 [mchambre@servasi mchambre]$ mkdir tp7bis [mchambre@servasi mchambre]$ cp /etc/passwd tp7/PASS [mchambre@servasi mchambre]$ cd tp7 [mchambre@servasi tp7]$ cp PASS ../tp7bis/PASS [mchambre@servasi tp7]$ cd [mchambre@servasi mchambre]$ quota Disk quotas for user mchambre (uid 596): none [mchambre@servasi mchambre]$ ls tp7* tp7: PASS tp7bis: PASS [mchambre@servasi mchambre]$ rm tp7bis/PASS [mchambre@servasi mchambre]$ rmdir tp7bis
6 ) Redirections
$ls -alh > res
$ls -alh
drwx------ 3 mchambre asi01 4.0k sep 14 16:27 nsmail drwx------ 3 mchambre asi01 4.0k sep 11 14:50 office52 drwx-----x 5 mchambre asi01 4.0k nov 14 18:36 public_html -rw-r--r-- 1 mchambre asi01 2.9k nov 14 18:42 res
J'ai un nouveau fichier "res" en plus dans mon répertoire courant.
$more res
total 176k drwx-----x 24 mchambre asi01 4.0k nov 14 18:46 . drwxr-xr-x 31 root root 4.0k sep 25 07:57 .. lrwxrwxrwx 1 mchambre asi01 62 nov 14 09:31 .DCOPserver_asi1241.insa -rouen.fr -> /home/etud/asi01/mchambre/.DCOPserver_asi1241.insa-rouen.fr_:0 -rwx------ 1 mchambre asi01 32 nov 14 09:31 .MCOP-random-seed ... drwx------ 3 mchambre asi01 4.0k sep 14 16:27 nsmail drwx------ 3 mchambre asi01 4.0k sep 11 14:50 office52 drwx-----x 5 mchambre asi01 4.0k nov 14 18:36 public_html -rw-r--r-- 1 mchambre asi01 0 nov 14 18:46 res
le fichier "res" contient l'affichage de la commande tapée précédemment, ici "ls -alh". On remarque qu'il compte le fichier de destination mais sa taille est nulle.
$df >>res
$more res
drwx------ 3 mchambre asi01 4.0k sep 14 16:27 nsmail drwx------ 3 mchambre asi01 4.0k sep 11 14:50 office52 drwx-----x 5 mchambre asi01 4.0k nov 14 18:36 public_html -rw-r--r-- 1 mchambre asi01 0 nov 14 18:46 res Filesystem 1k-blocks Used Available Use% Mounted on /dev/rd/c0d0p1 3099260 2759984 181844 94% / /dev/rd/c0d0p7 1818352 1604924 121056 93% /disk2 /dev/rd/c0d0p2 41326992 35661300 3566400 91% /home /dev/rd/c0d0p3 6198436 2250484 3633080 39% /usr/local
">>" concaténe le résultat de la commande (ici "df") dans le fichier res, c'est-à-dire qu'il ajoute le résultat de la commande à la fin du fichier sans toucher au contenu initial.
">" efface le contenu du fichier de destination et écrit le résultat de la commande à la place.
7 ) Manipulation de fichiers texte
[mchambre@servasi tp7]$ grep mchambre PASS >moi [mchambre@servasi tp7]$ more moi mchambre:x:596:516:CHAMBREUIL Maxime:/home/etud/asi01/mchambre:/bin/bash [mchambre@servasi tp7]$ cut -d: -f 5 moi >mon_nom [mchambre@servasi tp7]$ more mon_nom CHAMBREUIL Maxime
[mchambre@servasi tp7]$ head -n 7 PASS>debfin [mchambre@servasi tp7]$ tail -n 7 PASS>>debfin [mchambre@servasi tp7]$ sort debfin -r -o debfin [mchambre@servasi tp7]$ more debfin vguigue:x:615:502:GUIGUE Vincent:/home/admasi/vguigue:/bin/bash sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown sdelimi:x:616:502:DELIMI Samir:/home/admasi/sdelimi:/bin/bash root:x:0:0:root:/root:/bin/bash mbourkan:x:1526:503::/home/invite/mbourkan:/bin/bash lp:x:4:7:lp:/var/spool/lpd: jkurzman:x:614:516:KURZMANN Jurgen:/home/etud/asi01/jkurzman:/bin/bash flahjom:x:1524:503::/home/invite/flahjom:/bin/bash daemon:x:2:2:daemon:/sbin: bin:x:1:1:bin:/bin: asartore:x:1523:511:Sartorelli Alessandro:/home/etud/asi00/:/bin/bash aezzine:x:1525:503::/home/invite/aezzine:/bin/bash adm:x:3:4:adm:/var/adm:
8 ) Questions subsidiaires
Pour savoir si le mot de passe est bon lors de la connexion d'un utilisateur, le SE va lire dans le fichier /etc/passwd à la ligne du login rentré précédemment et compare le mot de passe crypté du fichier avec le mot de passe crypté rentré par l'utilisateur.
Pour retrouver les alias créés, il faut les rajouter au PATH dans le fichier .bashrc qui se trouve dans le répertoire-compte de chaque utilisateur.
Le répertoire /var/spool/mail contient tous les comptes mails.
Pour sécuriser la commande rm et demander une confirmation, on rajoute " alias rm='rm -i' " au fichier .bashrc.
* remplace une chaine de caractère qui
peut être vide.
? remplace un seul caractère.
[abcd…] remplace un caractère quelconque parmi
les caractères spécifiés.
[!abcd…] remplace un caractère quelconque sauf
ceux spécifiés.
~nom/répertoire est un raccourci qui permet d'indiquer
le chemin d'accés par rapport à l'utilisateur au lieu de taper
le chemin absolu. Par exemple, en étant sous la racine et en tapant "cd
~mchambre/ASI.3.1", j'arrive directement dans le répertoire ASI.3.1
!
~+ renvoie le répertoire de travail en cours.
~- renvoie le répertoire de travail précédent.
La commande "ls -al" nous indique pour chaque répertoire (caché
ou pas) et fichier du répertoire courant : si c'est un répertoire
ou pas, les droits d'accés, le propriétaire et son groupe, la
taille du fichier ou du répertoire (mais pas de son contenu), la date
et l'heure de dernière modification et enfin l'intitulé.
Maxime CHAMBREUIL - Samy FOUILLEUX - ASI3
- Année 2001 / 2002