Skip to main content

Comment utiliser la commande Linux - Commande Unix: login

Ligne de commandes Linux - partie 2 - Commandes de base (Mai 2024)

Ligne de commandes Linux - partie 2 - Commandes de base (Mai 2024)
Anonim

La connexion est utilisée lors de la connexion à un système. Il peut également être utilisé à tout moment pour passer d'un utilisateur à un autre (la plupart des shells modernes prennent en charge cette fonctionnalité, cependant).

Si un argument n'est pas donné,s'identifier invite pour le nom d'utilisateur.

Si l'utilisateur n'est pas root et que / etc / nologin existe, le contenu de ce fichier est imprimé à l'écran et la connexion est terminée. Ceci est généralement utilisé pour empêcher les connexions lorsque le système est arrêté.

Si des restrictions d'accès spéciales sont spécifiées pour l'utilisateur dans / etc / usertty, elles doivent être satisfaites, sinon la tentative de connexion sera refusée et un message syslog sera généré. Voir la section "Restrictions d'accès spéciales".

Si l'utilisateur est root, la connexion doit être établie sur un terminal répertorié dans / etc / securetty. Les échecs seront consignés avec la fonction syslog.

Une fois ces conditions vérifiées, le mot de passe sera demandé et vérifié (si un mot de passe est requis pour ce nom d'utilisateur). Dix tentatives sont autorisées avants'identifier meurt, mais après les trois premiers, la réponse commence à devenir très lente. Les échecs de connexion sont signalés via la fonction syslog. Cette fonction est également utilisée pour signaler toute connexion réussie à la racine.

Si le fichier .hushlogin existe, une connexion "discrète" est effectuée (cela désactive la vérification du courrier et l'impression de la dernière heure de connexion et du dernier message du jour). Sinon, si / var / log / lastlog existe, la dernière heure de connexion est imprimée (et la connexion actuelle est enregistrée).

Des tâches administratives aléatoires, telles que la définition de l'UID et du GID du terminal sont effectuées. La variable d’environnement TERM est préservée si elle existe (les autres variables d’environnement sont préservées si la-option est utilisé). Ensuite, les variables d'environnement HOME, PATH, SHELL, TERM, MAIL et LOGNAME sont définies. Par défaut, PATH est / usr / local / bin: / bin: / usr / bin: . pour les utilisateurs normaux et vers / sbin: / bin: / usr / sbin: / usr / bin pour root. Enfin, s'il ne s'agit pas d'une connexion "discrète", le message du jour est imprimé et le fichier portant le nom de l'utilisateur dans / var / spool / mail sera vérifié et un message imprimé s'il n'a pas une longueur égale à zéro.

Le shell de l'utilisateur est alors démarré. Si aucun shell n'est spécifié pour l'utilisateur dans / etc / passwd, alors / bin / sh est utilisé. S'il n'y a pas de répertoire spécifié dans / etc / passwd , puis / est utilisé (le répertoire de base est vérifié pour la .hushlogin fichier décrit ci-dessus).

Les options

  • -p: Utilisé par getty (8) pour dires'identifier ne pas détruire l'environnement
  • -F: Utilisé pour ignorer une deuxième authentification de connexion. En particulier, cela ne fonctionne pas pour root et ne semble pas bien fonctionner sous Linux.
  • -h: Utilisé par d’autres serveurs (c.-à-d., telnetd (8) ) pour transmettre le nom de l'hôte distant às'identifier afin qu'il puisse être placé dans utmp et wtmp. Seul le superutilisateur peut utiliser cette option.

Restrictions d'accès spéciales

Le fichier / etc / securetty répertorie les noms des ttys sur lesquels root est autorisé à se connecter. Un nom de périphérique tty sans le préfixe / dev / doit être spécifié sur chaque ligne. Si le fichier n'existe pas, root est autorisé à se connecter à n'importe quel terminal.

Sur la plupart des systèmes Linux modernes, on utilise PAM (Pluggable Authentication Modules). Sur les systèmes qui n'utilisent pas PAM, le fichier / etc / usertty spécifie des restrictions d'accès supplémentaires pour des utilisateurs spécifiques. Si ce fichier n'existe pas, aucune restriction d'accès supplémentaire n'est imposée. Le fichier consiste en une séquence de sections. Il existe trois types de sections possibles: CLASSES, GROUPES et UTILISATEURS. Une section CLASSES définit les classes de modèles de ttys et de noms d’hôte, une section GROUPS définit les ttys et les hôtes autorisés groupe par utilisateur et la section USERS définit les ttys et les hôtes autorisés par utilisateur.

Chaque ligne de ce fichier ne doit pas comporter plus de 255 caractères. Les commentaires commencent par le caractère # et s'étendent jusqu'à la fin de la ligne.

La section des cours

Une section CLASSES commence par le mot CLASSES en début de ligne dans toutes les majuscules. Chaque ligne suivante jusqu'au début d'une nouvelle section ou à la fin du fichier consiste en une séquence de mots séparés par des tabulations ou des espaces. Chaque ligne définit une classe de modèles et de modèles d’hôte.

Le mot au début d'une ligne devient défini comme un nom collectif pour les modèles d'hôte et d'hôte spécifiés pour le reste de la ligne. Ce nom de collectif peut être utilisé dans n’importe quelle section GROUPS ou USERS ultérieure. Aucun nom de classe de ce type ne doit figurer dans la définition d'une classe afin d'éviter des problèmes avec les classes récursives.

Un exemple de section CLASSES:

DES CLASSESmyclass1 tty1 tty2myclass2 tty3 @ .foo.com

Ceci définit les classes myclass1 et myclass2 comme les côtés correspondants à droite.

La section GROUPES

Une section GROUPS définit les ttys et hôtes autorisés par groupe Unix. Si un utilisateur est membre d'un groupe Unix selon / etc / passwd et / etc / group et qu'un tel groupe est mentionné dans une section GROUPS dans / etc / usertty, l'accès est accordé à l'utilisateur si le groupe est.

Une section GROUPS commence par le mot GROUPS en lettres majuscules au début d'une ligne, et chaque ligne suivante est une séquence de mots séparés par des espaces ou des tabulations. Le premier mot d'une ligne est le nom du groupe et le reste des mots de la ligne spécifie les hôtes et les hôtes où l'accès des membres de ce groupe est autorisé. Ces spécifications peuvent impliquer l’utilisation de classes définies dans les sections précédentes de CLASSES.

Un exemple de section GROUPS.

GROUPESsys tty1 @ .bar.edustud myclass1 tty4

Cet exemple spécifie que les membres du groupe sys peut se connecter à tty1 et à des hôtes du domaine bar.edu. Utilisateurs du groupe Goujon peut se connecter à partir des hôtes / ttys spécifiés dans la classe myclass1 ou à partir de tty4.

La section UTILISATEURS

Une section UTILISATEURS commence par le mot USERS en lettres majuscules au début d'une ligne, et chaque ligne suivante est une séquence de mots séparés par des espaces ou des tabulations. Le premier mot sur une ligne est un nom d'utilisateur et cet utilisateur est autorisé à se connecter sur les ttys et à partir des hôtes mentionnés sur le reste de la ligne. Ces spécifications peuvent impliquer des classes définies dans les sections précédentes de CLASSES. Si aucun en-tête de section n'est spécifié en haut du fichier, la première section est par défaut une section USERS.

Un exemple de section UTILISATEURS:

UTILISATEURSzacho tty1 @ 130.225.16.0 / 255.255.255.0tty3 bleu myclass2

Cela permet à l'utilisateur zacho connectez-vous uniquement sur tty1 et à partir d'hôtes avec des adresses IP dans la plage 130.225.16.0 - 130.225.16.255 et utilisateur bleu est autorisé à se connecter depuis tty3 et tout ce qui est spécifié dans la classe myclass2 .

Il peut y avoir une ligne dans une section UTILISATEURS commençant par un nom d'utilisateur de * . C'est une règle par défaut qui s'appliquera à tout utilisateur ne correspondant à aucune autre ligne.

Si une ligne USERS et une ligne GROUPS correspondent à un utilisateur, celui-ci est autorisé à accéder à partir de l'union de tous les serveurs / hôtes mentionnés dans les présentes spécifications.

Origines

Les spécifications de modèle d'hôte et de terminal utilisées dans la spécification d'accès de classes, de groupes et d'utilisateurs sont appelées origines. Une chaîne d'origine peut avoir l'un des formats suivants:

  • Le nom d'un périphérique tty sans le préfixe / dev /, par exemple, tty1 ou ttyS0 .
  • La chaîne @localhost, ce qui signifie que l'utilisateur est autorisé à connecter telnet / rlogin de l'hôte local au même hôte. Cela permet également à l'utilisateur, par exemple, d'exécuter la commande suivante: xterm -e / bin / login.
  • Un suffixe de nom de domaine tel que @ .some.dom, ce qui signifie que l'utilisateur peut rlogin / telnet à partir de tout hôte dont le nom de domaine porte le suffixe .some.dom.
  • Une plage d'adresses IPv4, notée @ xxxx / yyyy, où xxxx est l'adresse IP dans la notation décimale quadruple en pointillés habituelle, et yyyy est un masque binaire dans la même notation spécifiant les bits de l'adresse à comparer avec l'adresse IP de l'hôte distant. . Par exemple, @130.225.16.0/255.255.254.0 signifie que l'utilisateur peut rlogin / telnet à partir de tout hôte dont l'adresse IP est dans la plage 130.225.16.0 - 130.225.17.255 .

Chacune des origines ci-dessus peut être préfixée par une spécification de temps selon la syntaxe:

timespec :: = '' ':' * ''jour :: = 'mon' | 'tue' | 'mer' | 'thu' | 'fri' | 'sat' | 'Soleil'heure :: = '0' | '1' | … | '23'hourspec :: = | '-' jour ou heure :: = |

Par exemple, l'origine lun: mar: mer: jeu: ven: 8-17 tty3 signifie que la connexion est autorisée du lundi au vendredi entre 20h et 17h59 sur tty3. Cela montre également qu'une plage horaire a-b inclut tous les moments compris entre a: 00 et b: 59. Une spécification d'heure unique (telle que 10) correspond à l'intervalle de temps compris entre 10h et 10h59.

Ne pas spécifier de préfixe horaire pour un terminal ou un hôte signifie que la connexion à partir de cette origine est autorisée à tout moment. Si vous donnez un préfixe horaire, veillez à spécifier un ensemble de jours et une ou plusieurs heures ou plages d'heures. Une spécification de temps ne peut inclure aucun espace.

Si aucune règle par défaut n'est donnée, les utilisateurs ne correspondant à aucune ligne / etc / usertty sont autorisés à se connecter à partir de n'importe où, ainsi que le comportement standard.

Important: Utilisez lehommecommande ( % homme ) pour voir comment une commande est utilisée sur votre ordinateur.