Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/04/2012, à 17:25

elprincipe

shell d'un utilisateur

salut à tous
ce serait sympa si quelqu'un pouvait m'aider sur quelques commandes; à savoir:
- comment déterminer le shell associé à un user (actuellement j'affiche le contenu du fichier /etc/passwd et je fais une recherche manuel, donc je cherche une commande qui affiche direct le résultat si ça existe
j'aimerais également savoir si quelqu'un à des infos concernant l'utilisateur "halt" et à quoi il sert

merci d'avance

Dernière modification par elprincipe (Le 30/04/2012, à 17:27)

Hors ligne

#2 Le 30/04/2012, à 17:37

pingouinux

Re : shell d'un utilisateur

Bonjour,

user=utilisateur
awk -v FS=: '{if($1=="'"$user"'"){print $7}}' /etc/passwd

Hors ligne

#3 Le 30/04/2012, à 18:01

elprincipe

Re : shell d'un utilisateur

@pingouinux: super ça marche et encore merci mais j'ai quelques petites questions, j'ai regardé dans le man pour voir le fonctionnement de la commande awk et là il me parle d'implémentions gnu du langage de programmation awk du coup je vois pas trop le rapport avec l'affichage du shell d'un user donc si tu pouvais m'expliquer un peu ce serait sympa

Hors ligne

#4 Le 30/04/2012, à 19:41

pingouinux

Re : shell d'un utilisateur

Voici à quoi ressemble une ligne du fichier /etc/passwd :

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

Elle contient 7 champs séparés par des ":". Le 1er est le user, le 7ème le shell de celui-ci.
awk est un langage de programmation qui manipule des fichiers. Ici, la commande lit tout le fichier /etc/passwd, et quand le 1er champ correspond à user, on imprime le 7ème.
Le paramètre FS=: indique que le séparateur de champ sur une ligne (Field Separator) est : au lieu d'une succession d'espaces.

Hors ligne