Notion Général
par
popularité : 4%
II. Notion Générale
A. Connexion / Déconnexion :
Pour se connecter au système, il faut disposer d’un nom de connexion ( login
) auquel il est associé un mot de passe ( password ). Si ces derniers
sont valides, le système de login exécutera un Shell de login pour ce dernier.
Chaque utilisateur possède un login ( UID ) et un groupe principal ( GID ).
Il peut éventuellement appartenir à des groupes supplémentaires nommés
groupes secondaires pour bénéficier de plus de privilège sur le système.
Il existe un utilisateur qui dispose des pleins pouvoirs sur le
système qui a pour nom « root  » ( UID=0 ) et il correspond
à l’administrateur.
Le shell de connexion est déterminé par l’administrateur du système.
Son rôle est de présenter un « prompt » ( invite de commande ) et d’interpréter
les lignes de commande tapées par l’utilisateur, jusqu’à la demande de
déconnexion par celui-ci.
Il existe plusieurs types de Shell :
Le bourne shell (sh), le korn shell (ksh), Z shell (zsh) amélioration du ksh,
GNU Bourne-Again shell (bash) incorporation des fonctionnalités issues du ksh
et csh. Ces shells sont compatibles entre eux.
A la différence du C shell (csh) et turbo C shell ( tcsh) qui sont
compatibles qu’avec eux même !
Voici, un exemple de connexion :
SunOS 5.8
login : jerome Password : Last login : Sat Jul 14 06:06:21 from 150.9.10.30 Sun Microsystems Inc. SunOS 5.8 Generic February 2000 $ $ exit ou ctrl + d login :
|
Pour la déconnexion :
- la commande exit
- CTRL + d
Schéma d’une session Unix :
B. Format de la ligne de commande
$ commande [-options] [arguments]
« $  » est le prompt par défaut du Bourne
Shell et du Korn Shell.(cf. variable PS1 )
Pour lancer plusieurs commandes sur une seule ligne, il
suffit de les séparer par des points virgules.
ls | la commande |
ls / | la commande, le/les arguments |
ls –al | la commande, le/les options |
ls –F / | la commande, le/les options et le/les argument |
Attention : il faut utiliser les espaces comme élément séparateur
entre la commande, les options, arguments.
Unix fait la différence entre les majuscules et les minuscules. Donc ls est
différent de LS.
C. Les différents « prompt  »
« $  » est le prompt par défaut du
Bourne Shell et du Korn Shell pour un utilisateur normal et « %  »
pour le csh.. Pour l’administrateur c’est le dièse « #  ».
Ces prompts sont la valeur de la variable PS1 ou prompt pour le csh.
« >  » est un prompt secondaire ( variable PS2 ), il
indique que la commande n’est pas complète.
$ banner ’hi # manque un ’ > ^C # fait un CTRL C" $ ( # manque une ) > ^C $ if # manque fi > ^C $ |
Il existe aussi d’autres prompts : PS3 et PS4. Pour plus d’information,
il faut consulter le man du shell utilisé.
D. Le manuel :
Pour obtenir des informations sur un commande, on peut utiliser le
« man  ». Pour la plupart des versions Unix, les constructeurs
proposent une version en HTML. Mais on n’est pas toujours en mode graphique
sur un système…
man [section] commande/fichier
man [-s section ] commande/fichier # sous Solaris
man -k clé
man -f commande/fichier
section | Le manuel est divisé en chapitre appelé section |
-s section | idem mais sous Solaris |
-k clé | Recherche par mot clef (via le fichier whatis à fabriquer via catman -w ) |
-f comm | Affichage d’une ligne résumé |
Les fichiers correspondant sont stockés sous le répertoire /usr/man
ou /usr/share/man .
Ce découpage peut être modifié dans certaines versions.
Les sections sont les suivantes :
Contenu |
AT&T |
BSD |
SCO |
Les commandes utilisateurs Les appels systèmes La bibliothèque C Le format des fichiers Divers Les jeux Les fichiers spéciaux Les commandes d’administration Les commandes de maintenance |
1 2 3 4 5 6 7 1M 8 |
1 2 3 5 7 6 4 8 8 |
C S S F M
HW ADM ADM |
Pour connaître, la répartition des sections sur votre système : man man
L’organisation des pages du manuel (exemple : Solaris 8) :
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
OPERANDS
USAGE
ENVIRONMENT VARIABLES
EXIT STATUS
FILES
ATTRIBUTES
SEE ALSO
NOTES
BUGS
Tous ces chapitres ne sont pas forcément présents. Exemple : le chapitre sur
les BUGS, s’il n’y en a pas de BUGS référencés alors il n’y a pas de
chapitre !
Cette organisation varie entre les systèmes…
Il est possible d’utiliser des fonctions pour rendre le man plus efficace.
q |
pour quitter la commande man |
espace ou CR |
pour passer à la page suivante |
l |
pour un affichage ligne par ligne |
. |
pour un réaffichage de la page en cours |
/chaîne/ |
pour rechercher une chaîne de caractères vers |
?chaîne ? |
pour rechercher une chaîne de caractères vers |
! |
pour exécuter une commande shell |
$ |
pour afficher la dernière page |
E. Quelques commandes simples
1. La commande « passwd  »
Elle permet de modifier son mot de passe.
L’aspect obligatoire ou non du mot de passe, les contraintes syntaxiques et
durées de validité
varient selon les versions et/ou les choix de l’administrateur système.
Sur toutes les versions, seuls les huit premiers caractères du mot de passe
sont significatifs.
/export/home/jerome> passwd
New password :
/export/home/jerome> passwd Pour modifier le
Old password : Il faut donner l’ancien
/export/home/jerome> /export/home/jerome> passwd Pour modifier le
Old password : passwd (SYSTEM) Password is too short - must be at least 6 characters. /export/home/jerome> Contrainte syntaxique
/export/home/jerome> passwd
Old password : Erreur de saisie /export/home/jerome> |
Un bon mot de passé :
Des personnes peuvent essayer d’accéder de façon illégale
à un système UNIX. Un des moyens dont ils disposent est d’entrer sur un compte
utilisateur en déterminant son mot de passe. Pour cela, ils utilisent des
chaînes de caractères appartenant à des dictionnaires ou correspondant à des
informations personnelles sur l’utilisateur (prénom, nom, numéro de
téléphone, etc.). Il est donc nécessaire que votre mot de passe respecte
certaines règles de sécurité :
-
Il doit posséder au moins 7 caractères et contenir au
moins une lettre majuscule, un chiffre et un caractère de ponctuation, et
ceux-ci à l’intérieur et non en début ou fin de mot de passe.
Généralement, seuls les 8 premiers caractères sont pris en compte. -
Il ne doit pas contenir des données relatives à votre
identité comme votre nom d’utilisateur ou une information livrée par la
commande « finger  ». -
Il ne doit pas appartenir à des dictionnaires, tel
quel ou sous sa forme canonique (c’est à dire, épuré de tous les
caractères non-alphabétiques), à moins qu’il contienne des majuscules
autres que le premier caractère. -
Il ne doit pas contenir des répétitions de
caractère. -
Il doit être suffisamment simple pour s’en rappeler ;
il ne faut pas le noter sur papier ou dans un fichier ni le donner Ã
quelqu’un d’autre.
Ex. de "bons" mots de passe (2 mots courts
séparés par un ou plusieurs caractères de ponctuation ou chiffres) : ble,.the
ou si19sol.
2. La commande « id  »
Usage : id [-a] [user]
id, affiche vos numéros d’identification utilisateur ( uid )et groupe (
gid ).
/export/home/jerome> id
uid=100(jerome) gid=1(other) /export/home/jerome> id -a uid=100(jerome) gid=1(other) groups=1(other),10(staff),14(sysadmin) |
3. La commande « who  »
Usage (sun5.8) : who [-options] [fichier]
who [am i]
whoami
who : permet d’afficher la liste des utilisateurs connectés sur
le système.
/export/home/jerome> who
root pts/1 jui 16 05:49 (150.9.10.30) jerome pts/2 jui 16 06:00 (150.9.10.50) |
who am i : permet de savoir le nom de l’utilisateur connecté sur
le terminal
/export/home/jerome> who am i
jerome pts/2 jui 16 06:00 (150.9.10.50) |
whoami : permet de connaître le uid effectif de la personne connecté
sur le terminal
/export/home/jerome> whoami
jerome |
Cette commande permet de connaître des informations concernant les
connections au système, son état…
4. La commande « date  »
Usage : date [-u] [+format]
date : affiche la date et l’heure du système
/export/home/jerome> date
lundi, 16 juillet 2001, 06:21:04 MEST /export/home/jerome> date -u lundi, 16 juillet 2001, 04:21:07 GMT /export/home/jerome> date +"Il est %H heure et %M minutes" Il est 06 heures et 21 minutes /export/home/jerome> date +"%d/%m/%y" 16/07/01 |
5. La commande « cal  »
Usage : cal [ [ mois ] année ] # année : 1, 9999 # mois : 1,12
cal : affiche un calendrier
cal mois courant
cal 2001 12 mois de l’année 2001
cal 5 2001 mois de mai 2001
/export/home/jerome> cal 12 2000
décembre 2000 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
6. La commande « banner  »
Usage : banner une_chaîne_de_caractères
banner : affiche une chaîne de caractères en grosses lettres.
/export/home/jerome> banner Hello# # # # ###### # # #### # # # # # # # ### #### # # # # # # # # # # # # # # # # # # # # ###### ## ## #### /export/home/jerome> |
Cette commande a (avait) son utilité avec le service d’impression.
7. La commande « echo  »
Usage : echo texte_Ã _afficher
Elle affiche la liste des paramètres en les séparant par un espace et en
terminant par un saut de ligne.
La commande interprète quelques caractères conventionnels :
\a alerte (sonnerie)
\b backspace
\c annulation du saut de ligne par défaut
\f saut de page
\n saut de ligne supplémentaire
\r retour chariot
\t tabulation horizontal
\v tabulation verticale
\ backslash
\0n caractère de code ASCII n ( en octal ) ( exemple : \007 pour le
Ctrl g )
Il faut utiliser les « doubles quottes » pour l’interprétation de ces
caractères et parfois ajouter l’option –e.
Exemples :
/export/home/jerome> echo -e "\tcoucou\nUNIX" coucou UNIX /export/home/jerome> echo coucou UNIX coucou UNIX |
8. La commande « clear  »
Usage : clear
Elle permet d’effacer le terminal ( écran ). Commande sans options ni
paramètres.
9. La commande « sleep  »
Usage : sleep n secondes
Cette commande ne produit rien, elle peut être utile dans un
script pour marquer des temps d’attente.