Pages : 1
#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