Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Guide d'administration système : administration de base |
1. Oracle Solaris Management Tools (présentation)
2. Utilisation de la console de gestion Solaris (tâches)
3. Utilisation d'Oracle Java Web Console (tâches)
4. Gestion des comptes utilisateur et des groupes (présentation)
Nouveautés et modifications apportées à la gestion des utilisateurs et des groupes
Outils de gestion des comptes utilisateur et comptes de groupe
Définition des comptes utilisateur et des groupes
Composants d'un compte utilisateur
Numéros d'identification de l'utilisateur
Utilisation d'ID utilisateur et ID de groupe de grande valeur
Environnement de travail de l'utilisateur
Directives pour l'utilisation des noms d'utilisateur, ID utilisateur et ID de groupe
Emplacement de stockage des informations de compte utilisateur et de groupe
Outils de gestion des comptes utilisateurs et des groupes
Tâches des outils de gestion des utilisateurs et des groupes Solaris
Gestion des utilisateurs et des ressources avec des projets
Personnalisation de l'environnement de travail d'un utilisateur
Personnalisation du Bash shell
Utilisation des fichiers d'initialisation du site
Éviter les références du système local
Directives relatives à la définition des chemins d'accès
Définition du chemin d'accès par défaut d'un utilisateur
Variables d'environnement linguistique
Autorisations de fichier par défaut (umask)
Exemples de fichiers d'initialisation utilisateur et du site
5. Gestion des comptes utilisateur et des groupes (tâches)
6. Gestion de la prise en charge client-serveur (présentation)
7. Gestion des clients sans disque (tâches)
8. Présentation de l'arrêt et de l'initialisation d'un système
9. Arrêt et initialisation d'un système (présentation)
10. Arrêt d'un système (tâches)
11. Modification du comportement d'initialisation d'Oracle Solaris (tâches)
12. Initialisation d'un système Oracle Solaris (tâches)
13. Gestion des archives d'initialisation d'Oracle Solaris (tâches)
14. Dépannage de l'initialisation d'un système Oracle Solaris (tâches)
15. x86 : Initialisation avec le GRUB (référence)
16. x86 : Initialisation d'un système qui ne met pas en uvre GRUB (tâches)
17. Utilisation de la commande regadm d'enregistrement automatique Oracle Solaris (tâches)
18. Gestion des services (présentation)
19. Gestion des services (tâches)
20. Gestion des logiciels (présentation)
21. Gestion des logiciels à l'aide des d'outils d'administration système d'Oracle Solaris (tâches)
22. Gestion des logiciels à l'aide des commandes de package Oracle Solaris (tâches)
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.
Tableau 4-15 Fichiers d'initialisation utilisateur pour les Bourne, C et Korn shells
|
Tableau 4-16 Fichiers d'initialisation utilisateur par défaut
|
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. Bien que vous ne puissiez pas créer des fichiers d'initialisation utilisateur personnalisés avec l'outil Users (Utilisateurs), vous pouvez remplir le répertoire personnel d'un utilisateur avec des fichiers d'initialisation utilisateur qui se trouvent dans un répertoire qualifié de « squelettes ». Pour ce faire, vous pouvez créer un modèle d'utilisateur à l'aide de l'outil User Template (Modèles d'utilisateur), puis spécifier un répertoire squelette à partir duquel vous voulez copier les fichiers d'initialisation utilisateur.
Pour obtenir 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 .
Lorsque vous utilisez l'outil Users (Utilisateurs) pour créer un nouveau compte utilisateur, puis sélectionnez l'option de création d'un répertoire personnel, les fichiers suivants sont créés, en fonction du shell de connexion sélectionné.
Tableau 4-17 Fichiers créés par l'outil Users (Utilisateurs) lors de l'ajout d'un utilisateur
|
Pour personnaliser votre Bash shell, 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).
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 de shell C, placez une ligne au début du fichier d'initialisation utilisateur similaire à la ligne suivante :
source /net/machine-name/export/site-files/site-init-file
Pour référencer un fichier d'initialisation du site dans un fichier d'initialisation utilisateur du Bourne ou Korn shell, placez une ligne au début du fichier d'initialisation utilisateur similaire à la ligne suivante :
. /net/machine-name/export/site-files/site-init-file
Ne pas ajouter de références spécifiques au système local dans le fichier d'initialisation utilisateur. Les instructions figurant dans le fichier d'initialisation utilisateur doivent être valides, quel que soit le système auquel l'utilisateur se connecte.
Par exemple :
Pour que le répertoire personnel d'un utilisateur soit disponible n'importe où sur le réseau, faites toujours référence à ce répertoire à l'aide de la variable $HOME. Par exemple, utilisez $HOME/bin au lieu de /export/home/ username/bin. La variable $HOME fonctionne lorsque l'utilisateur se connecte à un autre système, et les répertoires personnels sont montés automatiquement.
Pour accéder aux fichiers d'un disque local, utilisez les noms de chemin d'accès globaux, comme par exemple /net/system-name/directory-name. N'importe quel répertoire référencé par /net/system-name peut être automatiquement monté sur n'importe quel système auquel l'utilisateur se connecte, en supposant que le système exécute AutoFS.
Le tableau suivant répertorie les fonctions de base de chaque shell et vous aide à déterminer les opérations possibles lorsque vous créez les fichiers d'initialisation utilisateur pour chaque shell.
Tableau 4-18 Fonctions de base des Bourne, Korn et C shells
|
Un shell conserve un environnement qui inclut un ensemble de variables définies par le programme login, le fichier d'initialisation système et les fichiers d'initialisation utilisateur. En outre, certaines variables sont définies par défaut.
Un shell peut avoir deux types de variables :
Variables d'environnement : variables exportées à tous les processus générés par le shell. Leurs 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 shell (locales) : variables affectant uniquement le shell actuel. Dans le C shell, un ensemble de ces variables shell ont une relation spéciale correspondant à un ensemble de variables d'environnement. Ces variables shell sont user, term, home et path. La valeur de la variable d'environnement homologue est initialement utilisée pour définir la variable shell.
Dans le C shell, vous utilisez des noms en minuscules avec la commande set pour définir les variables shell. Vous utilisez des noms en majuscules avec la commande setenv pour définir des variables d'environnement. Si vous définissez une variable shell, le shell définit la variable d'environnement correspondante. De même, si vous définissez une variable d'environnement, la variable shell correspondante est également mis à jour. Par exemple, si vous mettez à jour la variable shell path avec un nouveau chemin d'accès, le shell met également à jour la variable d'environnement PATH avec ce nouveau chemin d'accès.
Dans le Bourne shell et le Korn shell, vous pouvez utiliser le nom de variable en majuscules, ce qui équivaut à une valeur pour définir à la fois les variables shell et d'environnement. Vous pouvez également utiliser la commande export pour activer les variables pour toute commande exécutée par la suite.
Pour tous les shells, vous faites généralement référence aux variables shell et d'environnement en utilisant leurs noms en majuscules.
Dans un fichier d'initialisation utilisateur, vous pouvez personnaliser l'environnement shell d'un utilisateur en modifiant les valeurs des variables prédéfinies ou en spécifiant des variables supplémentaires. Le tableau suivant montre comment définir les variables d'environnement dans un fichier d'initialisation utilisateur.
Tableau 4-19 Définition des variables d'environnement dans un fichier d'initialisation utilisateur
|
Le tableau suivant décrit les variables d'environnement et les variables shell que vous pouvez personnaliser dans un fichier d'initialisation utilisateur. Pour plus d'informations sur les variables utilisées par les différents shells, reportez-vous aux pages de manuel sh(1), ksh(1), ou csh(1) .
Tableau 4-20 Description des variables d'environnement et shell
|
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.
Voici quelques directives pour la configuration de variables PATH efficaces :
Si la sécurité n'est pas une préoccupation majeure, placez le répertoire de travail courant (.) tout d'abord dans le chemin d'accès. Cependant, le répertoire de travail courant dans le chemin d'accès présente également un risque de sécurité que vous pouvez être amené à éviter, en particulier pour le superutilisateur.
Conservez le chemin de recherche aussi court que possible. Le shell effectue des recherches dans chaque répertoire du chemin d'accès. Si aucune commande n'est trouvée, de longues recherches peuvent ralentir les performances du système.
Le chemin de recherche est lu de gauche à droite, de sorte que vous devez placer les répertoires de commandes fréquemment utilisées au début du chemin.
Assurez-vous que les répertoires ne sont pas dupliqués dans le chemin d'accès.
Évitez, dans la mesure du possible, de rechercher des répertoires volumineux. Placez les répertoires volumineux à la fin du chemin.
Placez les répertoires locaux avant les répertoires montés sur NFS afin de diminuer les risques de "blocage" lorsque le serveur NFS ne répond pas. Cette stratégie permet également de réduire le trafic réseau inutile.
Exemple de définition du chemin d'accès par défaut d'un utilisateur.
Les exemples suivants montrent comment définir le chemin d'accès par défaut d'un utilisateur, afin d'inclure le répertoire personnel et d'autres répertoires montés sur NFS. Le répertoire de travail courant est défini en premier dans le chemin d'accès. Dans un fichier d'initialisation utilisateur C shell, vous devez ajouter les éléments suivants :
set path=(. /usr/bin $HOME/bin /net/glrr/files1/bin)
Dans un fichier d'initialisation utilisateur Bourne shell ou Korn shell, vous devez ajouter les éléments suivants :
PATH=.:/usr/bin:/$HOME/bin:/net/glrr/files1/bin export PATH
Les variables d'environnement LANG et LC indiquent les conventions et conversions spécifiques à 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.
Le tableau suivant décrit certaines des valeurs pour les variables d'environnement LANG et LC.
Tableau 4-21 Valeurs des variables LANG et LC.
|
Pour plus d'informations sur les environnements linguistiques pris en charge, reportez-vous au International Language Environments Guide.
Exemple 4-1 Définition de l'environnement linguistique à l'aide des variables LANG
Les exemples suivants illustrent comment configurer l'environnement linguistique à l'aide des variables d'environnement LANG. Dans un fichier d'initialisation utilisateur C shell, vous devez ajouter les éléments suivants :
setenv LANG de_DE.ISO8859-1
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
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 :
Le premier chiffre définit les autorisations pour l'utilisateur
Le deuxième chiffre définit les autorisations pour le groupe
Le troisième chiffre définit les autorisations pour les autres, aussi appelé world
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 4-22 Autorisations pour les valeurs umask
|
La ligne suivante dans un fichier d'initialisation utilisateur définit les autorisations de fichier par défaut sur rw-rw-rw-.
umask 000
Les sections suivantes présentent des exemples de fichiers d'initialisation utilisateur et du site que vous pouvez utiliser pour commencer à personnaliser vos propres fichiers d'initialisation. Ces exemples utilisent des noms de système et des chemins d'accès que vous devez modifier pour votre site particulier.
Exemple 4-2 Fichier .profile
(Line 1) PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/ccs/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
Définit le chemin de recherche du shell de l'utilisateur.
Définit le chemin d'accès au fichier messagerie de l'utilisateur.
Définit le serveur de news Usenet de l'utilisateur.
Définit le chemin de recherche de l'utilisateur pour les pages de manuel.
Définit l'imprimante par défaut de l'utilisateur.
Définit les autorisations de création de fichier par défaut de l'utilisateur.
Définit les variables d'environnement répertoriées.
Exemple 4-3 Fichier .cshrc
(Line 1) set path=($PATH $HOME/bin /usr/local/bin /usr/ccs/bin) (Line 2) setenv MAIL /var/mail/$LOGNAME (Line 3) setenv NNTPSERVER server1 (Line 4) setenv PRINTER printer1 (Line 5) alias h history (Line 6) umask 022 (Line 7) source /net/server2/site-init-files/site.login
Définit le chemin de recherche du shell de l'utilisateur.
Définit le chemin d'accès au fichier messagerie de l'utilisateur.
Définit le serveur de news Usenet de l'utilisateur.
Définit l'imprimante par défaut de l'utilisateur.
Créé un alias pour la commande history. L'utilisateur doit entrer uniquement h pour exécuter la commande history.
Définit les autorisations de création de fichier par défaut de l'utilisateur.
Fournit le fichier d'initialisation du site.
Exemple 4-4 Fichier d'initialisation site
L'exemple suivant illustre un fichier d'initialisation du site dans lequel un utilisateur peut choisir une version particulière d'une application.
# @(#)site.login main: echo "Application Environment Selection" echo "" echo "1. Application, Version 1" echo "2. Application, Version 2" echo "" echo -n "Type 1 or 2 and press Return to set your application environment: " set choice = $< if ( $choice !~ [1-2] ) then goto main endif switch ($choice) case "1": setenv APPHOME /opt/app-v.1 breaksw case "2": setenv APPHOME /opt/app-v.2 endsw
Ce fichier d'initialisation du site peut être référencé dans le fichier .cshrc d'un utilisateur (utilisateurs C shell uniquement) avec la ligne suivante :
source /net/server2/site-init-files/site.login
Dans cette ligne, le fichier d'initialisation du site est nommé site.login et est situé sur un serveur nommé server2. Cette ligne suppose également que l'agent de montage automatique est en cours d'exécution sur le système de l'utilisateur.