Guide d'administration du système Solaris Resource Manager 1.3

Gestion des comptes

Lorsque le module PAM de gestion des comptes de Solaris Resource Manager obtient le contrôle :

  1. Il détermine si Solaris Resource Manager est installé et activé ; sinon, il indique au système PAM de ne pas tenir compte de ce module.

  2. Il détermine si l'utilisateur possède un noeud limite ; sinon, il lance un script «no Inode» configurable par l'administrateur.

  3. Il détermine si l'utilisateur a la permission d'utiliser le service et le périphérique demandés.

  4. Il détermine si l'utilisateur a dépassé la limite d'avertissement ; le cas échéant, il lui interdit d'ouvrir une session.

  5. Il lance un script «every login» configurable par l'administrateur.

Si l'une de ces étapes échoue, les autres ne sont pas effectuées, et le module PAM de gestion des comptes de Solaris Resource Manager interdit l'utilisation du service. Si possible, un message explicatif est envoyé à l'utilisateur par le service.

Scripts

Le script «missing lnode» par défaut crée un noeud limite pour l'utilisateur et en avise l'administrateur de système par courrier. Le script par défaut est /etc/srm/nolnode, mais il peut être remplacé en modifiant le fichier /etc/pam.conf et en changeant la valeur de l'option nolnode dans les lignes du module de gestion des comptes de Solaris Resource Manager. Le script «every login» n'est habituellement pas configuré. Vous pouvez cependant le configurer en ajoutant une option [[everylogin=pathname]] à tout module de gestion des comptes de Solaris Resource Manager dans le fichier /etc/pam.conf. Vous exécutez les scripts en tant qu'utilisateur root. L'entrée, la sortie et l'erreur standard sont fermées. Si un script se termine avec une valeur non nulle, l'accès n'est pas accordé. Toutes les informations sont transmises sous forme de variables d'environnement, lesquelles sont dérivées directement des informations transmises au module PAM par le service.

USER

Nom de connexion fourni au programme. Il a été authentifié par consultation dans la table des mots de passe ; s'il est absent, le module de gestion des comptes a déjà envoyé un code d'erreur au module PAM.

UID

ID de l'utilisateur qui est authentifié. Dans le cas des services qui changent l'UID (par exemples su), il s'agit de l'UID de l'utilisateur qui appelle le service ; dans le cas des services qui définissent l'UID (par exemple login), il s'agit de l'UID cible (celui de USER).

RHOST

Lors des tentatives d'accès dans un réseau, cette variable contient le nom de l'hôte à l'origine de la tentative. Autrement, sa valeur dépend de la mise en ouvre.

SERVICE

Nom du service d'accès, par exemple rsh, login et ftp.

TTY

Nom du télétype où le service est appelé. Certains services n'ayant pas (strictement parlant) de terminal de contrôle (comme ftp) attribueront à cette variable de l'information de processus (par exemple ftp12345, où 12345 est l'identificateur de processus (PID) de ftpd; tandis que d'autres la laisseront vide ou la remplaceront par le nom du service.

DEBUG

Si debug a été précisé dans le fichier pam.conf, la variable DEBUG a la valeur "true" ; sinon, elle a la valeur "false". Comme aucune autre variable d'environnement n'est réglée, les scripts doivent définir leur propre variable PATH au besoin.

Le script par défaut 'no lnode' crée le noeud limite dans le groupe d'ordonnancement par défaut (other, si un tel utilisateur existe dans la table des mots de passe, sinon root) et rappelle par courrier à l'administrateur du système de déplacer le nouveau noeud limite à l'endroit approprié dans la hiérarchie d'ordonnancement. Pour consulter un exemple de script, reportez-vous à la rubrique Script 'no Inode' par défaut.

Interaction du module PAM avec des groupes de périphériques

Le module PAM de Solaris Resource Manager consulte les noms de terminal et de service dans la hiérarchie des périphériques ; si des limites sont dépassées ou qu'un indicateur de périphérique a la valeur activé, il envoie un message de refus de permission.

Les catégories de périphérique examinées sont terminal pour le nom du terminal et services pour le type de service demandé. Par exemple, une tentative de connexion rlogin peut essayer d'utiliser un fichier dans le groupe de périphériquesdu réseau ; ainsi, les indicateurs vérifiés pour l'utilisateur (en supposant que tous les indicateurs ont la valeur group) sont tels qu'indiqués ci-dessous. Les indicateurs suivants sont vérifiés dans l'ordre :

L'accès n'est accordé que si tous ces indicateurs ont la valeur set. En outre, les limites sont vérifiées en fonction des catégories correspondantes ( terminal et services).