Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3039 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  script de création de user

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script de création de user

n°138592
ZuL
Posté le 12-08-2002 à 18:44:56  profilanswer
 

b'jour les gens...
j'suis une grosse tanche en scripts et je dois faire rapidement (pour mercredi) un script qui va :  
prendre login + mot de passe en parametres
va créer le user correspondant et lui attribuer le mot de passe
et tout ceci a partir d'un compte non privilégié (apache --> nobody)
 
pour l'instant je m'en foos de la sécurité --> serveur de developpement, j'aurais le temps, + tard, de chercher une meilleure solution.
 
si qqul pouvait m'aider  :cry:  
 
 
merci d'avance  :hello:

mood
Publicité
Posté le 12-08-2002 à 18:44:56  profilanswer
 

n°138615
superX
Posté le 12-08-2002 à 18:57:29  profilanswer
 

dans un meme groupe ?  
avec ou sans shell ?

n°138625
ZuL
Posté le 12-08-2002 à 19:01:43  profilanswer
 

tous les utilisateurs iront ds le groupe maildrop
sans shell

n°138627
superX
Posté le 12-08-2002 à 19:02:42  profilanswer
 

on va supposer qu'ils sont dans le groupe groupie  
 
# $1 sera le nom et $2 le pass
 
adduser -g groupie -s /bin/false -p `perl -e 'crypt($2,'AB';)'`  $1
 
par contre c'est pas une super idée de faire un script qui va ajouter des entrées dans /etc/password. Il faudrait le setuid (chmod +s  `which useradd` ) et n'importe quel user pourra creer d'autres users :/   ou alors avec sudo mais je connais pas bien la facon de le configurer


Message édité par superX le 12-08-2002 à 19:03:00
n°138629
superX
Posté le 12-08-2002 à 19:04:10  profilanswer
 

perl -e tralala car il faut fournir un pass crypté . Je me suis inspiré de ce topic :  
http://forum.hardware.fr/forum2.ph [...] h=&subcat=
 
 

n°138631
ZuL
Posté le 12-08-2002 à 19:04:32  profilanswer
 

superX a écrit a écrit :

on va supposer qu'ils sont dans le groupe groupie  
 
# $1 sera le nom et $2 le pass
 
adduser -g groupie -s /bin/false -p `perl -e 'crypt($2,'AB';)'`  $1
 
par contre c'est pas une super idée de faire un script qui va ajouter des entrées dans /etc/password. Il faudrait le setuid (chmod +s  `which useradd` ) et n'importe quel user pourra creer d'autres users :/   ou alors avec sudo mais je connais pas bien la facon de le configurer




 
 
ouais mais la mon user apache non privilégié aura pas le droit de l'executer ce script nan ? (adduser --> faut etre en root nan ? )

n°138633
superX
Posté le 12-08-2002 à 19:05:25  profilanswer
 

relis ma derniere phrase

n°138634
superX
Posté le 12-08-2002 à 19:05:59  profilanswer
 

ou tu setuid useradd , ou t'utilises sudo. je vois pas d'autres solutions

n°138637
ZuL
Posté le 12-08-2002 à 19:06:35  profilanswer
 

superX a écrit a écrit :

relis ma derniere phrase




 
ouip...je vais explorer la voie de sudo
 
merci:)
 
si d'autres ont des idées ?
 
(j'ai installé sudo mais y me demande un mot de passe pour l'utiliser et c'est pas le mdp root )

n°138640
ZuL
Posté le 12-08-2002 à 19:07:09  profilanswer
 

superX a écrit a écrit :

ou tu setuid useradd , ou t'utilises sudo. je vois pas d'autres solutions




 
ca me tente bien setuid useradd
ca marche comment ?
 
je rentre chez moi, je check les réponses ds 20 minutes ;)

mood
Publicité
Posté le 12-08-2002 à 19:07:09  profilanswer
 

n°138644
superX
Posté le 12-08-2002 à 19:09:44  profilanswer
 

chmod +s `which useradd`   (c'est des backquotes , pas des guillemets)

n°138659
superX
Posté le 12-08-2002 à 19:28:09  profilanswer
 

avec sudo , dans /etc/sudoers , tu met ça

Code :
  1. nobody <ton hostname>=NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel


nobody , de la machine <ton hostname> , peut executer en root useradd et userdel et uniquement eux et sans demander de mot de passe
 
mais pourquoi tu veux lancer ça depuis nobody (ce qui est une tres mauvaise idée) ?


Message édité par superX le 12-08-2002 à 19:37:16
n°138666
superX
Posté le 12-08-2002 à 19:35:16  profilanswer
 

ensuite tu lances un  
 
sudo /usr/sbin/useradd -g etc...etc.....

n°138702
superX
Posté le 12-08-2002 à 20:02:23  profilanswer
 

bon , tu me tiendras au courant  
 
la solution a tes exigences serait :
 
- modifier /etc/sudoers comme expliqué plus haut
- le script :  
 
useradd.sh
 
 
#!/bin/sh
 
sudo /usr/sbin/useradd -g maildrop -s /bin/false -p `perl -e 'crypt($2,'AB';)' ` $1
 
et tu l'appelles comme suit :  
./useradd.sh toto lepassatoto
 
attention aux backquotes (`) et aux apostrophes (';) . Perl est encadré par des backquotes mais le crypt par des guillemets.  
La dessus , ca devrait tourner comme sur des roulettes

n°138703
ZuL
Posté le 12-08-2002 à 20:02:30  profilanswer
 

mirci beaucoup ;)
je tente tout ca demain  :hello:

n°138704
superX
Posté le 12-08-2002 à 20:03:12  profilanswer
 

oops , à 7 secondes près ;)

n°139030
ZuL
Posté le 13-08-2002 à 12:42:43  profilanswer
 

superX a écrit a écrit :

avec sudo , dans /etc/sudoers , tu met ça

Code :
  1. nobody <ton hostname>=NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel


nobody , de la machine <ton hostname> , peut executer en root useradd et userdel et uniquement eux et sans demander de mot de passe
 
mais pourquoi tu veux lancer ça depuis nobody (ce qui est une tres mauvaise idée) ?




 
 
beh parce que apache est membre du groupe nobody...et quand un gars s'inscrit sur le site, je lui crée son carnet d'adresses, son planning etc...et sa mailbox...et pour ca j'ai besoin, pour que ca tourne avec postfix, de l'ajouter ds le groupe maildrop.
je sais que c'est pas une bonne idée mais j'aurai le temps, plus tard, de trouver une meilleure solution ;)

n°139217
ZuL
Posté le 13-08-2002 à 17:53:24  profilanswer
 

superX a écrit a écrit :

bon , tu me tiendras au courant  
 
la solution a tes exigences serait :
 
- modifier /etc/sudoers comme expliqué plus haut
- le script :  
 
useradd.sh
 
 
#!/bin/sh
 
sudo /usr/sbin/useradd -g maildrop -s /bin/false -p `perl -e 'crypt($2,'AB';)' ` $1
 
et tu l'appelles comme suit :  
./useradd.sh toto lepassatoto
 
attention aux backquotes (`) et aux apostrophes (';) . Perl est encadré par des backquotes mais le crypt par des guillemets.  
La dessus , ca devrait tourner comme sur des roulettes  




 
 
mon user houga membre du groupe nobody ne peut pas executer le script (permission denied) alors que nobody est le proprietaire du repertoire :(
comment que j'fais ?

n°139223
ZuL
Posté le 13-08-2002 à 18:07:56  profilanswer
 

j'capte plus la
 
 
mon script :  
 
 

Code :
  1. #!/bin/sh
  2. /usr/sbin/adduser -group maildrop -home /home/$1 -shell /bin/false -p `perl -e 'crypt($2,'AB')' ` $1


 
si qqun capte...
 

Code :
  1. %su
  2. Password:
  3. You have mail.
  4. www# ls -la
  5. total 4
  6. drwxr-xr-x   2 nobody  wheel  512 Aug 13 18:14 .
  7. drwxr-xr-x  13 root    wheel  512 Aug 13 17:35 ..
  8. -rwxr--r--   1 root    wheel  129 Aug 13 16:07 creer_user.sh
  9. -rwxr--r--   1 nobody  wheel   76 Aug 13 15:49 test.php
  10. www# /www/Nomadesk/modules/users/ ./creer_user.sh
  11. /www/Nomadesk/modules/users/: Permission denied.
  12. www#

n°139241
ZuL
Posté le 13-08-2002 à 18:31:33  profilanswer
 

ah oui.....j'ai pas la commande useradd
par contre j'ai adduser
mais je peux visiblement pas lui passer de mot de passe

n°139257
superX
Posté le 13-08-2002 à 18:59:50  profilanswer
 

adduser , useradd , c'est kifkif pareil.
 
t'as mis quoi dans ton /etc/sudoers ?  

n°139259
superX
Posté le 13-08-2002 à 19:02:02  profilanswer
 

et t'as pas utilisé sudo ?  
 
et root.wheel n'a surement pas les meme privileges que root.root  
 
 

n°139287
asphro
Posté le 13-08-2002 à 20:27:35  profilanswer
 

pourkoi tu gere pas t user qui utilise le mail avec un annuaire de style ldap  
et avec courrier-imap qui gere le ldap
 
ce qui te permettrais d ajouter des user facilement via php ;)

n°139495
ZuL
Posté le 14-08-2002 à 09:27:17  profilanswer
 

asphro a écrit a écrit :

pourkoi tu gere pas t user qui utilise le mail avec un annuaire de style ldap  
et avec courrier-imap qui gere le ldap
 
ce qui te permettrais d ajouter des user facilement via php ;)




 
j'peux installer un Ldap avec uw-imapd ?

n°139502
ZuL
Posté le 14-08-2002 à 10:24:58  profilanswer
 

bon l'execution de scripts marche toot nikel
meme sous nobody
et le systeme essaie d'ajouter le user
 

Code :
  1. ./script.sh
  2. usage: adduser
  3.     [-check_only]
  4.     [-class login_class]
  5.     [-config_create]
  6.     [-dotdir dotdir]
  7.     [-group login_group]
  8.     [-h|-help]
  9.     [-home home]
  10.     [-message message_file]
  11.     [-noconfig]
  12.     [-shell shell]
  13.     [-s|-silent|-q|-quiet]
  14.     [-uid uid_start]
  15.     [-v|-verbose]
  16. home=/home/ shell=/bin/false dotdir=/usr/share/skel login_group=maildrop
  17. login_class= message_file=no uid_start=1000


 
grosso modo ma commande ne veut pas de parametre password....ptain...comment que je peux faire soit pour qu'elle en prenne un (de password - quitte a changer la commande) soit pour pouvoir en rajouter un ultérieurement (méthode que je préfère puisque ca me permettra plus tard de mettre en place pour les users la possibilité de changer leur mot de passe (mdp boite mail y compris))
une idée ?
 
edit : la commande adduser me demande un mot de passe...je peux faire un script qui va lui passer quand y va detecter le prompt de demande de passsword ?


Message édité par ZuL le 14-08-2002 à 10:26:58
n°139555
asphro
Posté le 14-08-2002 à 13:01:03  profilanswer
 

zul a écrit a écrit :

 
 
j'peux installer un Ldap avec uw-imapd ?




 
rien vu a propos de ldap avec uw-imapd
 
mais avec modules pam et ldap ca doit etre possible

n°139591
ZuL
Posté le 14-08-2002 à 14:54:30  profilanswer
 

bon j'ai résolu le problemme...meme si foncierement c'est pas sécurisé au niveau du script, si le serveur l'est correctement et que je fais les checks necessaires en php ca devrait pas poser de probleme :
 
 

Code :
  1. #!/bin/sh
  2. sudo pw useradd $1 -g maildrop -d /home/$1
  3. sudo chpass -p `perl -e 'print(crypt($2,'Az'))'` $1


Message édité par ZuL le 14-08-2002 à 14:54:40
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  script de création de user

 

Sujets relatifs
[SCRIPT] surveiller un modem ? [CONNECTE OUI/NON]------->[resolu] merc[backup on CDRW dans script] 2 graveurs[MERCI]Albator
pb masquerade avec script monmotha[MySQL] Comment empêcher un user de lister toutes les bases ?
comment mettre mon script pour lancer l adsl au demarage du pc??[idee mail] depuis un script envoyer un mail local ? [RESOLU] merci
Petit Script Iptable qui ne fonctionne pasPetit Pb de script bash pour lancer un programme au demarage
Probleme de scriptscript de reconection
Plus de sujets relatifs à : script de création de user


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR