2. SESSION DE TRAVAIL SOUS UNIX
2.1 SESSION DE TRAVAIL
Tout utilisateur sous UNIX doit être référencé dans le système par l’administrateur. Cette opération est la suivante:
attribuer un identificateur à chaque utilisateur,
définir et répartir les utilisateurs en différents groupes,
définir et réserver un espace de travail (un répertoire) à chacun,
préciser la commande exécutée à la connexion (en général un interprète de commandes).
Deux fichiers sont utilisés:
/etc/passwd, contenant la liste de tous les utilisateurs locaux déclarés,
/etc/group, définissant les groupes et leurs membres.
L’utilisateur qui souhaite se connecter doit indiquer, en réponse à l’invitation à se connecter login: son identificateur (logname), et éventuellement un mot de passe, en réponse au message passwd:
Si ces informations sont correctes, l’interprète de commandes indique qu’il est en attente d’une commande en affichant l'invitation à saisir une commande : le prompt (par défaut le caractère $).
L’utilisateur dispose alors d’un environnement de travail par défaut (prompt, répertoire de travail...) qu’il a peut personnaliser par le fichier de commandes (shell script) .profile s’il existe.
Ce shell script est exécuté à chaque connexion. On peut donc y modifier des variables, lancer des commandes, etc.
2.1.1 Ouverture d'une session
L'identificateur de l'utilisateur doit respecter les règles suivantes:
Il doit être exact.
Les lettres majuscules et minuscules sont prises en compte car considérées comme différentes.
Les caractères de contrôle (^C, ^U ^W, etc.) sont autorisés.
Exemple
Login: philipp
Passwd: <saisir_son mot_de_passe>
2.1.2 Mot de passe
L’utilisation du mot de passe suit les règles suivantes:
il n’apparaît pas sur l’écran (absence d’écho),
il doit être parfaitement exact,
il est indispensable pour la sécurité,
il doit être constitué d'au moins 6 caractères alphanumériques (chiffres et lettres) sur la plupart des implémentations actuelles,
il faut le changer régulièrement avec la commande /bin/passwd.
Exemple passwd
Changing passwd for user philipp new passwd
retype new passwd
Changing passwd for philipp
Le service NIS est un gestionnaire d'une base de données distribuée de certains fichiers systèmes permettant de gérer les utilisateurs d'un réseau. Lors de son utilisation, la commande yppasswd remplace souvent la commande passwd.
2.1.3 Caractéristiques d'un utilisateur
Ce fichier (système) est utilisé pour la gestion des utilisateurs.
Chaque enregistrement comporte 7 champs séparés par des deux points. Ils ont l’interprétation suivante:
1 identificateur de connexion,
2 mot_de_passe crypté (remplacé souvent par le caractère l’un des caractères *, x, !) 3 UID (numéro caractéristique de l’utilisateur),
4 GID (numéro caractéristique de groupe (groupe principal si l’utilisateur est défini dans plusieurs groupes),
5 commentaire, arbitraire,
6 répertoire dont l’utilisateur est propriétaire (home directory),
7 interprète de commandes ou application lancé au début de la session de travail.
Exemple
root:x:0:1:Superuser:/:/bin/ksh
lp:x:71:18:Printer administrator:/usr/spool/lp:
audit:x:79:17:Audit administrator:/tcb/files/audit:
ingres:x:777:50:Database administrator:/usr/ingres:
philipp:F40kjhbg47:85:50::/home/philipp:/bin/ksh user1:x:200:100::/home/user1:/bin/ksh
Un utilisateur système important
L’utilisateur, qui a pour identificateur root, est, par définition, le super utilisateur (super user). Il a tous les droits et il est l’administrateur système. Sur la plupart des implémentations d’Unix, son numéro UID est 0 et son numéro GID est 1.
2.1.4 Mécanisme dit d'aging
Sur les systèmes actuels sécurisés, le mot de passe crypté est dans un fichier inaccessible aux utilisateurs /etc/security/passwd ou /etc/shadow. Le caractère x remplace le mot de passe crypté.
Son également présentes dans ce fichiers des informations de gestion du compte (durée de validité, stratégie de verrouillage, stratégie de gestion du mot de passe, etc…
2.1.5 Caractéristiques d'un groupe
Ce fichier définit les groupes d’utilisateurs. Il comporte 4 champs, séparés par le caractère:
Exemple
staff:*:500:philipp,dupond,durand.
1 nom du groupe
2 passwd (sans effet)
3 GID (identificateur du groupe
4 liste des utilisateurs constituant le groupe.
2.1.6 Syntaxe générale d'une commande
La forme générale d'une commande est appelée synopsis.
Une commande peut avoir des options et/ou des arguments optionnels, qui sont notés entre [].
La forme la plus générale d'une commande est : Synopsis
commande [-option(s)][argument(s)]
Les différents mots de la commande sont séparés par un (ou plusieurs) caractère d'espacement.
2.1.7 Opérations sur les utilisateurs et les groupes
Affichage du nom de l’utilisateur et de son groupe Synopsis
id
logname
Exemple
uid=0(root) gid=1(other)
Changement d’identité
Il est possible dans sa session de travail de changer d’identité par utilisation de la commande su.
Synopsis
su [-][nom_de_l’utilisateur_cible]
Description
su sans argument permet de devenir super utilisateur.
su suivi du – permet d’utiliser le contexte d’environnement de l’utilisateur cible. Son absence permet de conserver le contexte d’environnement de l’utilisateur d’origine.
Exemples su dupond Passwd:xxxx
Il faut alors indiquer le mot de passe de l’utilisateur dupond.
Le contexte d’exécution est celui de l’utilisateur appelant sauf si la commande su a été utilisée avec l’option
- Exemple su - dupond Passwd:xxxx
Changement de groupe
Le groupe courant (groupe par défaut) est celui qui est défini par l'administrateur dans le fichier /etc/passwd.
La commande newgrp permet d’en changer pendant une session.
Synopsis
newgrp nouveau_groupe_de_travail_courant
Liste des groupes de travail d'un utilisateur Synopsis
groups Description
Affichage de la liste des groupes dans lesquels l'utilisateur est référencé.
2.1.8 Fin de session
Mode texte
L’utilisateur se déconnecte et termine sa session par émission du signal Ctrl D (appui simultané sur les touches Ctrl et D) qui représente la marque de fin de fichier sous UNIX. La session en cours est fermée et le message login (invitation à se connecter) réapparaît sur le terminal.
Les commandes exit ou logout permettent également de terminer une session selon l’interprète de commandes (resp ksh et csh utilisé).
Mode multi-fenêtres
On utilise le menu de sortie général de la session.
2.2 DOCUMENTATION
2.2.1 Manuel de références UNIX
Validité
Quelle que soit l’implémentation utilisée, c’est toujours la documentation en ligne qui sert de référence.
Utilisation
La documentation standard ou manuel de référence UNIX, est accessible en ligne par l’appel de la commande (en mode texte) du shell man, ou encore par la commande xman & (en mode graphique, sous
Xwindow). Chaque élément de la documentation est référencé par un numéro (sa section) éventuellement suivi d’une lettre précisant son domaine d’utilisation (m pour maintenance ou administration, c pour communication, g pour graphique...).
Sur les implémentations les plus conviviales, la documentation est accessible à partir d’un navigateur (par exemple Netscape) au format HTML.
Manuel sous SYSTEM V
Les sections sont regroupées par thèmes, par exemples ADM administration,
C langage C,
CMD commandes de base,
DOS commandes DOS sous UNIX, HW Hardware Dependant,
LM Lan Manager,
LOCAL commandes locales,
X XWindow.
Manuel sous UNIX BSD
Le manuel se décompose en 8 sections décrivant les différentes entités d’UNIX classées par ordre alphabétique.
Section 1: commandes du système Commandes générales (1)
Commandes de communications(1c) Commandes graphiques (lg)
Commandes SYSTEM V (1v)
Section 2: appels système
Section 3: bibliothèques Fonctions primaires(3)
Fonctions de la bibliothèque standard d’E/S(3S) Fonctions de communications(3N)
Fonctions pour compatibilité avec les autres systèmes(3C) Fonctions appelables de Fortran(3F)
Fonctions mathématiques(3M) Fonctions diverses(3X)
Section 4: fichiers spéciaux (répertoire /dev
Section 5: format des fichiers systèmes
Section 6: jeux (en général pas installé)
Section 7: documentations diverses
Section 8: commandes de maintenance et divers utilitaires.
Le guide de l’utilisateur présente une description des commandes et outils les plus communs.
Regroupement des sections
manuel de référence administrateur (sections 1M-7-8),
manuel de référence utilisateur (sections 1-6),
manuel de référence programmeur (sections 2-3-4-5).
2.2.2 Autres documentations
Les constructeurs fournissent en outre les manuels spécifiques de la station, les guides complémentaires (guide du débutant, utilisation de l’assembleur, guide administrateur...).
La documentation fournie aux licenciés comprend:
les manuels de référence,
le guide opérateur (mise en route du système),
le guide administrateur,
le guide utilisateur (guide pour débutant sur UNIX, le shell, les éditeurs...),
le guide programmeur (utilisation des compilateurs, bibliothèques, etc.),
le guide des fonctions graphiques,
le manuel de référence des erreurs (messages d’erreurs),
le guide des outils standards (make, adb...).
L’index offre:
la description du contenu de chacune des sections du manuel,
une table des références croisées.
2.2.3 Utilisation de la documentation en ligne
Le manuel de référence UNIX décrit la syntaxe d’utilisation des commandes accessibles par l’utilisateur.
Il fournit les informations suivantes:
NAME brève description de la commande,
SYNOPSIS les syntaxes autorisées,
SYSTEM V SYNOPSIS les syntaxes autorisées sous SV,
DESCRIPTION la description complète de la commande, OPTIONS la description des (éventuelles) options, EXEMPLES des (rares) exemples d’utilisation, SEE ALSO les liens avec d’autres commandes,
FILES les fichiers utilisés par la commande,
DIAGNOSTICS le code de retour de la commande,
BUGS les restrictions d’utilisation.
Synopsis
man [numéro_de_section] nom_de_commande
2.2.4 Localisation des commandes
Les commandes publiques sont dans divers répertoires (/usr/etc, /usr/bin, /bin, /etc, /usr/local, etc.). Les commandes permettant de les localiser sont:
whereis
Localisation des fichiers sources, exécutables et des sections correspondantes du manuel de référence UNIX.
Exemple whereis who
who /bin/who /usr/bin/who /usr/man/who.l
which
Localisation du fichier exécutable ou d’un éventuel alias.
Exemples which who /bin/who which ll
ll: aliased to "clear ; pwd ; ls –l"
apropos
Affiche une liste de commandes "proches" de la commande indiquée.
Exemple apropos ls
whatis
Description très sommaire d’une commande.
Exemple whatis ls
2.2.5 Interface graphique
Deux types d’implémentation :
La commande xman,
L’environnement HTML permettant de naviguer dans la documentation.