Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Rue-Montgallet.com
  OS alternatifs
  Linux

  script a rendre demain et j'y arrive pas

Bas de page
Auteur Sujet :

script a rendre demain et j'y arrive pas

n°21424
el_heinze
Profil : Membre
Posté le 20-05-2007 à 16:08:17  
 

Bonjour j'ai un souci  
je doit créer un script qui cré un utilisateur UNIX de maniere simple en respectant les contraintes exposé au fur a mesure des question ci-dessous. IL EST INTERDIT D'APPELER LA COMMANDE USERADD. le fichier /etc/passwd doit etre rempli par le script  
cree_user.sh [-p password] <user>  
/etc/passwd : login:x:UID:GID:commentaire:homedir:shell  
/etc/group: login:!:GID:  
 
Question 1  
Gérez les parametres passés au script(S#,$1,etc).Ne proposez pas de saisie,ne placez pas ces valeurs a l'avance dans les variables. En cas de présence d'un seul paramètre c'est forcement le nom d'utilisateur a créer, le placer dans une variable appelée <<NUSER>>. S'il y a trois parametres alors celui situé apres le -p(pour password) est le mot de passe de l'utilisateur, le placer dans une variable PASSWD. Le -p peut etre placé en premier mais aussi apres le nom de l'utilisateur autrement dit l'ordre des parametres n'a pas d'importance  
 
Question 2  
Modifiez ou ajouter la gestion des erreurs au bloc précedent : le script quitte avec une erreur si le nom d'utilisateur n'est pas precisé. Si le mot de passe est absent il es fixé par défaut a password  
 
Question 3  
un nom d'utilisateur ne doit pas depasser huit caractere. Si le nom depasse 8 caractere quittez avec une erreur.  
 
Question 4  
Verifiez si l'utilisateur existe deja (presence dans /etc/passwd)  
 
Question 5  
Calculez un UID pour l'utilisateur. Trouvez l'UID le plus élevé dans /etc/passwd et lui ajouter 1. Placer cette valeur dans une variable <<NUID>>. Exclure la recherche de l'utilisateur nobody qui a souvent l'UID le plus elevé.  
 
Question 6  
Le groupe par défaut de l'utilisateur sera <<Users>>. Il existe déjà. placé le GID du groupe <<Users>> dans une variable <<NGID>>.  
 
Question 7  
Construisez dans une variable <<LIGNE>> la ligne qui sera ajoutée a /etc/passwd. Le shell utiliser est <</bin/bash>>. Le repertoire personnel /home/$NUSER. Le commentaire <<Utilisateur $NUSER>> et le mot de passe reste a << x >>. Ajouter cette ligne a la fin du fichier /etc/passwd. Pour mettre a jour automatiquement le fichier /etc/shadow lancez ensuite la commande << pwconv>>  
 
Question 8  
créez le mot de passe de l'utilisateur : utiliser la commande <<passwd>>, en lisant son manuel et notamment le parametre <<--stdin>>. Aucune question ne doit etre posée.  
 
Question 9  
Créer enfin le repertoire personnel de l'utilisateur /home/$NUSER. Deux cas peuvent se présenter; Si le repertoire existe deja changer le proprietaire de ce repertoire et de tout son contenu pour qu'il appartienne a l'utilisateur et au groupe <<users>>. S'il n'existe pas créé le recopiez tous les fichiers contenus dans /etc/skel dedans et changer le proprietaire et le groupe de l'ensemble.  
 
 
Je me rends bien compte que ce travail est longt et contraignant mais croyez moi que si je me permet de poster sur le forum c'est que linux j'en ai fait une fois et je suis totalement incapable de faire ce script et il compte pour un projet.  
 
Meme si vous ne pouvez pas m'aider a tout faire et que vous savez faire une des questions faites le je vous en serais reconnaissant car la je suis vraiment plus profond que terre.  
 
Merci d'avance en tout cas.  
Cordialement

mood
Pub
Posté le 20-05-2007 à 16:08:17  
 

n°21425
peyo22
kill da sms :o
Profil : Dinosaure
Posté le 20-05-2007 à 17:10:09  
 

bonjour,
regarde du cote de grep, sed, echo et des redirections (>, >> ) et des &&
 
apres, tout est donne dans les questions pour realiser le script...
$# c'est le nombre d'arguments passes
$1 c'est l'argument 1 et ainsi de suite...
les variable se declarent sous la forme suivante :  
plop=1
et "echo $plop" renverra "1\n" ou \n est un retour a la ligne.
 
bref, tout est donne


---------------
"Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root."
Installer et configurer son IPCop
n°21426
el_heinze
Profil : Membre
Posté le 20-05-2007 à 17:43:50  
 

Je te remercie pour ta réponse mais quand tu dis tout est donné, sa a l'air d'etre intuitif mais nous avons passer une année avec un seul cours de linux donc franchement j'ai aucune base et la le prof nous donne sa a faire on connait rien donc je vais voir avec ce que tu m'a donné c'est un bon début mais bon.
 
Si d'autres peuvent donner d'autre réponse je lui en serait reconnaissant.

n°21427
peyo22
kill da sms :o
Profil : Dinosaure
Posté le 20-05-2007 à 23:43:28  
 

alors deja, un script shell commence de cette facon :

Code :
  1. #! /bin/sh


puis tu mets des commandes comme si tu les tappais a la main...
les conditions s'effectuent a coup de if, mais tu as des

Code :
  1. if ( condition )
  2. commande
  3. endif

et des

Code :
  1. if [ condition ]; then
  2. commande
  3. fi
 

apres une recherche google avec comme mots cles 'tests shell scripting' ou 'shell scriipting howto' et similaires ca peut t'aider

 

Pour afficher le contenu d'un fichier, tu fais ca avec 'cat', les double redirections '>>' permettent d'ecrire a la suite:

Code :
  1. cat plop | grep test1 | sed 's/\ /:/g' >> output


qui va afficher le contenu du fichier 'plop' du repertoire courant, puis la sortie va etre traitee de maniere a afficher que les lignes contenant le mot 'test1', puis sed va remplacer parmi ces llignes contenant 'test1', chaque espace signale dans la commande sed par '\ ' (note \ et espace) sera remplace par ':' et la sortie sera ecrite dans le fichier nomme 'output' a la suite d'un eventuel contenu.
exemple:

Citation :

$ cat plop
plop test1 213ff:/d
grelot greu toussa
lerestest111 huhu
ahah lol
test1
test
1
plop2

 
Citation :

$ cat plop | grep test1
plop test1 213ff:/d
lerestest111 huhu
test1

 
Citation :

$ cat plop | grep test1 | sed 's/\ /:/g'
plop:test1:213ff:/d
lerestest111:huhu
test1

 

a quelques erreurs pres ;)


Message édité par peyo22 le 20-05-2007 à 23:46:09

---------------
"Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root."
Installer et configurer son IPCop
n°21428
peyo22
kill da sms :o
Profil : Dinosaure
Posté le 20-05-2007 à 23:45:48  
 

regarde sur ce site :
http://www.freeos.com/guides/lsst/
 
ai tout appris la bas et surtout exhaustif ;)


---------------
"Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root."
Installer et configurer son IPCop
n°21431
Profil sup​primé
Posté le 25-05-2007 à 17:29:55  
 

C'est bien entendu de la veille pour le lendemain qu'il faut se soucier de s'atteler à un sujet qu'on ne connait pas   :D

n°21447
RSsnd6tmKP
De l'autre côté du miroir...
Profil : Vieux de la vieille
Posté le 05-06-2007 à 18:39:56  
 

Je plussote, c'est tout à fait approprié ...
 


---------------
"But I don't want to go among mad people," Alice remarked.  
"Oh, you can't help that," said the Cat: "we're all mad here. I'm mad. You're mad."  
"How do you know I'm mad?" said Alice.  
"You must be," said the Cat, "or you wouldn't have come here."
  FORUM Rue-Montgallet.com
  OS alternatifs
  Linux

  script a rendre demain et j'y arrive pas

© 2000-2024 Forum.rue-montgallet.com - Tous droits réservés