JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Gestion des compte et environnements utilisateur dans Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library (Français)
search filter icon
search icon

Informations document

Préface

1.  Gestion des comptes et des environnements utilisateur (présentation)

Nouveautés et modifications concernant la gestion des comptes et des environnements utilisateur

Modifications en matière de sécurité ayant une incidence sur la gestion des comptes utilisateur

Présentation de l'interface graphique du Gestionnaire d'utilisateurs

Editeur d'administration (pfedit)

Sous-répertoire /var/user/$USER

Modifications apportées à la commande groupadd

Notification relative au nombre d'échecs de connexion

Définition des comptes utilisateur et des groupes

Composants d'un compte utilisateur

Noms d'utilisateur (de connexion)

Numéros d'identification de l'utilisateur

Utilisation d'ID utilisateur et ID de groupe de grande valeur

Groupes UNIX

Mots de passe utilisateur

Répertoires personnels

Services de noms

Environnement de travail de l'utilisateur

Recommandations relatives à l'affectation des noms d'utilisateur, ID utilisateur et ID de groupe

Emplacement de stockage des informations de compte utilisateur et de groupe

Champs du fichier passwd

Fichier passwd par défaut

Champs du fichier shadow

Champs du fichier group

Fichier group par défaut

Commandes permettant d'obtenir des informations sur les comptes utilisateur

Commandes permettant de gérer les utilisateurs, les rôles et les groupes

Personnalisation de l'environnement de travail d'un utilisateur

Utilisation des fichiers d'initialisation du site

Avertissement concernant les références au système local

Fonctions du shell

Historique des shells bash et ksh93

Variables d'environnement des shells bash et ksh93

Personnalisation du shell bash

Variable d'environnement MANPATH

Variable d'environnement PATH

Recommandations relatives à la définition des chemins d'accès

Variables d'environnement linguistique

Autorisations de fichier par défaut (umask)

Personnalisation d'un fichier d'initialisation utilisateur

2.  Gestion des comptes utilisateur avec l'interface de ligne de commande (tâches)

3.  Gestion des comptes utilisateur dans l'interface graphique du Gestionnaire d'utilisateurs (tâches)

Index

Personnalisation de l'environnement de travail d'un utilisateur

Les informations suivantes sont décrites dans cette section :

Le paramétrage du répertoire personnel d'un utilisateur consiste notamment à fournir des fichiers d'initialisation utilisateur au shell de connexion de l'utilisateur. Un fichier d'initialisation utilisateur est un script shell qui définit un environnement de travail d'utilisateur après la connexion de l'utilisateur à un système. En fait, vous pouvez exécuter les mêmes tâches dans un fichier d'initialisation utilisateur que dans un script shell. Toutefois, l'objectif principal d'un fichier d'initialisation utilisateur est de définir les caractéristiques de l'environnement de travail d'un utilisateur, tels que ses chemins de recherche, les variables d'environnement et l'environnement de multifenêtrage. Chaque shell de connexion dispose de son ou ses propres fichiers d'initialisation utilisateur, répertoriés dans le tableau ci-dessous. Notez que le fichier d'initialisation utilisateur par défaut pour les shells bash et ksh93 est /etc/skel/local.profile.

Tableau 1-7 Fichiers d'initialisation utilisateur bash et ksh93

Shell
Fichier d'initialisation utilisateur
Objectif
bash
$HOME/.bash_profile

$HOME/.bash_login

$HOME/.profile

Définit l'environnement de l'utilisateur au moment de la connexion.
ksh93
/etc/profile

$HOME/.profile

Définit l'environnement de l'utilisateur au moment de la connexion.
$ENV
Définit l'environnement utilisateur au moment de la connexion dans le fichier. Spécifié par la variable d'environnement du shell Korn ENV.

Vous pouvez utiliser ces fichiers comme un point de départ, puis les modifiez pour créer un ensemble standard de fichiers qui fournissent l'environnement de travail commun à tous les utilisateurs. Vous pouvez également modifier ces fichiers afin de fournir l'environnement de travail aux différents types d'utilisateurs.

Pour consulter des instructions détaillées sur la façon de créer des ensembles de fichiers d'initialisation pour différents types d'utilisateurs, reportez-vous à la section Personnalisation des fichiers d'initialisation utilisateur.

Utilisation des fichiers d'initialisation du site

Les fichiers d'initialisation peuvent être personnalisés par l'administrateur et l'utilisateur. Cette tâche importante peut être réalisée avec des fichiers d'initialisation utilisateur centralisés et distribués de manière globale. Ces fichiers sont qualifiés de fichiers d'initialisation du site. Les fichiers d'initialisation du site vous permettent d'introduire en continu de nouvelles fonctionnalités dans l'environnement de travail utilisateur, tout en permettant à l'utilisateur de personnaliser son fichier d'initialisation.

Lorsque vous référencez un fichier d'initialisation du site dans un fichier d'initialisation utilisateur, toutes les mises à jour du fichier d'initialisation du site sont automatiquement répercutées lorsque l'utilisateur se connecte au système ou lorsqu'un utilisateur démarre un nouveau shell. Les fichiers d'initialisation du site sont conçus pour vous permettre de distribuer à l'échelle du site les modifications apportées aux environnements de travail des utilisateurs que vous n'aviez pas prévu lorsque vous avez ajouté les utilisateurs.

Vous pouvez personnaliser un fichier d'initialisation du site de la même façon que vous personnalisez un fichier d'initialisation utilisateur. Ces fichiers résident généralement sur un serveur, ou un ensemble de serveurs, et s'affichent comme la première instruction dans un fichier d'initialisation utilisateur. En outre, chaque fichier d'initialisation du site doit être du même type de script shell que le fichier d'initialisation utilisateur qui le référence.

Pour référencer un fichier d'initialisation du site dans un fichier d'initialisation utilisateur bash ou ksh93, placez au début du fichier d'initialisation utilisateur une ligne similaire à la ligne suivante :

. /net/machine-name/export/site-files/site-init-file

Avertissement concernant les références au système local

N'ajoutez pas de références propres au système local dans le fichier d'initialisation utilisateur. En effet, les instructions figurant dans ce fichier doivent être valides, quel que soit le système auquel l'utilisateur se connecte.

Par exemple :

Fonctions du shell

Cette version d'Oracle Solaris prend en charge les fonctions et comportements de shell suivants :

Le tableau ci-dessous décrit les options de shell prises en charge dans Oracle Solaris.

Tableau 1-8 Fonctions de shell de base dans la version d'Oracle Solaris

Shell
Chemin
Comments (Commentaires)
Bourne-Again Shell (bash)
/usr/bin/bash
Shell par défaut pour les utilisateurs créés par un programme d'installation, ainsi que pour le rôle root.

Le shell (interactif) par défaut pour les utilisateurs créés avec la commande useradd ainsi que pour le rôle root est /usr/bin/bash. Le chemin d'accès par défaut est /usr/bin:/usr/sbin.

Korn shell
/usr/bin/ksh
ksh93 est le shell par défaut dans cette version d'Oracle Solaris.
C shell et C shell amélioré
/usr/bin/csh et /usr/bin/tcsh
C shell et C shell amélioré
Shell conforme POSIX
/usr/xpg4/bin/sh
Shell conforme POSIX
Z shell
/usr/bin/zsh
Z shell

Remarque - Le Z shell (zsh) et le C shell amélioré(tsch) ne sont pas installés sur votre système par défaut. Pour utiliser l'un de ces shells, vous devez d'abord installer les packages logiciels requis.


Historique des shells bash et ksh93

Les shells bash et ksh93 enregistrent un historique de toutes les commandes que vous exécutez. Cet historique est conservé pour chaque utilisateur, ce qui signifie qu'il est préservé d'une session à l'autre et qu'il est représentatif de l'ensemble de vos sessions de connexion.

Par exemple, si vous êtes dans un shell bash, vous pouvez afficher l'historique complet des commandes exécutées, comme suit :

$ history
1 ls
2 ls -a
3 pwd
4 whoami
.
.
.

Pour afficher un nombre donné de commandes précédentes, incluez un nombre entier dans la commande :

$ history 2
12 date
13 history

Pour plus d'informations, reportez-vous à la page de manuel history(1)

Variables d'environnement des shells bash et ksh93

Les shells bash et ksh93 stockent des informations sur des variables spéciales constituant pour les shells des variables d'environnement. Pour afficher la liste complète des variables d'environnement actuelles pour le shell bash, exécutez la commande declare :

