Rechercher : dans
Par :

Création d'utilisateur sous linux

Dernière réponse le 12 déc 2007 à 15:57:31 doberman, le 12 déc 2007 à 15:20:06 
 Signaler ce message aux modérateurs

Bonjour,
je dois créer un script créant des utilisateurs sous linux, sans utiliser user add.
j'ai une erreur et je n'arrive pas a la trouver merci d'avance.
L'endroit ou doit être créer le fichier pour les utilisateur est etc/NIS/passwd, on considere les groupes deja crée.
les erreur données sont:

/UserCreation2: 22: Syntax error: newline unexpected (expecting ")")
thibault@Thib-Linux:~/AdminSyst$ sudo ./UserCreation2
: not foundion2: 2:
: not foundion2: 5:
0
./UserCreation2: 23: Syntax error: newline unexpected (expecting ")")
thibault@Thib-Linux:~/AdminSyst$ sudo ./UserCreation2
: not foundion2: 2:
: not foundion2: 5:

et je ne comprends pas car quand je l'ai écris à l'école tout marchait.

merci d'avance.

# !/bin/bash

IFS='
'

var=`id -u`
echo $var
if [ $var != "0" ];
then
echo "Il vous faut passer en root"
exit 0
fi

read -p "entrer le login de l'utilisateur souhaite ?" username
if [ $username = "x" ];
then
echo "Vous devez donner un nom à l'utilisateur"
exit 0
fi

read -p "entrer le groupe de l'utilisateur? " groupe
case $groupe in
secretaire)
debut=1000
fin=1999;;
toto)
debut=2000
fin=2999;;
titi)
debut=3000
fin=3999;;
prod)
debut=4000
fin=4999;
esac
echo $groupe
echo $debut
echo $fin
echo `grep -w $debut /etc/NIS/passwd | cut -d: -f 3| sort -g >> tmp`
n=`cat tmp | wc -l`
ligne=`cat tmp`
echo $n
nb_place=`expr 1000 - $n`
echo "il te reste $nb_place dans le groupe $groupe"
UserId=100
for i in $ligne
do
if [ $i -gt $UserId ];
then
UserId=$i
echo $UserId
fi
if [ $UserId -gt $fin ];
then
echo "YOU LOSE"
exit 0
fi
done

UserId=`expr $UserId + 1`
echo "Le user Id utilise sera $UserId"

while [ $passwordcheck != $password ]
do
read -p "entrer votre mot de passe personnel a l'abri des regards indiscrets " password
if [ $password = "" ];
then
echo "vous devez donner un mot de passe "
exit 0
fi

read -p "veuillez confirmer votre mot de passe " passwordcheck
if [ $passwordcheck = "" ];
then
echo "veuillez confirmer votre mot de passe "
exit 0
fi
done

read -p "Shell de l'utilisateur ? [/bin/bash] " shell
if [ $shell != "x" ];
then
if [ -x $shell ];
then
shell="-s $shell"
else
echo "Le programme $shell n'existe pas ou n'est pas exécutable"
exit 0
fi
fi

echo `rm ./tmp`
echo `echo "$username:x:$UserId:$debut:commentaire:/export/$username:$shell" >> passwd`

Configuration: Linux
Firefox 2.0.0.10

Meilleures réponses pour « Création d'utilisateur sous linux » dans :
[Shell] Créer un fichier vide VoirPour créer un fichier vide, il vous suffit de taper la commande suivante : > fichier Vous pouvez également utiliser la commande touch : touch fichier
[Linux] Installer Linux sans repartitionner VoirComment installer sans repartitionner ? Comment ça se passe pour le disque Linux ? Préambule Cet article couvre Le nécessaire: Matériel, système et logiciel Pourquoi Pourquoi VirtualBox ? Pourquoi Ubuntu ? Pourquoi la version...
Créer une image ISO sous Linux VoirCréer l'image ISO (que l'on appellera par exemple image.iso) d'un disque dans un lecteur CD-ROM (/dev/cdrom par exemple) est un jeu d'enfant : dd if=/dev/hdd of=mycd.iso
Télécharger Creaname - Générateur Gratuit de Noms VoirUn produit n’est rien, si son nom n’est pas accrocheur. Il est fondamental de bien choisir un nom de produit, un nom d’entreprise, mais aussi de bien le présenter pour que son impact soit rapide et immédiat. CreaName est un outil...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...
Commandes Linux VoirTableau des principales commandes Linux Commande Description équivalent DOS ls liste le contenu d'un répertoire dir cd change de répertoire cd cd .. répertoire parent cd.. mkdir crée un nouveau...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...

1

 jipicy, le 12 déc 2007 à 15:57:31
  • +1

Salut,

Il manque un point virgule dans la dernière condition du "case" :

case $groupe in
secretaire)
debut=1000
fin=1999;;
toto)
debut=2000
fin=2999;;
titi)
debut=3000
fin=3999;;
prod)
debut=4000
fin=4999;
esac 
;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy