Script bash connaitre tout les utilisateurs
Résolu/Fermé
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
-
Modifié par xunil2003 le 2/09/2012 à 18:55
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 6 sept. 2012 à 13:25
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 6 sept. 2012 à 13:25
A voir également:
- Script bash connaitre tout les utilisateurs
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Bingo bash free - Télécharger - Divers Jeux
- Script cmd - Guide
5 réponses
laoshu
Messages postés
1231
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
24 mai 2015
350
2 sept. 2012 à 19:52
2 sept. 2012 à 19:52
Bonjour,
Si « cat /etc/group | fgrep 50 » te renvoie bien tous les users, et rien que eux, alors essaye :
cat /etc/group | fgrep 50 | cut -d: -f1
Et normalement tu auras ce que tu cherches à obtenir...
bonne chance
Si « cat /etc/group | fgrep 50 » te renvoie bien tous les users, et rien que eux, alors essaye :
cat /etc/group | fgrep 50 | cut -d: -f1
Et normalement tu auras ce que tu cherches à obtenir...
bonne chance
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
14
2 sept. 2012 à 20:40
2 sept. 2012 à 20:40
bonjour,
quand je fait ceci
il m'affiche
Directement dans le shell ça marche
Merci.
quand je fait ceci
$utilisateurs="cat /etc/group | fgrep 50 | cut -d: -f1" $utilisateurs | while read users; do echo "resultat :" $users #done done echo "" echo "resultat de utilisateurs :" $utilisateurs
il m'affiche
utilisateur.sh: ligne2: =cat /etc/group | fgrep 50 | cut -d: -f1: Aucun fichier ou dossier de ce type
Directement dans le shell ça marche
$ cat /etc/group | fgrep 50 | cut -d: -f1 sandrine lea jean-pierre
Merci.
tuxboy
Messages postés
995
Date d'inscription
lundi 23 juillet 2012
Statut
Membre
Dernière intervention
28 mai 2019
190
2 sept. 2012 à 21:12
2 sept. 2012 à 21:12
Première ligne :
utilisateurs=('cat /etc/group | fgrep 50 | cut -d: -f1')
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
2 sept. 2012 à 21:17
2 sept. 2012 à 21:17
Salut tuxboy,
Attention avec la mise en page du forum qui ne prend pas en compte les quotes inversées ;-((
De toute façon cette syntaxe est quasiment obsolète, mieux vaut lui préféré "$(commande)" :
Sans compter que la création de cette variable n'est pas nécessaire ;-)
Attention avec la mise en page du forum qui ne prend pas en compte les quotes inversées ;-((
De toute façon cette syntaxe est quasiment obsolète, mieux vaut lui préféré "$(commande)" :
utilisateurs=$(cat /etc/group | fgrep 50 | cut -d: -f1)
Sans compter que la création de cette variable n'est pas nécessaire ;-)
tuxboy
Messages postés
995
Date d'inscription
lundi 23 juillet 2012
Statut
Membre
Dernière intervention
28 mai 2019
190
2 sept. 2012 à 21:21
2 sept. 2012 à 21:21
ça m'apprendra à ne pas réfléchir, merci d'avoir rectifié. :p
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
2 sept. 2012 à 21:12
2 sept. 2012 à 21:12
Salut,
while read name do echo "adduser ${name} partage_reseau" done < <(awk -F":" '/x:50/ { print $1 }' /etc/group)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
3 sept. 2012 à 08:41
3 sept. 2012 à 08:41
Salut,
Les deux seront sûrement mieux qu'une boucle while :-)
Merci.
Les deux seront sûrement mieux qu'une boucle while :-)
Merci.
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
14
Modifié par xunil2003 le 3/09/2012 à 15:39
Modifié par xunil2003 le 3/09/2012 à 15:39
Bonjour,
merci pour vos réponses.
Dans le fichier "smb.conf" il faut que j'ajoute les utilisateurs autorisé en écriture, comme ceci :
avec une variable
mais pour avoir la liste des utilisateurs sur une seul ligne avec un espace entre chaque nom d'utilisateur, comment dois je faire ?
Merci.
merci pour vos réponses.
Dans le fichier "smb.conf" il faut que j'ajoute les utilisateurs autorisé en écriture, comme ceci :
write list = sandrine lea jean-pierre maintenance
avec une variable
write list = $les_utilisateurs
mais pour avoir la liste des utilisateurs sur une seul ligne avec un espace entre chaque nom d'utilisateur, comment dois je faire ?
Merci.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
3 sept. 2012 à 15:40
3 sept. 2012 à 15:40
Salut,
Il suffit de récupérer la liste dans une variable et de ne pas quoter cette dernière :
Il suffit de récupérer la liste dans une variable et de ne pas quoter cette dernière :
liste=$(awk -F":" '/x:50/ { print $1 }' /etc/group) echo ${liste}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
14
Modifié par xunil2003 le 6/09/2012 à 13:18
Modifié par xunil2003 le 6/09/2012 à 13:18
Bonjour,
J'ai besoin d'ajoute tous les utilisateurs directement dans le fichier
a la fin de la ligne
Afin d'obtenir
Dans le genre
#!/bin/bash
cp -v /etc/group /etc/group.bak
usersh=$(awk -F":" '/x:50/ { print $1 }' /etc/group)
//......
//Mais comment lui dire de les ajouter a la fin de la ligne ${usersh}
//------
comment dois je faire ?
Merci.
J'ai besoin d'ajoute tous les utilisateurs directement dans le fichier
/etc/group
a la fin de la ligne
users:x:100:
Afin d'obtenir
users:x:100:sandrine,lea,jean-pierre,maintenance
Dans le genre
#!/bin/bash
cp -v /etc/group /etc/group.bak
usersh=$(awk -F":" '/x:50/ { print $1 }' /etc/group)
//......
//Mais comment lui dire de les ajouter a la fin de la ligne ${usersh}
//------
comment dois je faire ?
Merci.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
6 sept. 2012 à 13:25
6 sept. 2012 à 13:25
Salut,
#!/bin/bash usersh=$(awk -F":" '/x:50/ { print $1 }' /etc/group) liste=$(eval echo ${usersh}) sed -i.bak '/^users/{s/$/'"${liste// /,}"'/}' /etc/group