$ declare
BASH=/usr/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINEND=()
BASH_SOuRCE=()
BASH_VERSINFO=([0]=''3'' [1]=''2'' [2]=''25'' [3]=''1''
[4]=''release'' [5]''
.
.
.

Pour le shell ksh93, utilisez la commande set, qui est l'équivalent de la commande declare du shell bash :

$ set
  COLUMNS=80
  ENV='$HOME/.kshrc'
  FCEDIT=/bin/ed
  HISTCMD=3
  HZ=''
  IFS=$' \t\n'
  KSH_VERSION=.sh.version
  LANG=C
  LINENO=1
  .
  .
  .

Pour imprimer les variables d'environnement de l'un ou l'autre shell, utilisez la commande echo ou la commande printf. Par exemple :

$ echo $SHELL
/usr/bin/bash
$ printf ''$PATH\n''
/usr/bin:/usr/sbin

Remarque - Les variables d'environnement ne sont pas conservées entre les sessions. Pour définir des variables d'environnement qui restent cohérentes entre les connexions, vous devez effectuer les modifications correspondantes dans le fichier .bashrc.


Un shell peut avoir deux types de variables :

Variables d'environnement

Variables exportées vers tous les processus générés par le shell. La commande exporter permet d'exporter une variable. Par exemple :

export VARIABLE=value

Ces paramètres peuvent être affichés à l'aide de la commande env. Un sous-ensemble de variables d'environnement, tel que PATH, affecte le comportement du shell lui-même.

Variables (locales) de shell

Variables qui affectent uniquement le shell actuel.

Dans un fichier d'initialisation utilisateur, vous pouvez personnaliser l'environnement de shell d'un utilisateur en modifiant les valeurs des variables prédéfinies ou en spécifiant des variables supplémentaires.

Le tableau suivant fournit plus de détails sur le shell et les variables d'environnement disponibles dans la version d'Oracle Solaris.

Tableau 1-9 Description des variables d'environnement et shell

Variable
Description
CDPATH
Définit une variable utilisée par la commande cd. Si le répertoire cible de la commande cd est spécifié comme un chemin d'accès relatif, la commande cd recherche d'abord le répertoire cible dans le répertoire courant (.). Si la cible est introuvable, les chemins d'accès répertoriés dans la variable CDPATH sont recherchés consécutivement jusqu'à ce que le répertoire cible soit détecté et le changement de répertoire terminé. Si le répertoire cible est introuvable, le répertoire de travail courant est laissé intact. Par exemple, la variable CDPATH est définie sur /home/jean, et deux répertoires existent sous /home/jean, bin et rje. Dans le répertoire /home/jean/bin, lorsque vous tapez cd rje, vous changez les répertoires en /home/jean/rje, même si vous ne spécifiez pas un chemin d'accès complet.
HOME
Définit le chemin d'accès au répertoire personnel de l'utilisateur.
LANG
Définit l'environnement linguistique.
LOGNAME
Définit le nom de l'utilisateur actuellement connecté. La valeur par défaut de LOGNAME est définie automatiquement par le programme de connexion pour le nom d'utilisateur spécifié dans le fichier passwd. Vous devez uniquement vous référez à cette variable, mais pas la réinitialiser.
MAIL
Définit le chemin d'accès à la boîte aux lettres de l'utilisateur.
MANPATH
Définit les hiérarchies de pages de manuel disponibles.

Remarque - A partir de la version 11 d'Oracle Solaris, la variable d'environnement MANPATH n'est plus requise. La commande man détermine le MANPATH approprié, selon la valeur de la variable d'environnement PATH.


PATH
Indique, dans l'ordre, les répertoires analysés par le shell pour trouver le programme à exécuter lorsque l'utilisateur saisit une commande. Si le répertoire ne se trouve pas dans le chemin de recherche, les utilisateurs doivent entrer le nom de chemin d'accès complet d'une commande.

Dans le cadre du processus de connexion, la valeur par défaut PATH est automatiquement définie comme indiqué dans .profile .

L'ordre du chemin de recherche est important. Lorsque des commandes identiques figurent à différents emplacements, la première commande détectée avec ce nom est utilisée. Supposons par exemple que PATH est défini dans la syntaxe shell en tant que PATH=/usr/bin:/usr/sbin:$HOME/bin et qu'un fichier nommé sample réside à la fois sous /usr/bin et /home/jean/bin. Si l'utilisateur saisit la commande sample sans indiquer son chemin d'accès complet, la version trouvée dans /usr/bin est utilisée.

PS1
Définit l'invite de shell pour le shell bash ou ksh93.
SHELL
Définit le shell par défaut utilisé par make, vi et d'autres outils.
TERMINFO
Nomme un répertoire lorsqu'une autre base de données terminfo est stockée. Utilisez la variable TERMINFO dans le fichier /etc/profile ou /etc/.login. Pour plus d'informations, reportez-vous à la page de manuel terminfo(4).

Lorsque la variable d'environnement TERMINFO est définie, le système vérifie d'abord le chemin d'accès TERMINFO défini par l'utilisateur. Si le système ne trouve pas la définition d'un terminal dans le répertoire TERMINFO défini par l'utilisateur, il effectue une recherche dans le répertoire par défaut, /usr/share/lib/terminfo , pour une définition. Si le système ne trouve pas de définition dans l'un ou l'autre des emplacements, le terminal est qualifié de "terminal idiot".

TERM
Définit le terminal. Cette variable doit être réinitialisée dans le fichier /etc/profile ou le fichier /etc/.login. Lorsque l'utilisateur appelle un éditeur, le système recherche un fichier portant le même nom et qui est défini dans cette variable d'environnement. Le système effectue une recherche dans le répertoire référencé par TERMINFO afin de déterminer les caractéristiques des terminaux.
TZ
Définit le fuseau horaire. Le fuseau horaire est utilisé pour afficher les dates, par exemple, dans la commande ls -l. Si TZ n'est pas défini dans l'environnement utilisateur, le paramètre système est utilisé. Dans le cas contraire, l'heure moyenne de Greenwich est utilisée.

Personnalisation du shell bash

Pour personnaliser le shell bash, ajoutez les informations au fichier .bashrc qui se trouve dans votre répertoire personnel. L'utilisateur initial créé lors de l'installation d'Oracle Solaris dispose d'un fichier .bashrc qui définit les PATH, MANPATH et l'invite de commande. Pour plus d'informations, reportez-vous à la page de manuel bash(1).

Variable d'environnement MANPATH

La variable d'environnement MANPATH indique l'emplacement où la commande man recherche les pages de manuel de référence. La variable d'environnement MANPATH est définie automatiquement en fonction de la valeur PATH de l'utilisateur, mais elle inclut généralement /usr/share/man et usr/gnu/share/man.

Notez que la variable d'environnement MANPATH d'un utilisateur peut être modifiée indépendamment de la variable d'environnement PATH. Un équivalent individuel des emplacements des pages de manuel associées, avec des répertoires dans le $PATH de l'utilisateur, n'est pas nécessaire.

Variable d'environnement PATH

Lorsque l'utilisateur exécute une commande en utilisant le chemin d'accès complet, le shell utilise ce chemin pour trouver la commande. Toutefois, lorsque des utilisateurs n'indiquent qu'un nom de commande, le shell recherche cette commande dans les répertoires, selon l'ordre indiqué par la variable chemin. Si la commande est trouvée dans l'un des répertoires, le shell exécute la commande.

Un chemin d'accès par défaut est défini par le système. Cependant, la plupart des utilisateurs le modifient pour ajouter d'autres répertoires de commande. De nombreux problèmes d'utilisateur en matière de configuration de l'environnement et d'accès à la version correcte d'une commande ou d'un outil sont dus à la définition inappropriée des chemins d'accès.

Recommandations relatives à la définition des chemins d'accès

Voici quelques recommandations pour la configuration de variables PATH efficaces :

Variables d'environnement linguistique

Les variables d'environnement LANG et LC indiquent les conventions et conversions propres à l'environnement linguistique pour le shell. Ces conversions et conventions incluent les fuseaux horaires, l'ordre de classement et les formats de date, d'heure, de devise et de chiffres. En outre, vous pouvez utiliser la commande stty dans un fichier d'initialisation utilisateur afin d'indiquer si la session de terminal prendra en charge les caractères multioctets.

La variable LANG définit toutes les conversions et conventions possibles pour l'environnement linguistique. Vous pouvez définir différents aspects de la localisation séparément par le biais des variables LC suivantes : LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, LC_MONETARY et LC_TIME.


Remarque - Par défaut, Oracle Solaris 11 installe uniquement les environnements linguistiques UTF-8.


Le tableau suivant décrit les valeurs des variables d'environnement pour les environnements linguistiques de base d'Oracle Solaris 11.

Tableau 1-10 Valeurs des variables LANG et LC.

Valeur
Environnement linguistique
en_US.UTF-8
Anglais, Etats-Unis (UTF-8)
fr_FR.UTF-8
Français (France) (UTF-8)
de_DE.UTF-8
Allemand, Allemagne (UTF-8)
it_IT.UTF-8
Italien, Italie (UTF-8)
ja_JP.UTF-8
Japonais, Japon (UTF-8)
ko_KR.UTF-8
Coréen, Corée (UTF-8)
pt_BT.UTF-8
Portugais, Brésil (UTF-8)
zh_CN.UTF-8
Chinois simplifié, Chine (UTF-8)
es_ES.UTF-8
Espagnol, Espagne (UTF-8)
zh_TW.UTF-8
Chinois traditionnel, Taïwan (UTF-8)

Exemple 1-1 Définition de l'environnement linguistique à l'aide des variables LANG

Dans un fichier d'initialisation utilisateur Bourne shell ou Korn shell, vous devez ajouter les éléments suivants :

LANG=de_DE.ISO8859-1; export LANG

LANG-de_DE.UTF-8; export LANG

Autorisations de fichier par défaut (umask)

Lorsque vous créez un fichier ou un répertoire, les autorisations assignées par défaut au fichier ou répertoire sont contrôlées par le masque utilisateur. Le masque utilisateur est défini par la commande umask dans un fichier d'initialisation utilisateur. Vous pouvez afficher la valeur courante du masque utilisateur en tapant umask et en appuyant sur Entrée.

Le masque utilisateur contient les valeurs octales suivantes :

Notez que si le premier chiffre est zéro, il n'est pas affiché. Par exemple, si le masque utilisateur est défini sur 022, le nombre 22 s'affiche.

Pour déterminer la valeur umask à définir, soustrayez la valeur des autorisations souhaitées de 666 (pour un fichier) ou 777 (pour un répertoire). Le résultat de cette soustraction correspond à la valeur à utiliser avec la commande umask. Par exemple, supposons que vous souhaitez modifier le mode par défaut pour les fichiers et le passer à 644 (rw-r--r--). La différence entre 666 et 644 est 022, ce qui correspond à la valeur à utiliser en tant qu'argument de la commande umask.

Vous pouvez également déterminer la valeur umask que vous voulez définir à l'aide du tableau suivant. Ce tableau indique les autorisations de fichiers et de répertoires qui sont créées pour chacune des valeurs octales de umask.

Tableau 1-11 Autorisations pour les valeurs umask

Valeur octale umask
Autorisations de fichier
Autorisations de répertoire
0
rw-
rwx
1
rw-
rw-
2
r--
r-x
3
r--
r--
4
-w-
-wx
5
-w-
-w-
6
--x
--x
7
--- (aucune)
--- (aucune)

La ligne suivante dans un fichier d'initialisation utilisateur définit les autorisations de fichier par défaut sur rw-rw-rw-.

umask 000

Personnalisation d'un fichier d'initialisation utilisateur

Vous trouverez ci-après un exemple de fichier d'initialisation utilisateur .profile. Vous pouvez utiliser ce fichier pour personnaliser vos propres fichiers d'initialisation. Cet exemple utilise des noms et des chemins d'accès système que vous devez modifier pour votre site particulier.

Exemple 1-2 Fichier .profile

(Line 1) PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/gnu/bin:. 
(Line 2) MAIL=/var/mail/$LOGNAME 
(Line 3) NNTPSERVER=server1 
(Line 4) MANPATH=/usr/share/man:/usr/local/man 
(Line 5) PRINTER=printer1 
(Line 6) umask 022 
(Line 7) export PATH MAIL NNTPSERVER MANPATH PRINTER
  1. Définit le chemin de recherche du shell de l'utilisateur.

  2. Définit le chemin d'accès au fichier messagerie de l'utilisateur.

  3. Définit le serveur de temps/d'horloge de l'utilisateur.

  4. Définit le chemin de recherche de l'utilisateur pour les pages de manuel.

  5. Définit l'imprimante par défaut de l'utilisateur.

  6. Définit les autorisations de création de fichier par défaut de l'utilisateur.

  7. Définit les variables d'environnement répertoriées.